Easier Customization of Ubuntu LEB Images

Registered by Tom Gall on 2011-05-04

Document and describe the steps needed to create a customized Linaro image. Gather the use cases and improve the tools if needed.

Main build block blueprint.

Blueprint information

Status:
Complete
Approver:
Ricardo Salveti
Priority:
High
Drafter:
Tom Gall
Direction:
Approved
Assignee:
None
Definition:
Obsolete
Series goal:
Accepted for 11.11
Implementation:
Started
Milestone target:
None
Started by
Ricardo Salveti on 2011-06-21
Completed by
David Zinman on 2012-11-16

Related branches

Sprints

Whiteboard

[dzin Apr 10, 2012] Moved to wishlist

User Stories:
1. As a product developer I'd like to have an official documentation on how to create and customize Ubuntu LEB images. This documentation should cover all tools that are needed and every steps to create an image from scratch. Documentation describing what set of components are most useful to customize, like what user interface to use, are also desirable.

2. As a product developer I'd like to use my own x86 machines to cross build the images, using a known supported ARM architecture (e.g. armel). This image should behave exactly the same as with the once created natively on an ARM board.

3. As a product developer I'd like to generate images for new ARM sub-architectures (e.g. A15). If unable to emulate the new sub-architecture there should be a way to only deploy the packages, so they can be installed and configured at the first time the image is booted at the device.

4. As a product developer I'd the image generation tool to have a GUI, so I can easily use it without the need of using the command line interface.

Engineering Blueprints:
1 - Evaluate current available image creation tools and select the one to be used for next releases (until 11.11):
https://blueprints.launchpad.net/linaro-ubuntu/+spec/linaro-platforms-o-evaluate-image-creation-tools-for-oneiric

2 - Use the new build system Ubuntu migrating for Oneiric (live build 3):
https://blueprints.launchpad.net/linaro-ubuntu/+spec/linaro-platforms-o-leb-new-ubuntu-build-system

3 - Implement a way to cross-build images with live-build using Qemu

4 - Create a GUI compatible with live-build:
Design GUI to go over the top of live-build: TODO
Code textual interface to create dd'able images: TODO
Code GUI to go over the top of live-build: TODO

5 - Improve Ubuntu LEB documentation pointing on how to create and customize images with live-build and by hacking up the LEB scripts

6 - Improve build tool to fit Linaro needs:
Add "debug/verbose" switch to live helper that actually works: TODO
Examine what it would take to add a rootfs + hwpack -> dd'able image step to live-build : DONE
Design textual changes to live-build interface to allow dd'able image to be created: DONE
Add a mechanism to id the built images https://launchpad.net/bugs/789135 : TODO

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.