BaseSystemConfiguration
Launchpad Entry: https://launchpad.net/distros/ubuntu/+spec/ubuntu-express-base-system
Created: Date(2005-10-31T18:12:31Z) by Fabianx
Contributors: Fabianx, ColinWatson, LaMontJones, StephanHermann, AndrewMitchell
Packages affected: ubuntu-express, apt-setup, keymapper, cdebconf, kbd-chooser
Summary
The Ubuntu Express Installer needs to configure the base system, to create a user and set a password. The Ubuntu installer already contains code to configure the base system, which we can reuse under the oem-config framework.
Rationale
The base system configuration component(s) of UbuntuExpress needs to perform the following tasks (in cooperation with user interface code for each of GNOME and KDE):
- select language
- select country
- select timezone
- select keymap
- select username/password
- configure apt
There has been some debate about whether hostname selection ought to be present; the consensus appears to be that, while it is useful in a server install, it can be skipped in a default desktop install.
APT configuration is an awkward case, because sources.list can be customised by somebody modifying the live CD as well as by the end user, and we want to preserve both customisations. Nevertheless, if neither customisation is present, or if requested by somebody customising the live CD, we should regenerate sources.list (replacing that in the live filesystem) to make sure that it is using CC.archive.ubuntu.com mirrors.
Use cases
- Users want to have their own username and password.
- Users want the system in their language.
Scope
Design
In the GNOME user interface (see UbuntuExpress/GnomeUserInterface), we can borrow a city map widget from Evolution to choose a city for the timezone. This implies the country, and gives us a good guess for the language, in conjunction with the bootloader language.
For keymap configuration, we will factor out the "select keymap based on pressing keys" widget from our existing installer (it is already quite cleanly separated) and add appropriate user interface code to it. We will select the keymap default based on that configured in the live CD.
The Guadalinex implementation of UbuntuExpress already has username and password questions, which just need some polish (and replacement of the backend to remove duplicated and incorrect validation code, and just use that in passwd.config). We will need to remove the hostname question from that implementation.
Implementation
Code
Outstanding issues
casper will generate an appropriate sources.list file while starting up the live filesystem, using code from the new apt-setup udebs arriving from Debian soon. The implementor should provide a mechanism for customisers to indicate that they do not want this to happen, in case a fixed sources.list is desired.
- ... except casper doesn't know the country. oops
Need to select both a console keymap and an X keymap; might be better off selecting the X keymap (and making keymapper handle that?) and then inferring a console keymap.
BoF agenda and discussion
how to get pieces only available as udebs? (unpack udebs somehow, or generate debs from each relevant source package) - in this case, the only things we care about are (I think) apt-setup and the keyboard configuration bits; apt-setup wants to generate a deb eventually anyway, and I can cope with building some for keymapper etc.