From: Chen Qi <[email protected]> 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 <[email protected]> --- 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 _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
