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(a)redhat.com nor Safety." -- Benjamin Franklin, 1759
PGP fingerprint: C4A8 9474 5C4C ADE3 2B8F 656D 47D8 9B65 6951 3011