Launchpad Entry: server-pre-installation
We should look at the current installation design and remove any questions we can, add anything that we think is missing and have a firm grasp on our overall status.
- Compare our installation to the current ones by Red Hat and Novell SUSE (Microsoft Windows?)
- Examine whether our installation meets the common use cases (means specifying them in a specification)
- Change the installation to meet anything that we are currently missing or over-complicating
We know that the speed and simplicity of the installation process is key to providing a "Just Works" experience. We want to offer the best default configuration we can, and offer the ability to set up optional pieces (tasks), so we must balance these two areas. We firmly do not want a second stage after the installer has run. We should look at the current installation design and remove any questions we can, add anything that we think is missing and have a firm grasp on our overall status.
A number of specific changes were identified to streamline the installation process.
Reducing number of questions
Default the keyboard detection question to "no": if you inadvertently hit "yes" (the current default), you have to go through dozens of key presses. [done, console-setup 1.28ubuntu2]
Try to auto-detect the proxy details (remove question if not needed) (bug 209691). APT's timeout is rather long, and inconvenient in environments where a proxy is required.
At the moment, guided LVM partitioning always consumes almost the whole disk for /, which loses much of the flexibility of LVM; it is possible to control this, but only by using manual partitioning which is rather fiddly for LVM. As a middle ground, we will adjust the guided LVM partitioning mode to offer a straightforward way to select the amount of the volume group that should be allocated to logical volumes, indicating that this can easily be increased later. [done, partman-auto-lvm 32ubuntu2]
We will allow manual package selection, probably by fixing tasksel's "manual package selection" option (currently deactivated in Ubuntu) to work when tasksel is being run under cdebconf. This will probably require a cdebconf plugin in order to wrest control of the console from newt. [done, cdebconf-terminal 0.3 / tasksel 2.73ubuntu14]
We will implement a facility for help text in the installer. This will require a debconf protocol modification (or at least a cdebconf plugin), and will need to be proposed upstream in Debian.
We will offer an indication of password strength; it should be sufficient to complain about weak passwords rather than going to the effort of implementing an as-you-type check. (Kees and Colin need to discuss the backend implementation of this, cracklib vs. PAM vs. something else.) [simple length check done, user-setup 1.23ubuntu12]
We will attempt to offer the GTK frontend for d-i. Note, however, that since the directfb GDK backend is poorly maintained upstream and badly broken in Jaunty, this is at risk.
Better tools (web based) to generate preseed / kickstart files.
Use of Ubiquity?
- serial port support
- easier beautification?
- no LVM or RAID support
- Jaunty+1 at the *earliest*
- Evan thinks it's feasible, but Colin would know if there's any reason why we absolutely cannot.
- Would need LVM support, RAID support, etc.
- Would need to fall back to d-i if we cannot start a graphical session. We don't want a text frontend to ubiquity because that would create unnecessary layers.
Surely the core problems are that Ubiquity has absolutely no idea how to install a system by building it up from .deb packages, but only by copying a live filesystem; and that Ubiquity requires a live filesystem with an Ubuntu desktop in order to work, which is unlikely to fit on the server CD. --ColinWatson