Improving the Fedora boot experience
pjones at redhat.com
Tue Mar 12 15:10:27 UTC 2013
On Mon, Mar 11, 2013 at 12:58:05PM -0400, Matthias Clasen wrote:
> I would love to see F19 make a good first impression. The first time you see something Fedora-related on the screen currently is the graphical grub screen, followed by the filling-in-Fedora of Plymouth, followed by the gdm login screen. Grub in particular is problematic, with a starfield background that looks like a Fedora background from a few releases ago and a progress bar that indicates the progress in 'booting the bootloader'.
> There are also some issues on the login screen, with Fedora logo being at small-print size right now.
> I think a few simple changes we can make a big improvement to the visual experience for F19:
> - Turn off the graphical grub screen
> Even if we are not able to suppress the boot menu entirely, or having a clean boot menu like this: https://raw.github.com/gnome-design-team/gnome-mockups/master/system-lock-login-boot/bootmenu.png, avoiding the graphical screen will be a win in terms of reduced visual noise.
Honestly, I'd like to do this anyway - the grub2 gfxterm code seems to
cause nothing but bugs in later graphics setup. That said, I'd rather
go back to not having it at all, but with a different plan than last
The idea would be to have a positive indication from systemd that
we've gotten to some pre-defined point on the previous boot (say,
starting your login manager), and not to show you any menu unless the
previous boot didn't get that far. So when you install a new kernel,
the process would look like:
1) install kernel
2) set it to boot once with grub2-set-default
3) upon reboot, set it as default if and only if we get to the "success"
4) if we see a second boot happen without the success flag set, don't
set it default, and wait the normal 5 seconds for input
This has a number of advantages when booting on some systems.
On UEFI systems, which is most new desktops:
1) we don't need any grub UI whatsoever
2) we don't need the 5 second timeout
3) we don't need to indicate to the firmware that we need USB probed
unless it's the device we're booting from.
Together, these currently represent the majority of time from poweron to
login. On new desktop hardware, this would be a dramatically faster
boot experience. Note that getting to the system firmware menus or
switching kernels would have to be selected before reboot, except in the
case where the previous boot failed - in that case, we'd display the
menus, probe the keyboard, and wait the 5 seconds.
On BIOS machines I think we can still accomplish #1 and #2 as well, but
there's no guarantee of a way to disable firmware timeouts or "press f2
for setup" screens and loading the usb stack.
More information about the devel