Live CD Boot Questions
Created: 21/04/05 by MarkShuttleworth
This spec outlines a plan for changes in the "feel" of the Live CD boot process. In particular, we need to review and potentially improve on the boot experience, such as defaulting to specific language preferences.
Currently the Casper-based Live CD simulates a real install in some ways, in that it asks a number of questions about the language preferred and the location, as well as keyboard layout. This is very useful in that it does allow for people to use the Live CD in an "internationalized" fashion, but it also potentially creates a stuttering or jarring live cd boot. We need to consider just making assumptions for most people and using those unless specifically told to do otherwise.
Scope and Use Cases
Today: Ernie is new to Linux and wants to see what all the fuss about Ubuntu is about. He puts in the live CD and has to work his way through a series of text questions. It isn't always clear why the questions are being asked, and Ernie isn't sure why he has to answer all of them just to run a program from a CD. It is confusing, a little scary, so he turns off his computer and goes back to Windows.
In Breezy: Ernie is new to Linux and wants to see what all the fuss about Ubuntu is about. He puts in the live CD and is walked through an intuitive and sensible set of questions. It isn't entirely clear why the questions are being asked, but they make enough sense that Ernie's first Linux experience is encouraging, enticing and eventually leads him away from Windows.
Data Preservation and Migration
User Interface Analysis (plus improvements)
The 5.04 live CD currently asks the following questions:
1. "For the default live system, press enter". There are a couple of options, accessible via various help screens and typing a command line involving the '=' key.
- Most users won't know if they want anything other than the default live system or not; the "Enter" key is usually marked with an arrow, so inexperienced users might have a problem. The '=' key is Somewhere Else on non-US keyboards. We should add a short timeout (5 seconds) to this question.
2. "Choose a language": The menu lists many languages, both in English and natively.
- Menu selection is by arrow keys; there's no way to use the mouse or the alphabetic keyboard. If people do have significant problems with this, we could defer this question until the session manager starts; see below.
3. "Choose your location". The default is based on the most common location for the chosen language; a short menu offers some more locations (locale-based). There's an additional menu choice for the full list of countries in a large menu (one alphabetic sub-list per continent).
- On a Live CD, there is some doubt as to whether this question is appropriate.
4. "Your keyboard is" - the default is based on which country you are in. If it's not correct, you can choose from a list or do the typing test.
- The default is fine in most cases. Selecting a different keyboard, if necessary, can be deferred until X has started up. In addition, many X keyboards are not shown in this dialog, as it's still very console-centric and there do not exist any console keymaps for many keyboard mappings. The Gnome keyboard selection dialog is unnecessarily intimidating for most people. A simpler dialog which just displays a list of possible layouts and the corresponding key caps is sufficient.
5. The entire boot process is pretty slow for user expectations of a reasonable boot time.
(This problem is considered in a different BOF: LiveCDPerformance.)
A. When at the desktop, open a window which says "system defaults have been set to X timezone and Y keyboard." and an appropriate "If incorrect, click [here] to change" button after each entry.
B. With some changes to GDM, we could defer asking for the language until the session manager is starting the user session. This would involve removing autologin from Casper and having a new window appear before entering the desktop itself. However, the advantage would be that this would be a nice looking window, the appropriate language could be chosen via the language selector that is already accessible in the normal GDM screen. As GDM is used for session startup in any case, this would not affect the free space we have on the CD.
C. grub/gfxboot was investigated. However, these do not provide a scrolling menu. At boot time, resolution is severely limited, and the list of languages we support would be multi-column and perhaps not even fit on one screen. This would force our users to find a submenu whose title is in a language they may not understand. Therefore, this idea is rejected.
UDU BOF Agenda
- One way to partially address this issue would be to have an internationalized menu available, so that the user can select their language at the very beginning. GRUB provides this, but we moved away from it because it boots on fewer systems than isolinux (which has no menu)
- Selecting the keymap is still a problem. Can we get away with assuming a US layout?
- gfxboot may be suitable for providing a boot-time menu without sacrificing portability. We currently use isolinux, rather than grub (which has a menu), because it works on more hardware.