CdBootloader

Revision 15 as of 2005-12-14 11:18:32

Clear message

Summary

Make the i386/amd64 CD boot loader more user-friendly.

Rationale

The current i386/amd64 CD boot loader (isolinux) and configuration are not very user-friendly. Prompts can only be displayed in one language, and responses must be typed in by the user.

We should evaluate available options for replacements, and ways to simplify the process for the user, including:

  • Displaying a countdown and automatically continuing after a timeout
  • Allowing language selection from the boot loader
  • Localized help

GRUB has been suggested before as a possible replacement boot loader, but this approach was tried in the Warty live CD where we observed significant regressions in bootability versus the ISOLINUX-using install CD. We feel that sticking with solutions based on ISOLINUX is the most appropriate approach for a long-term-supported release.

Use cases

  • A user wants to put the live CD into her computer, go away without pressing any keys and make a cup of coffee, and have the live CD be ready for use when she returns.
  • Once the live CD has been [:SimplifiedLiveCD:simplified to ask no questions], a Japanese user still wants to ask the live CD to display messages in Japanese.

  • A German user cannot boot his laptop with the default boot options, and wants to read help text in German at the boot prompt to find out what special options are available.

Scope

This specification only considers improvements that can be made to the i386/amd64 boot loader. The powerpc boot loader (yaboot), and boot loaders for ports architectures, are out of scope since third-party work is not believed to be available there to integrate.

Design

gfxboot

We will incorporate gfxboot from SuSE ([http://kanotix.com/files/debian/pool/main/g/gfxboot/ package available]) and the [http://ftp.opensuse.org/pub/opensuse/distribution/SL-OSS-factory/inst-source/suse/src/syslinux-2.11-16.src.rpm corresponding syslinux patch] as above very early in the dapper cycle. SuSE's syslinux patch will need to be reduced to just the necessary parts. Fabianx has an [http://debian.tu-bs.de/knoppix/experiments/gfxboot/suse-knoppix.diff additional patch] to add fallback to text mode on failure, which we will also integrate.

As a modification to this patch, we will investigate the possibility of disabling the use of a VESA framebuffer by default, and rely on a VGA framebuffer for graphical display. While VGA only provides 16 colours, VESA is difficult to support on many video cards and can corrupt video memory to the point where you have to reboot and disable VESA to recover. We will find a few machines as early as possible in the cycle that cannot handle VESA (laptops are good candidates) and test the ISO image at http://debian.tu-bs.de/knoppix/experiments/gfxboot/ with them to see whether Fabianx's fallback code works. If it does, then we can skip this modification.

To support gfxboot, we will move all boot text from the debian-installer package to either debian-cd or some other package in the distribution, and add .pot files so that we can use Rosetta for translations. gfxboot uses a UTF-8 font on the framebuffer so we can even support non-Latin languages.

Viper550:

attachment:gfxboot_v550.gif

This is my mockup of what you had in mind (note, the fonts don't match up, but they will on the real thing).

  • Thanks for the suggestions, although I haven't used this in what I just uploaded, partly because I wanted to keep the background mostly black so that it isn't too obvious when the usable screen size doesn't match the physical monitor size very well, and partly because I wanted to reuse the usplash artwork. I think what I've got now actually looks nicer, but I'm more than willing to take contributions from folks with more artistic ability than I, within the required constraints. -- ColinWatson

CD timeout

Our CD timeout was removed due to [http://bugzilla.ubuntu.com/show_bug.cgi?id=1290 bug #1290], but it was a bug that the timeout kicked in even after pressing a key; this bug has apparently been fixed. We will restore the timeout and set it to 30 seconds rather than the previous 10.

Implementation status

  • ColinWatson 2005-11-23: colin.watson@canonical.com--2005/debian-cd--ubuntu--0--patch-227 sets the CD timeout to 30 seconds. syslinux 3.11-2ubuntu1 uploaded (no gfxboot patch yet).

  • ColinWatson 2005-12-07: gfxboot-patched syslinux uploaded, together with gfxboot itself. Now all we need to do is write a decent theme and put it somewhere appropriate, then test it lots.

  • ColinWatson 2005-12-12: gfxboot-theme-ubuntu uploaded. Some deployment work remains. Keymap selection support is still inadequate.

  • ColinWatson 2005-12-14: Deployed for Flight CD 2. (Still need keymap selection bits.)