seg at haxxed.com
Mon Mar 10 19:23:53 UTC 2008
On Mon, 2008-03-10 at 01:22 -0700, Andrew Farris wrote:
> In any case, the try-catch mechanism is in place by keeping the prior kernel
> installed, and if it fails you choose the next one in the list next time. It is
> not possible to try a kernel until its been booted, and when it does boot if the
> kernel itself misbehaves it is not possible to do anything automatic because the
> kernel has failed to do what it should do...
It's easy. It's much like the dirty flag on filesystems. GRUB writes a
flag somewhere on disk, that indicates "Attempting to boot kernel
2.6.XXXXX". Then somewhere in the early userspace init scripts, you
change the flag to "Finished booting kernel 2.6.XXXX". The next time
grub starts up, it sees this flag and it now knows that that particular
kernel at least made it to userspace, which is a pretty good indication
it's not completely b0rked. If GRUB starts up and sees a "Attempting
boot" flag still remaining, then that's an indication that that kernel
failed to boot.
And I know this idea has come up before... Is this on anyone's to-do
GRUB needs to be smarter. In the old days, unix machines had a monitor
firmware, the kernel never directly restarted the machine, it just
returned control to the firmware... "halt" used to mean something.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.fedoraproject.org/pipermail/devel/attachments/20080310/d984c0e4/attachment-0002.bin
More information about the devel