diff options
author | Kevin Tian <kevin.tian@intel.com> | 2010-06-21 17:28:57 +0800 |
---|---|---|
committer | Kevin Tian <kevin.tian@intel.com> | 2010-07-02 17:27:10 +0800 |
commit | e96dc90ba443601116eed52873da2ea929af726e (patch) | |
tree | af9351107b6209658b8f85f498bcc328a5501d28 /meta/packages | |
parent | 968d00de157bcc614cc7c47a4a36db29d677ab89 (diff) | |
download | openembedded-core-e96dc90ba443601116eed52873da2ea929af726e.tar.gz openembedded-core-e96dc90ba443601116eed52873da2ea929af726e.tar.bz2 openembedded-core-e96dc90ba443601116eed52873da2ea929af726e.tar.xz openembedded-core-e96dc90ba443601116eed52873da2ea929af726e.zip |
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-x | meta/packages/initscripts/initscripts-1.0/populate-volatile.sh | 15 | ||||
-rw-r--r-- | meta/packages/initscripts/initscripts_1.0.bb | 2 |
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 8742dbfc6..1813fd124 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 20503e1c6..0d79b53a8 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 \ |