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

Proposal: make kernel install easier


Installing a new kernel package can be a bit of a pain, especially for
newbies, what with hand-editing lilo.conf or config files for other
bootloaders, from grub to yaboot/quik, aboot, palo, you name it.  Yes,
the kernel-image postinst runs lilo, but lilo.conf is invariably out of
date, so this is relatively useless except for upgrades.

So why not (optionally) automate the process a bit?  Use a directory
e.g. /usr/lib/bootloaders/ to put scripts for managing the .conf files
and running the bootloaders.

For example, quik could have debconf questions: "Manage quik.conf using
debconf?" and "Install new kernels automatically?" and perhaps "Global
kernel option defaults" (though perhaps this would be better outside of
each individual bootloader).  Then each kernel package would have a low-
to med-priority debconf question asking with what options to boot the
kernel starting from global defaults.  It could also ask whether to make
this image top priority in the .conf, and what name string to use for
this image.  Also, quik could Provide virtual package bootloader which
kernel-image packages could Suggest.

[A really fancy bootloader could also use debconf to prompt for info
about other OSes on other partitions for its .conf, e.g. "bye" for MacOS
in quik...]

The kernel-image's postinst would run all of the scripts in
/usr/lib/bootloaders/ with arguments like --add-index-entry --name
"2.4.20-2-powermac" --kernel /boot/vmlinuz-2.4.20-2-powermac --initrd
/boot/initrd.img-2.4.20-2-powermac (or --noinitrd) --boot-options
"root=/dev/hdb6 video=offb" --top-boot-priority .  If quik's "Manage
quik.conf automatically" answer is no, then /usr/lib/boot-loaders/quik
with these options does nothing.

Then the kernel-image's postinst runs the scripts with something like
--make-bootable and /usr/lib/bootloaders/quik goes off and makes the
first and second boot blocks, does its open firmware thing etc., and
reports back success (or not).  Again, if quik's "Install new kernels
automatically" answer is no, this does nothing.

The kernel prerms (or postrms?) would also have to run the scripts with
--remove-index-entry --name 2.4.20-2-powermac and again with
--make-bootable in order to clean up safely.

The only trouble I can think of is what to do with already-installed
kernels which don't have such postinst/prerm options.  The .conf files
can be generated automatically, but when a kernel is removed, they're
not cleaned up.  Any "/usr/lib/bootloaders/quik --regenerate-index" type
thing would have to be run manually on each kernel removal, though a
debconf info thing in the new quik package could let users know this.

Also, on Alphas running ARC/AlphaBIOS, Netwinders, etc. there would
still be manual configuration to do during the boot process, so this
wouldn't cure everybody's ills.

Aside from these bits of trouble, such a system would make a lot easier
the process of installing and removing what are now some of the most
annoying packages to deal with (for me at least), particularly given
quirks on different arches.

If there's interest (and no show-stoppers anyone can think of), I'll
start writing patches to kernel-package, lilo, maybe even quik :-) --
that is, unless someone else wants to, e.g. their maintainers.

[Please CC me in replies as I'm not subscribed.  And apologies if this
has been brought up before; searches on lists.debian.org didn't turn up

-Adam P.

GPG fingerprint: D54D 1AEE B11C CE9B A02B  C5DD 526F 01E8 564E E4B6

Welcome to the best software in the world today cafe!

Reply to: