[OE-core] [PATCH 1/1] udev-cache: take a read-only rootfs into consideration

Qi.Chen at windriver.com Qi.Chen at windriver.com
Fri Jun 28 05:00:27 UTC 2013


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

In case of a read-only rootfs, no matter the /etc is read-only or
it's bind mounted with tmpfs, the udev cache handling should be
skipped, as the data cannot be persisted between reboots.

Signed-off-by: Chen Qi <Qi.Chen at windriver.com>
---
 meta/recipes-core/udev/udev/init       |    5 +++--
 meta/recipes-core/udev/udev/udev-cache |    6 ++++++
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-core/udev/udev/init b/meta/recipes-core/udev/udev/init
index 9b81700..38ea666 100644
--- a/meta/recipes-core/udev/udev/init
+++ b/meta/recipes-core/udev/udev/init
@@ -18,6 +18,7 @@ export TZ=/etc/localtime
 [ -x @UDEVD@ ] || exit 1
 [ -f /etc/default/udev-cache ] && . /etc/default/udev-cache
 [ -f /etc/udev/udev.conf ] && . /etc/udev/udev.conf
+[ -f /etc/default/rcS ] && . /etc/default/rcS
 
 readfile () {
    filename=$1
@@ -52,8 +53,8 @@ case "$1" in
     mount -a -t tmpfs 2>/dev/null
     mkdir -p /var/volatile/tmp
 
-    # cache handling
-    if [ "$DEVCACHE" != "" ]; then
+    # Cache handling. Skip cache handling in case of a read-only rootfs.
+    if [ "$ROOTFS_READ_ONLY" = "no" -a "$DEVCACHE" != "" ]; then
             readfile /proc/version
             VERSION="$READDATA"
             readfile /proc/cmdline
diff --git a/meta/recipes-core/udev/udev/udev-cache b/meta/recipes-core/udev/udev/udev-cache
index 8a84fa9..3e0eff6 100644
--- a/meta/recipes-core/udev/udev/udev-cache
+++ b/meta/recipes-core/udev/udev/udev-cache
@@ -15,8 +15,14 @@ export TZ=/etc/localtime
 [ -x @UDEVD@ ] || exit 1
 [ -d /sys/class ] || exit 1
 
+[ -f /etc/default/rcS ] && . /etc/default/rcS
 [ -f /etc/default/udev-cache ] && . /etc/default/udev-cache
 
+if [ "$ROOTFS_READ_ONLY" = "yes" ]; then
+    [ "$VERBOSE" != "no" ] && echo "read-only rootfs, skip udev-cache"
+    exit 0
+fi
+
 if [ "$DEVCACHE" != "" -a -e /dev/shm/udev.cache ]; then
 	echo "Populating dev cache"
 	(cd /; tar cf "$DEVCACHE" dev)
-- 
1.7.9.5




More information about the Openembedded-core mailing list