ArmRootfsBuilderGUI
Launchpad Entry: mobile-arm-karmic-offline-installer-gui
Created: 2009-06-11
Contributors: OliverGrawert
Packages affected:
Summary
To build a rootfs tarball for armel based systems that match the ARMv7 standard but are not supported by any prebuilt image in ubuntu we currently provide a qemu wrapper script that sets up and configures a system using a script. The existing wrapper needs to be packaged and enhanced with GUI elements (i.e. oem-config) that take responsibility for a proper system setup which does not differ from a standard ubuntu installation so that the currently used setup script can be replaced.
Release Note
The new Ubuntu Offline Builder enables you to create a completely configured tarball for your ARMv7 system to be extracted on a rootdevice. The installed system does not differ from any other Ubuntu 9.10 installation.
Rationale
Ubuntu only supports a minimal set of ARMv7 hardware. To enable a broader community the RootfsFromScratch setup was invented in 9.04. The wrapper script used to set up a standard Ubuntu system inside a virtual machine currently does not produce a 100% identical setup to a normal image that was installed by debian-installer or ubiquity. The target of this spec is to enhance the existing wrapper to use standard tools to set up a system as close to a normal install as possible.
Design
- A GUI frontend to the existing script will be created that enables the user to modify a subset of the commandline options the existing script uses (output format, task selection etc).
- If a desktop system is chosen for installation inside the image an X session will be started completely transparently inside the VM to run oem-config this will be integrated into the running desktop session by either spawning a VNC connection to the VM or running a later to be uninstalled ssh server to which the running desktop connects via ssh X forwarding.
- The GUI will offer a way to save the selected configuration.
- Preparation for later kernel inclusion.
Implementation
- The GUI will be implemented in pygtk and call original script as subprocess
- Options
- Read/write cfg file...
- Mirror selection
- Task selection or alternatively spawn synaptic inside the VM
- Image size
- Component selection
- Hostname, login name, passwd will be set through spawning oem-config inside the VM
- Output format (tarball or qemu image)
- Logfile
- --keep-image, --notarball options of existing script
- Options
Test/Demo Plan
- Build an image and run it on an ARMv7 system.
Unresolved issues
- Should kernel inclusion be possible, if so, how should handling unpackaged kernels be solved ?
- Why did we not consider vmbuilder
- Has different target use cases (cloud, dedicated appliance, multiple vm backend)
- KVM bound (no qemu arm support in KVM)
- Different output formats (live iso, portable vm specific backends), not root images for usb/raw use....
- Bundles kernels while we want only a rootfs
Specs/ArmRootfsBuilderGUI (last edited 2009-06-18 19:54:31 by p5098ed03)