If a partition such as /tmp mounted on a volatile directory which create
by script populate-volatile.sh from initscripts, it will show errors.

In /var/log/boot, error message:

Thu Jun 19 05:39:09 2014: bootlogd.
Thu Jun 19 05:39:10 2014: rm: cannot remove '/tmp': Device or resource busy

Check volatile directories and if it is be mounted then don't force make
it as a link.

Signed-off-by: Kai Kang <kai.k...@windriver.com>
---
 .../initscripts/initscripts-1.0/populate-volatile.sh           | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh 
b/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh
index e707b20..904037e 100755
--- a/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh
+++ b/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh
@@ -72,10 +72,12 @@ link_file() {
        if [ -L \"$2\" ]; then
                [ \"\$(readlink -f \"$2\")\" != \"\$(readlink -f \"$1\")\" ] && 
{ rm -f \"$2\"; ln -sf \"$1\" \"$2\"; };
        elif [ -d \"$2\" ]; then
-               cp -a $2/* $1 2>/dev/null;
-               cp -a $2/.[!.]* $1 2>/dev/null;
-               rm -rf \"$2\";
-               ln -sf \"$1\" \"$2\";
+               if awk '\$2 == \"$2\" {exit 1}' /proc/mounts; then
+                       cp -a $2/* $1 2>/dev/null;
+                       cp -a $2/.[!.]* $1 2>/dev/null;
+                       rm -rf \"$2\";
+                       ln -sf \"$1\" \"$2\";
+               fi
        else
                ln -sf \"$1\" \"$2\";
        fi
-- 
1.9.1

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to