Improving the Fedora boot experience

Nils Philippsen nils at redhat.com
Wed Mar 13 13:29:34 UTC 2013


On Tue, 2013-03-12 at 15:47 +0100, Jan Dvořák wrote:
> As have already been mentioned before, POSTing server takes so long
> that GRUB delay is hardly noticeable.  But what is worse, if you miss
> the kernel selection dialog on a server, you look at UP TO FIVE MORE
> MINUTES of waiting for the damn thing before you get another attempt.

IMO that one's actually solvable to an extent (in theory at least and
not always to a 100% correct but good enough):

The boot loader (GRUB2, gummiboot, ..., I don't care) stores the booted
OS (as in e.g. "Fedora $version", "Windows $version", ...) in a short
list (of say 2 ~ 5 items) and the timestamp of booting somewhere it can
read it. If being rebooted (as opposed to being shut down), the OS
(systemd probably but I don't really care) writes the current HW clock
timestamp very late in the reboot process somewhere else the boot loader
can read it.

A timeout is enabled or extended appropriately if:
- the user rebooted into different OSs in the last 2 ~ 5 times because
the user seems to want multi-booting, or if
- the time of previous boot is not long enough in the past because there
might be a problem with the boot attempt (give the user a chance to boot
something else, mess with the boot parameters, ...), or if
- the "time of shutdown before reboot" is older than a certain
threshold, because this indicates a BIOS with a very long POST (to help
users not miss the opportunity to influence what is booted and how)

Otherwise, no or a short timeout is used. I'm sure finding the best
thresholds, length of the list etc. needs some experimenting, but
besides that I don't see a glaring error with this idea. What do you
think?

Nils
-- 
Nils Philippsen      "Those who would give up Essential Liberty to purchase 
Red Hat               a little Temporary Safety, deserve neither Liberty
nils at redhat.com       nor Safety."  --  Benjamin Franklin, 1759
PGP fingerprint:      C4A8 9474 5C4C ADE3 2B8F  656D 47D8 9B65 6951 3011



More information about the devel mailing list