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

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



On Wed, 30 Jun 2010 09:29:42 -0400 (EDT), Stephen Powell wrote:
> 
> Since symlinks are not associated with any package in particular,
> and since they seem to have been designed for the convenience of
> historic boot loaders such as lilo and zipl, perhaps the best way
> to handle this is for the boot loader hook script, zz-whatever, to
> maintain the symlinks, if desired.
> 
> As a matter of fact, I already
> have a hook script on hand that does this very thing, and with minor
> modifications will do nicely, I think.  Right now, it unconditionally
> maintains the symlinks.  To generalize it more, it could determine
> if symlinks already exist or not, and if so where, then maintain
> them where they are.  If the symlinks don't exist, it won't create
> them.  It could also be changed to determine if lilo or zipl is
> in use, based on the presence of the config file, and invoke the
> appropriate boot loader.  Then, all the maintainer of the s390-tools
> package would have to do is to include it in the s390-tools package.
> And the maintainer of lilo could do the same.

OK, I now have some templates to shoot at.

/etc/kernel/postinst.d/zz-bootloader
http://www.wowway.com/~zlinuxman/kernel/postinst.d/zz-bootloader

/etc/kernel/postrm.d/zz-bootloader
http://www.wowway.com/~zlinuxman/kernel/postrm.d/zz-bootloader

These templates should work for both lilo and zipl, and they maintain
the symbolic links, if they already exist.  When doing an initial
install (Debian installer), (1) the initial kernel must be installed
first, then (2) the boot loader must be installed, then (3) the initial
symlinks must be created (if lilo or zipl), then (4) dpkg-reconfigure
or the boot loader installer (lilo or zipl) must be run.
(Steps 2 and 3 could optionally be reversed or combined.)

After that, the hook scripts will maintain the symbolic links as long
as there is at least one installed kernel at all times.  (Presumably
one will never purge the running kernel!)  In particular,
/etc/kernel-img.conf is not examined to see if "do_symlinks = yes"
is set.  If symlinks are present, they will be maintained.  If they
are not, they will not be created.
>
> ... [discussion of initramfs-tools issues ]
> Since you're obviously very busy, I will submit a version
> of the initramfs-tools script which I believe will address
> all these issues.  Then you can take pot shots at it.

These are included here:

/etc/kernel/postinst.d/initramfs-tools
http://www.wowway.com/~zlinuxman/kernel/postinst.d/initramfs-tools

/etc/kernel/postrm.d/initramfs-tools
http://www.wowway.com/~zlinuxman/kernel/postrm.d/initramfs-tools

For the boot loader hook to initramfs builders:

/etc/initramfs/post-update.d/bootloader
http://www.wowway.com/~zlinuxman/initramfs/post-update.d/bootloader

(This last interface is not currently functional, of course.)

How do they look?

-- 
  .''`.     Stephen Powell    
 : :'  :
 `. `'`
   `-


Reply to: