* [PATCH V2 6/6] initscripts: add read-only-rootfs-hook.sh script
[not found] <cover.1359433618.git.Qi.Chen@windriver.com>
@ 2013-01-29 6:17 ` Qi.Chen
2013-01-29 6:21 ` ChenQi
0 siblings, 1 reply; 2+ messages in thread
From: Qi.Chen @ 2013-01-29 6:17 UTC (permalink / raw)
To: openembedded-core; +Cc: Zhenfeng.Zhao
From: Chen Qi <Qi.Chen@windriver.com>
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>
---
.../initscripts-1.0/read-only-rootfs-hook.sh | 19 +++++++++++++++++++
meta/recipes-core/initscripts/initscripts_1.0.bb | 3 +++
2 files changed, 22 insertions(+)
create mode 100644 meta/recipes-core/initscripts/initscripts-1.0/read-only-rootfs-hook.sh
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 0000000..3a295ee
--- /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 69b9bfb..68f8034 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 .
--
1.7.9.5
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH V2 6/6] initscripts: add read-only-rootfs-hook.sh script
2013-01-29 6:17 ` [PATCH V2 6/6] initscripts: add read-only-rootfs-hook.sh script Qi.Chen
@ 2013-01-29 6:21 ` ChenQi
0 siblings, 0 replies; 2+ messages in thread
From: ChenQi @ 2013-01-29 6:21 UTC (permalink / raw)
To: openembedded-core
V2 is a rebase against the latest master branch, which solves some
conflicts in initscripts_1.0.bb file.
Because only this patch [6/6] had conflicts, I only sent out version 2
of this patch.
Cheers,
Chen Qi
On 01/29/2013 02:17 PM, Qi.Chen@windriver.com wrote:
> From: Chen Qi <Qi.Chen@windriver.com>
>
> 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>
> ---
> .../initscripts-1.0/read-only-rootfs-hook.sh | 19 +++++++++++++++++++
> meta/recipes-core/initscripts/initscripts_1.0.bb | 3 +++
> 2 files changed, 22 insertions(+)
> create mode 100644 meta/recipes-core/initscripts/initscripts-1.0/read-only-rootfs-hook.sh
>
> 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 0000000..3a295ee
> --- /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 69b9bfb..68f8034 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 .
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-01-29 6:37 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <cover.1359433618.git.Qi.Chen@windriver.com>
2013-01-29 6:17 ` [PATCH V2 6/6] initscripts: add read-only-rootfs-hook.sh script Qi.Chen
2013-01-29 6:21 ` ChenQi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox