On 06/28/2013 01:59 PM, Saul Wold wrote:
On 06/27/2013 10:00 PM, qi.c...@windriver.com wrote:
From: Chen Qi <qi.c...@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.c...@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
Do you think it would be possible in a fix embedded device to have the
udev cache created and installed in a read-only FS?
Sau!
Thanks for pointing it out.
Yes, you're right.
No matter how the cache is installed, if the $DEVCACHE file exists and
the $READDATA matches, we could use the cache.
I'll send out a V2.
//Chen Qi
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)
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core