[PATCH 00/12] read-only rootfs support

Qi.Chen
2013-01-24T08:32:34Z

From: Chen Qi <Qi.Chen@windriver.com>

The series of patches add support to read-only rootfs.

The main idea is to use symbolic links to create the illuion that some
directories are writable in case of a read-only rootfs.

We use a similar stragety to update-rc.d.bbclass to manage all the recipes
that need to tweak some specific directories to support a read-only rootfs.
These recipes inherit volatiles.bbclass and set VOLATILE_DIR, VOLATILE_LINK
and VOLATILE_PKGS properly.

The advantage of this strategy is that it deligates the task of supporting
read-only rootfs to the recipes, resulting in a better management scheme.

This set of patches have been tested on minimal images with and without
'read-only-rootfs' image feature enabled. Everything is OK.

For sato images, everything is the same as before if 'read-only-rootfs' is not enabled.
With 'read-only-rootfs' enabled, sato image could work if graphic interface is diabled.
When all postinstall problems are resolved, sato image should work well.

The following changes since commit 37e025f6f9c410005e0f1dee0767e38eaec01cbd:

bitbake: hob: Hob should display warnings generated during parsing (2013-01-21 19:05:31 +0000)

are available in the git repository at:

git://git.pokylinux.org/poky-contrib ChenQi/readonly-rootfs
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=ChenQi/readonly-rootfs

Chen Qi (12):
sysvinit: add ROOTFS_READ_ONLY variable to rcS-default
image.bbclass: add a hook funtion to support readonly rootfs
core-image.bbclass: support read-only rootfs
package.bbclass: add VOLATILE_DIR and VOLATILE_LINK to PACKAGEVARS
volatiles.bbclass: add recipe
volatiles_sysvinit.bbclass: add recipe
populate-volatile.sh: improve this script
initscripts: let populate-volatile.sh create the /tmp link
initscripts: inherit volatiles to support read-only rootfs
dropbear: inherit volatiles to support read-only rootfs
nfs-utils: inherit volatiles to support read-only rootfs
dbus: inherit volatiles to support read-only rootfs

meta/classes/core-image.bbclass | 4 +
meta/classes/image.bbclass | 18 ++
meta/classes/package.bbclass | 4 +-
meta/classes/volatiles.bbclass | 11 +
meta/classes/volatiles_sysvinit.bbclass | 49 ++++
.../nfs-utils/nfs-utils_1.2.3.bb | 7 +-
meta/recipes-core/dbus/dbus.inc | 7 +-
meta/recipes-core/dropbear/dropbear.inc | 7 +-
.../initscripts/initscripts-1.0/bootmisc.sh | 9 +-
.../initscripts-1.0/populate-volatile.sh | 287 ++++++++++----------
.../initscripts/initscripts-1.0/volatiles | 1 +
meta/recipes-core/initscripts/initscripts_1.0.bb | 6 +-
meta/recipes-core/sysvinit/sysvinit/rcS-default | 4 +
meta/recipes-core/sysvinit/sysvinit_2.88dsf.bb | 2 +-
14 files changed, 255 insertions(+), 161 deletions(-)
create mode 100644 meta/classes/volatiles.bbclass
create mode 100644 meta/classes/volatiles_sysvinit.bbclass

--
1.7.9.5