CdBootloader

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 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 (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 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 make the boot text in the debian-installer package translatable, adding .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.

User interface mockups

Viper550:

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

gfxboot1.gif Then after the selection gfxboot2.gif

Okay, this one looks more friendlier, something about the theme didn't look right, so here is a better design option. I also on the progress screen removed the word "kernel" because it might scare users with cryptic info. Also, that first mockup wasn't bad artistic ability, it was a mod to the SUSE 9.2 boot menu --Viper550

p.s. http://people.ubuntu.com/~cjwatson/gfxboot/weird.png >LOL LOL LOL ROFL!!!!! Well, with a few mods that would look good, make the BG all black, change "SUSE Linux" into Ubuntu, then replace the gecko with an Ubuntu device and it would look good...just kidding, we'd never do that (well, it's proof that SUSE made it).

CD timeout

Our CD timeout was removed due to 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.

Accessibility

The Other Options menu should contain an accessibility sub-menu with 6 choices: v1-v3 for visual impairments and m1-m3 for motor impairments. These options would install and launch certain assistive technologies (high-viz cthemes, gnopernicus, GOK, etc.) See UbuntuExpress/Accessibility for details.

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.)

  • ColinWatson 2006-01-20: Keymap selection added in gfxboot-theme-ubuntu 0.1.8.

  • ColinWatson 2006-02-07: Accessibility options added (implementation of these options is up to casper or similar). Localised help written. I consider this specification implemented now.


CategorySpec

CdBootloader (last edited 2008-08-06 16:32:14 by localhost)