summaryrefslogtreecommitdiffstats
path: root/meta/packages
diff options
context:
space:
mode:
authorKevin Tian <kevin.tian@intel.com>2010-06-21 17:28:57 +0800
committerKevin Tian <kevin.tian@intel.com>2010-07-02 17:27:10 +0800
commite96dc90ba443601116eed52873da2ea929af726e (patch)
treeaf9351107b6209658b8f85f498bcc328a5501d28 /meta/packages
parent968d00de157bcc614cc7c47a4a36db29d677ab89 (diff)
downloadast2050-yocto-poky-e96dc90ba443601116eed52873da2ea929af726e.zip
ast2050-yocto-poky-e96dc90ba443601116eed52873da2ea929af726e.tar.gz
populate-volatile.sh: add "clearcache" cmdline option
Sometimes /etc/volatiles.cache is corrupted when Qemu gets crashed. Current logic is to always execute cache file as long as it exists. When it's currupted, this causes core volatile files/directories not created and then prevent many important services from starting. Automatic check on cache goodness is one option. However it's not easy since the currupted file could be various states. In one form, it's full of zeros. In another form, some commands are truncated. Here allow a cmdline option to force removing volatiles.cache file, since it's easy for user to check whether the cache file is mal-formed. Usually you'll observe typical directories like "/var/log/" or "/var/run" not found error. Signed-off-by Kevin Tian <kevin.tian@intel.com>
Diffstat (limited to 'meta/packages')
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/populate-volatile.sh15
-rw-r--r--meta/packages/initscripts/initscripts_1.0.bb2
2 files changed, 15 insertions, 2 deletions
diff --git a/meta/packages/initscripts/initscripts-1.0/populate-volatile.sh b/meta/packages/initscripts/initscripts-1.0/populate-volatile.sh
index 8742dbf..1813fd1 100755
--- a/meta/packages/initscripts/initscripts-1.0/populate-volatile.sh
+++ b/meta/packages/initscripts/initscripts-1.0/populate-volatile.sh
@@ -168,7 +168,20 @@ apply_cfgfile() {
}
-if test -e /etc/volatile.cache -a "$VOLATILE_ENABLE_CACHE" = "yes" -a "x$1" != "xupdate"
+clearcache=0
+exec 9</proc/cmdline
+while read line <&9
+do
+ case "$line" in
+ *clearcache*) clearcache=1
+ ;;
+ *) continue
+ ;;
+ esac
+done
+exec 9>&-
+
+if test -e /etc/volatile.cache -a "$VOLATILE_ENABLE_CACHE" = "yes" -a "x$1" != "xupdate" -a "x$clearcache" = "x0"
then
sh /etc/volatile.cache
else
diff --git a/meta/packages/initscripts/initscripts_1.0.bb b/meta/packages/initscripts/initscripts_1.0.bb
index 20503e1..0d79b53 100644
--- a/meta/packages/initscripts/initscripts_1.0.bb
+++ b/meta/packages/initscripts/initscripts_1.0.bb
@@ -4,7 +4,7 @@ PRIORITY = "required"
DEPENDS = "makedevs"
RDEPENDS = "makedevs"
LICENSE = "GPLv2"
-PR = "r121"
+PR = "r122"
SRC_URI = "file://functions \
file://halt \
OpenPOWER on IntegriCloud