µbuntu

Status

Introduction

Create an Ubuntu derivative suitable for use on embedded systems and appliances such as home theatre systems.

Rationale

Many appliances are now being powered by Linux. As such, it makes a lot of sense for Ubuntu to target this space.

Scope and Use Cases

There are two different scopes in play:

mini-ubuntu:

µbuntu: (pronounced myu-buntu"??)

Implementation Plan

mini-ubuntu

  • Create minimal system seed

µbuntu:

  • use minimal seed from above
  • Investigate cross installation
  • stripping packages of docs, etc. - hooks in dpkg to do this?
  • create image of system for installation and replication
  • alternative X implementation
  • GPE or qutopia for environment

The minimal seed should consist of the bare minimum of packages required to create a useful system. System integrators and ISVs would then integrate their applications on top of this shell; they could also select other packages as required.

µbuntu requires that we go through some extra steps; we must be able to install from one platform (eg x86) to the target (eg arm) platform, and we must be able to only install the very minimum that a package requires to be useful; eg we strip out documentation. This will require hooks in dpkg to allow this to occur in an automated fashion.

This is an implementation of the dpkg classes specification. It would probably not be Breezy material as it would require a fair bit of work.

We must also create infrastructure to allow us to create images for automated installation onto embedded systems trivially.

Embedded devices that run X need to use an alternative implementation, such as TinyX or kdrive. We need to investigate the sanest implementation and package it. Also, we should provide an example graphical environment such as GPE for testing purposes.

Given the amount of work necessary for µbuntu, it is probably not Breezy material. A mini-ubuntu would be a first approximation and a very useful step along the way.

Data Preservation and Migration

µbuntu: It is unlikely that we want to try doing any data migration (as noted above we do not expect to do upgrades of OS level stuff) in the embedded space on JFFS2 or whichever we choose.

mini-ubuntu: In the mini-space we're not limited to a particular filesystem and so can enable xattr etc without issue. xattr would be needed if the vendor wanted to use SELinux for increased security, such as on a router.

Packages Affected

  • dpkg

  • everything else

dpkg would need to be extended to provide hooks to allow for non-installation of chunks of packages to save space or the image would have to be post-processed to be pruned and compressed. In the long term, one would imagine debhelper (or even dpkg proper) would automatically assign files to different classes depending on file locations.

Other packages in the minimal seed would need to be modified to provide information to the hooks in question.

User Interface Requirements

Outstanding Issues

  • Find a process that works and document that. Possibly expose it via launchpad.
  • handhelds.org seems to be interested in discussing work with Ubuntu on this, as expressed by George France and Florian Boor on IRC and in e-mail.

UDU BOF Agenda

UDU Pre-Work

UbuntuDownUnder/BOFs/µbuntu (last edited 2008-08-06 16:40:43 by localhost)