diff options
author | Chen Qi <Qi.Chen@windriver.com> | 2013-01-29 12:24:43 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-02-06 09:35:05 +0000 |
commit | a9591158962eee1f8ae04168d6256032ecd7bc6b (patch) | |
tree | 65eca20d28282399c06dbb1fceb277dbf6a8add6 /meta/recipes-core/initscripts | |
parent | 12c4acd7ac5a27cf3676065b60f1c8395c96854c (diff) | |
download | openembedded-core-a9591158962eee1f8ae04168d6256032ecd7bc6b.tar.gz openembedded-core-a9591158962eee1f8ae04168d6256032ecd7bc6b.tar.bz2 openembedded-core-a9591158962eee1f8ae04168d6256032ecd7bc6b.zip |
initscripts: add read-only-rootfs-hook.sh script
Add read-only-rootfs-hook.sh script to support a read-only rootfs.
This script makes a union mount of /var/lib and /var/volatile/lib,
making /var/lib directory writable.
[YOCTO #3406]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'meta/recipes-core/initscripts')
-rw-r--r-- | meta/recipes-core/initscripts/initscripts-1.0/read-only-rootfs-hook.sh | 19 | ||||
-rw-r--r-- | meta/recipes-core/initscripts/initscripts_1.0.bb | 3 |
2 files changed, 22 insertions, 0 deletions
diff --git a/meta/recipes-core/initscripts/initscripts-1.0/read-only-rootfs-hook.sh b/meta/recipes-core/initscripts/initscripts-1.0/read-only-rootfs-hook.sh new file mode 100644 index 0000000000..3a295eea0b --- /dev/null +++ b/meta/recipes-core/initscripts/initscripts-1.0/read-only-rootfs-hook.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +. /etc/default/rcS + +[ "$ROOTFS_READ_ONLY" = "no" ] && exit 0 + +# Make sure unionfs is in /proc/filesystems +if ! grep -q unionfs /proc/filesystems; then + echo "ERROR: unionfs not supported by kernel!" + exit 1 +fi + +mkdir -p /var/volatile/lib +mount -t unionfs -o dirs=/var/volatile/lib:/var/lib=ro none /var/lib + +if [ $? != 0 ]; then + echo "ERROR: Union mount failed!" + exit 1 +fi diff --git a/meta/recipes-core/initscripts/initscripts_1.0.bb b/meta/recipes-core/initscripts/initscripts_1.0.bb index 69b9bfbe32..68f80346ef 100644 --- a/meta/recipes-core/initscripts/initscripts_1.0.bb +++ b/meta/recipes-core/initscripts/initscripts_1.0.bb @@ -28,6 +28,7 @@ SRC_URI = "file://functions \ file://sysfs.sh \ file://device_table.txt \ file://populate-volatile.sh \ + file://read-only-rootfs-hook.sh \ file://volatiles \ file://save-rtc.sh \ file://GPLv2.patch" @@ -85,6 +86,7 @@ do_install () { install -m 0755 ${WORKDIR}/devpts ${D}${sysconfdir}/default install -m 0755 ${WORKDIR}/sysfs.sh ${D}${sysconfdir}/init.d install -m 0755 ${WORKDIR}/populate-volatile.sh ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/read-only-rootfs-hook.sh ${D}${sysconfdir}/init.d install -m 0755 ${WORKDIR}/save-rtc.sh ${D}${sysconfdir}/init.d install -m 0644 ${WORKDIR}/volatiles ${D}${sysconfdir}/default/volatiles/00_core @@ -116,6 +118,7 @@ do_install () { update-rc.d -r ${D} bootmisc.sh start 55 S . update-rc.d -r ${D} sysfs.sh start 02 S . update-rc.d -r ${D} populate-volatile.sh start 37 S . + update-rc.d -r ${D} read-only-rootfs-hook.sh start 41 S . update-rc.d -r ${D} devpts.sh start 38 S . if [ "${TARGET_ARCH}" = "arm" ]; then update-rc.d -r ${D} alignment.sh start 06 S . |