From: Ben Hutchings <ben-/+tVBieCtBitmTQ+vhA3Yw@public.gmane.org>
To: debian-kernel-0aAXYlwwYIJuHlm7Suoebg@public.gmane.org
Cc: debian-devel-0aAXYlwwYIJuHlm7Suoebg@public.gmane.org,
Stephen Powell
<zlinuxman-vw3iM7VyRdbQT0dZR+AlfA@public.gmane.org>,
initramfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: [RFC] Updating boot loaders in lenny and squeeze
Date: Sat, 19 Jun 2010 03:55:38 +0100 [thread overview]
Message-ID: <1276916138.14011.869.camel@localhost> (raw)
[-- Attachment #1: Type: text/plain, Size: 2584 bytes --]
Stephen Powell recently reminded the kernel team that LILO is not
automatically updated on installation of a new kernel version in lenny.
In fact there is a general problem that there are several different ways
a boot loader may be updated automatically and currently no guarantee
that this does happen whenever it should.
There are two major cases where a boot loader should be updated
automatically:
1. Where the boot loader relies on block lists rather than reading the
filesystem, these block lists need to be updated whenever a kernel image
or an initramfs is updated or removed.
2. Where the boot loader allows selection between arbitrarily many
installed versions, the configuration should be updated whenever a
kernel package is newly installed or removed.
There are several ways such updates may be triggered:
A. Packages built with older versions of kernel-package, including the
official kernel packages in etch, run a platform-specific default boot
loader if it is installed and if it falls into case 1 above.
B. The maintainer scripts of kernel packages invoke hook scripts
installed in appropriate subdirectories under /etc/kernel/.
C. The maintainer scripts of kernel packages invoke hook commands
specified in /etc/kernel-img.conf.
D. "update-initramfs -u" will run certain boot loader update programs if
installed.
In lenny, route A was effectively disabled in official kernel packages.
However, no boot loader uses route B and debian-installer enables route
C only for GRUB (as far as I know). Disabling route A in lenny was
clearly premature and I intend to restore it in a stable update.
However, given that route B is present in both lenny and squeeze (and
even in etch, I think) there is no good reason for packages not to rely
on it now. (Well, except lack of documentation.) All boot loader
packages that fall into case 1 or 2 should be installing hook scripts,
but currently only extlinux does. I intend to remove the vestigial code
for route A, and file bugs on all boot loaders in case 1 or 2 that do
not use route B.
In case 1, the boot loader should also be called by update-initramfs
when it is called outside of kernel package installation and removal.
This is normally covered by route D, but this seems a little fragile. I
would prefer to replace this with a hook system (as already exists for
building the initramfs itself), but I'm not that involved in
initramfs-tools development.
Ben.
--
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]
next reply other threads:[~2010-06-19 2:55 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-19 2:55 Ben Hutchings [this message]
2010-06-19 9:37 ` [RFC] Updating boot loaders in lenny and squeeze Joachim Wiedorn
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1276916138.14011.869.camel@localhost \
--to=ben-/+tvbiectbitmtq+vha3yw@public.gmane.org \
--cc=debian-devel-0aAXYlwwYIJuHlm7Suoebg@public.gmane.org \
--cc=debian-kernel-0aAXYlwwYIJuHlm7Suoebg@public.gmane.org \
--cc=initramfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=zlinuxman-vw3iM7VyRdbQT0dZR+AlfA@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.