MobileBuildInfrastructure

Summary

Currently, Ubuntu Mobile builds images using a project called Moblin Image Creator. Moblin Image Creator has a number of problems, which means that better solutions need to be sought.

Release Note

This section should include a paragraph describing the end-user impact of this change. It is meant to be included in the release notes of the first release in which it is implemented. (Not all of these will actually be included in the release notes, at the release manager's discretion; but writing them is a useful exercise.)

It is mandatory.

Rationale

Moblin Image Creator has a number of problems.

  • It is over-engineered.
  • It is difficult to debug.
  • It creates a chroot to then create another inside it.
  • It requires root privileges.

Use Cases

Assumptions

Design

These changes look to be ideal to be pulled into livecd-rootfs, since making an Live CD root filesystem is very close to making an image.

Implementation

livecd-rootfs will be extended to add extra functionality, and to change exisiting behaviour.

  • Not require root access.
  • Point to more than one mirror.
  • Add a type that creates an UME image, along with able to specify what kind of image.
  • Extend the package selection to support that without hard-coding the type.

Migration

livecd-rootfs has a different command-line usage, which means that scripts that utilise Moblin Image Creator will need to be changed to the use livecd.sh. That is out of scope for this specification.

Test/Demo Plan

It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during testing, and to show off after release.

This need not be added or completed until the specification is nearing beta.

Outstanding Issues

This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved.

BoF agenda and discussion

Suggested replacement of MIC with Live CD builder.

MIC's limitations are a big problem

  • Requires root
  • Creates two chroots, a project and a target
  • Fixed partitioning
  • Hardcoded names

MSG and their clients need to be able to load a project, and then build it. No copy of MIC. No project concept, just the target.

Requirements:

  • Don't require root
  • Easy to debug
  • Easy way to send a "project" to customers (e.g. a tarred chroot) as to allow
    • them to change it and generate images from it; should be really easy to load for the customer
  • It is strongly desirable to have a GUI that can be presented to customers and others not comfortable editing shell scripts
  • Be able to autoinstall image onto a device
  • Creates a Live USB R/W image for testing without installation to a device
  • Eventually handle hardware SKUs (stock keep unit) - multiple configurations from customer - allows one image that knows about multiple configurations, not multiple images, one per configuration
  • Would be interesting to build VMs.
  • Find a unified way to be compatible with other Ubuntu image building.
  • Be multiplatform (ARM is a big topic now)
  • Creates tarballs
  • Runs Xephyr (or qemu, kvm) in a chroot
  • Creates images :-P
  • Allows another script to be run for installation
  • Creates a manifest of image contents that includes package name + version

Problems with MIC:

  • Painful to patch
  • Intel uninterested in modifying
  • Difficult to debug

Live CD suite of tools

  • Currently require root but could be changed not to
  • Don't require a local mirror, only a place to debootstrap from

Other options (possibly too complex):

  • Debian Installer
  • RedHat Kickstart

Schedule of work

  • Shortly, early part of Intrepid
  • Next month


CategorySpec

MobileAndEmbedded/MobileBuildInfrastructure (last edited 2008-08-06 16:24:08 by localhost)