WARNING: This part of the ImageBasedUpgrades specification is still in active discussion.

Introduction

In the parent spec we cover how to do image based update of the Android system and the Ubuntu rootfs. Those two are typical read-only images that users aren't expected to modify on their devices.

However with the goal of convergence and the possiblity of running a full desktop system from a phone, we need to plan a way to allow users to install extra packages from the Ubuntu archive while retaining the possibility of doing image based updates.

This wiki page is here to cover some of the options and their pros and cons.

Options

UnionFS and extended dpkg to allow multiple state directories

Description

The idea here is to have a persistent file system used as an overlay on top of /. / would remain read-only most of the time but be moved to read/write mode when the user wishes to install extra packages.

The overlay would be written to some location like /data/local and so the partition backing / would remain untouched.

To avoid the obvious conflicts in /var/lib/dpkg when upgrading the base image, dpkg would have to be extended to allow for multiple paths to be checked and the extra packages would then have their own dpkg database under an alternate path (/var/lib/dpkg.local for example).

A userspace process (running from the initramfs?) would manage the process of applying the new base image, so we are not limited to file-by-file kernel resolution of any conflicts.

Pros and Cons (WIP)

Pros:

Questions (WIP)

Completely separate Ubuntu container/chroot

Description

The idea here is to avoid the whole Union FS complexity by simply shipping (or allowing users to download) another Ubuntu base system, which would be setup as a container or chroot on the device and on which the user would have full control. Updates of that system would be performed through apt+dpkg and it wouldn't be affected by base system updates at all.

Bind-mounts would be setup where appropriate to allow for that environment to access the user's data and the various daemons running outside of it.

Pros and Cons (WIP)

Pros:

Cons:

Questions (WIP)

OSTree

Can we leverage OSTree for this? More analysis is needed.

ImageBasedUpgrades/ExtraPackageInstallation (last edited 2014-02-03 22:24:24 by mail)