[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [DRAFT] Policy for Linux kernel, initramfs, boot loader update process



Hello William,

perhaps you have read the recent email from Ben (see below). It would be
important to update the lilo package to support these recent requirements
to prepare LILO for Squeeze before it will get stable.

Do you have the intention to update the lilo package to integrate some
scripts for these recent requirements?

Have a nice day,

Joachim (Germany)

-----------------------------------------------------------------------

Ben Hutchings <ben@decadent.org.uk> wrote on 2010-06-28 03:02:

> I propose the following policy for squeeze and later releases.  This
> affects all Linux kernel, initramfs builder and boot loader packages,
> and the installer.
> 
> I regret that this is happening so late in the release cycle, but
> currently a kernel update can easily leave the system unbootable and
> this does need to be addressed before release and I want to do so in a
> way that is reasonably clean and maintainable.
> 
> ---
> 1. Packages for boot loaders that need to be updated whenever the files
> they load are modified (i.e. those that store a block list) must install
> hook scripts in /etc/kernel/postinst.d and /etc/kernel/postrm.d, which
> will be called on installation/upgrade and removal of kernel packages,
> respectively.
> 
> The arguments given to all kernel hook scripts are the kernel ABI
> version (the string that uname -r reports) and the absolute path to the
> kernel image.  The environment variable DEB_MAINT_PARAMS will contain
> the arguments given to the kernel maintainer script, single-quoted.
> 
> Since these boot loaders should be updated as the last step during
> installation/upgrade and removal, hook scripts for boot loaders must be
> named using the prefix 'zz-' and no other packages may use this prefix
> or one that sorts later by the rules used by run-parts.  A postrm hook
> script should warn but exit with code 0 if the boot loader configuration
> file still refers to the kernel image that has been removed.
> 
> 2. Packages for boot loaders that need to be updated whenever the files
> they load are modified must also install hook scripts in
> /etc/mkinitramfs/post-update.d.  Initramfs builders must call these
> scripts using run-parts after they create, update or delete an
> initramfs.  The arguments given to these hook scripts are the kernel ABI
> version and the absolute path to the initramfs image.
> 
> 3. Initramfs builders must complete their work before returning from the
> kernel postinst hook script.  [initramfs-tools currently uses a trigger
> to defer this because it can also be invoked twice, but this means it
> also has to know how to update specific boot loaders.]
> 
> 4. During a kernel package installation, upgrade or removal, various
> boot loader hooks may be invoked (in this order):
> 
> a. A postinst_hook or postrm_hook command set by the user or the
>    installer in /etc/kernel-img.conf
> b. A hook script in /etc/mkinitramfs/post-update.d
> c. A hook script in /etc/kernel/postinst.d or .../postrm.d
> 
> To avoid unnecessary updates, the hooks invoked at step a and b may
> check whether $DPKG_MAINTSCRIPT_PACKAGE begins with 'linux-image-' and
> do nothing in this case.  [Is this sensible or is it too 'clever'?]
> 
> 5. Kernel and initramfs builder packages must not invoke boot loaders
> except via hooks.  If /etc/kernel-img.conf contains an explicit
> 'do_bootloader = yes', kernel package maintainer scripts should warn
> that this is now ignored.
> 
> 6. The installer must not define do_bootloader, postinst_hook or
> postrm_hook in /etc/kernel-img.conf.
> ---
> 
> I'm particularly interested to hear whether there are any upgrade issues
> I have not addressed.
> 
> Ben.
> 

Attachment: signature.asc
Description: PGP signature


Reply to: