OEM Installer

Status

Introduction

Provide an installation method which is suitable for OEMs.

Rationale

OEM providers want to install fully-functional systems in-house while deferring some aspects of configuration so that end users complete the configuration on initial boot. They also want to be able to customise the installed system, e.g. for branding.

(Windows and Mac OS offer similar OEM functionality.)

Scope and Use Cases

Implementation Plan

Add an OEM package (name TBD) which implements the following:

Hooks are provided to maximise code reuse and to allow OEMs to add extra questions and code, such as the licence agreement example above. Where possible, we will modify installer packages to provide firstboot hooks which reuse the udeb postinst so that the same files on the installed system are touched as would have been touched during a normal installation. There will be some cases where additional changes need to be made (e.g. gdm locale configuration).

At first, firstboot may run in text mode as an implementation convenience, but it will need to be implemented in such a way that a graphical mode is possible in the future (perhaps for Breezy): this will almost certainly involve using debconf for all the hooks we provide. A graphical firstboot needs to start X as root with a simple session script that starts a window manager and the core of firstboot itself: fortunately, this happens to be similar to what is required to implement OEM test mode.

It may be necessary to reboot at the end of firstboot in order to pick up new configuration (notably the timezone). The authors of this specification hope that this can be avoided.

Data Preservation and Migration

N/A.

Packages Affected

Various installer packages. New OEM package. Various packages which copy configuration from the installer rather than referencing it at run-time.

User Interface Requirements

debconf GNOME frontend. May need to improve that for HIG etc. (If necessary, we can implement support for debconf plugins so we can write custom UI code.) See also PygtkDebconf.

Outstanding Issues

Should there be a way to return to firstboot afterwards?

If so, should we provide firstboot for all installations?

Not remotely implemented yet Smile :-)

UDU BOF Agenda

UDU Pre-Work

Comments and Suggestions

Current Status

2005-05-19 ColinWatson: Bare firstboot framework prototype in place. Does nothing useful yet.

2005-06-09 ColinWatson: Ugly pure-debconf implementations of initial user configuration, timezone configuration, and keyboard configuration done. Support for including and excluding menu items. Force questions to act as if they're being reconfigured. Made a start on locale configuration.

2005-07-20 ColinWatson: pygtk interface (using a neat little debconf filter) mostly done, although not very pretty yet. Keyboard configuration still needs to be done in this interface.

2005-07-26 ColinWatson: oem-config-dm written; it's now a one-liner to do (a) OEM test mode and (b) the line for /etc/inittab to launch oem-config with an X server.

2005-08-09 ColinWatson: Fixed various bugs in locale and keyboard configuration.


CategoryUdu CategorySpec

UbuntuDownUnder/BOFs/OEMInstaller (last edited 2008-08-06 16:23:27 by localhost)