Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Saul Wold <sgw@linux.intel.com>
To: Qi.Chen@windriver.com
Cc: qingtao.cao@windriver.com, openembedded-core@lists.openembedded.org
Subject: Re: [PATCH 1/1] udev-cache: take a read-only rootfs into consideration
Date: Thu, 27 Jun 2013 22:59:56 -0700	[thread overview]
Message-ID: <51CD265C.7070106@linux.intel.com> (raw)
In-Reply-To: <a09510a0b0b388029c673ff1725a09e6ae99856d.1372389991.git.Qi.Chen@windriver.com>

On 06/27/2013 10:00 PM, Qi.Chen@windriver.com wrote:
> From: Chen Qi <Qi.Chen@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@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!

> 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)
>


  reply	other threads:[~2013-06-28  6:00 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-28  5:00 [PATCH 0/1] udev-cache: take a read-only rootfs into consideration Qi.Chen
2013-06-28  5:00 ` [PATCH 1/1] " Qi.Chen
2013-06-28  5:59   ` Saul Wold [this message]
2013-06-28  6:21     ` ChenQi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51CD265C.7070106@linux.intel.com \
    --to=sgw@linux.intel.com \
    --cc=Qi.Chen@windriver.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=qingtao.cao@windriver.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox