OEMInstaller

Differences between revisions 7 and 8
Revision 7 as of 2005-04-25 00:25:05
Size: 925
Editor: intern146
Comment:
Revision 8 as of 2005-04-25 05:00:11
Size: 2529
Editor: intern146
Comment: add rationale, scope / use cases, first (incomplete) cut at implementation plan
Deletions are marked like this. Additions are marked like this.
Line 25: Line 25:
OEM providers want to install fully-functional systems in-house while deferring some items of configuration, ship them to end users, and have the 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.)
Line 27: Line 31:
 * Delay configuration of initial user, time zone, ...?  * Initial installation: normal (or possibly automatic) install using temporary values for language, country, etc. and no initial user.
 * Customise installation to rebrand, add custom drivers and other software, etc.; this is totally at the discretion of the OEM.
 * Test that system actually works properly: graphics, sound, network, etc.
 * Create system image and mass-duplicate onto N hard disks.
 * Ship to users.
 * On first boot, end users are asked for some set of the following, at the OEM's discretion:
  * language
  * country
  * keyboard layout
  * timezone
  * full name, user name, and password
  * possibly Internet access if it can't be determined automatically?
  * other OEM-provided hooks (e.g. licence agreements for custom software)
Line 30: Line 46:

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

 * An OEM test mode which starts X as root and runs hwdb-client (or something similar).
 * A firstboot program which runs a set of hooks.
 * A command to prepare the image for shipping to the user, inserting a line into /etc/inittab which runs the firstboot program. It might be possible at this stage to select the list of hooks to be run.

Hooks are provided to maximise code reuse and to allow OEMs to add extra questions and code, such as the licence agreement example above.

Title

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 items of configuration, ship them to end users, and have the 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

  • Initial installation: normal (or possibly automatic) install using temporary values for language, country, etc. and no initial user.
  • Customise installation to rebrand, add custom drivers and other software, etc.; this is totally at the discretion of the OEM.
  • Test that system actually works properly: graphics, sound, network, etc.
  • Create system image and mass-duplicate onto N hard disks.
  • Ship to users.
  • On first boot, end users are asked for some set of the following, at the OEM's discretion:
    • language
    • country
    • keyboard layout
    • timezone
    • full name, user name, and password
    • possibly Internet access if it can't be determined automatically?
    • other OEM-provided hooks (e.g. licence agreements for custom software)

Implementation Plan

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

  • An OEM test mode which starts X as root and runs hwdb-client (or something similar).
  • A firstboot program which runs a set of hooks.
  • A command to prepare the image for shipping to the user, inserting a line into /etc/inittab which runs the firstboot program. It might be possible at this stage to select the list of hooks to be run.

Hooks are provided to maximise code reuse and to allow OEMs to add extra questions and code, such as the licence agreement example above.

Data Preservation and Migration

Packages Affected

User Interface Requirements

Outstanding Issues

UDU BOF Agenda

UDU Pre-Work

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