diff options
Diffstat (limited to 'meta/recipes-core/initscripts/initscripts-1.0')
8 files changed, 31 insertions, 15 deletions
diff --git a/meta/recipes-core/initscripts/initscripts-1.0/checkroot.sh b/meta/recipes-core/initscripts/initscripts-1.0/checkroot.sh index dfee2afaad..02f0351fcb 100755 --- a/meta/recipes-core/initscripts/initscripts-1.0/checkroot.sh +++ b/meta/recipes-core/initscripts/initscripts-1.0/checkroot.sh @@ -69,7 +69,7 @@ fi # before fsck, since fsck can be quite memory-hungry. # test "$VERBOSE" != no && echo "Activating swap" -swapon -a 2> /dev/null +[ -x /sbin/swapon ] && swapon -a # # Check the root filesystem. diff --git a/meta/recipes-core/initscripts/initscripts-1.0/dmesg.sh b/meta/recipes-core/initscripts/initscripts-1.0/dmesg.sh index a97b0681e1..2b9eba64cf 100644..100755 --- a/meta/recipes-core/initscripts/initscripts-1.0/dmesg.sh +++ b/meta/recipes-core/initscripts/initscripts-1.0/dmesg.sh @@ -8,8 +8,8 @@ ### END INIT INFO if [ -f /var/log/dmesg ]; then - if [ -f /usr/sbin/logrotate ]; then - logrotate -f /etc/logrotate-dmesg.conf + if LOGPATH=$(which logrotate); then + $LOGPATH -f /etc/logrotate-dmesg.conf else mv -f /var/log/dmesg /var/log/dmesg.old fi diff --git a/meta/recipes-core/initscripts/initscripts-1.0/mountall.sh b/meta/recipes-core/initscripts/initscripts-1.0/mountall.sh index 94bae420c0..c719be5d9a 100755 --- a/meta/recipes-core/initscripts/initscripts-1.0/mountall.sh +++ b/meta/recipes-core/initscripts/initscripts-1.0/mountall.sh @@ -33,7 +33,7 @@ kill -USR1 1 # Execute swapon command again, in case we want to swap to # a file on a now mounted filesystem. # -swapon -a 2> /dev/null +[ -x /sbin/swapon ] && swapon -a : exit 0 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 904037eeaa..22a71ecaae 100755 --- a/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh +++ b/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh @@ -36,7 +36,7 @@ create_file() { [ "${VERBOSE}" != "no" ] && echo "Target already exists. Skipping." } || { if [ -z "$ROOT_DIR" ]; then - eval $EXEC & + eval $EXEC else # Creating some files at rootfs time may fail and should fail, # but these failures should not be logged to make sure the do_rootfs @@ -70,7 +70,7 @@ mk_dir() { link_file() { EXEC=" if [ -L \"$2\" ]; then - [ \"\$(readlink -f \"$2\")\" != \"\$(readlink -f \"$1\")\" ] && { rm -f \"$2\"; ln -sf \"$1\" \"$2\"; }; + [ \"\$(readlink -f \"$2\")\" != \"$1\" ] && { rm -f \"$2\"; ln -sf \"$1\" \"$2\"; }; elif [ -d \"$2\" ]; then if awk '\$2 == \"$2\" {exit 1}' /proc/mounts; then cp -a $2/* $1 2>/dev/null; @@ -86,7 +86,7 @@ link_file() { test "$VOLATILE_ENABLE_CACHE" = yes && echo " $EXEC" >> /etc/volatile.cache.build if [ -z "$ROOT_DIR" ]; then - eval $EXEC & + eval $EXEC else # For the same reason with create_file(), failures should # not be logged. @@ -150,9 +150,9 @@ apply_cfgfile() { return 1 } - cat ${CFGFILE} | grep -v "^#" | \ - while read LINE; do - eval `echo "$LINE" | sed -n "s/\(.*\)\ \(.*\) \(.*\)\ \(.*\)\ \(.*\)\ \(.*\)/TTYPE=\1 ; TUSER=\2; TGROUP=\3; TMODE=\4; TNAME=\5 TLTARGET=\6/p"` + cat ${CFGFILE} | sed 's/#.*//' | \ + while read TTYPE TUSER TGROUP TMODE TNAME TLTARGET; do + test -z "${TLTARGET}" && continue TNAME=${ROOT_DIR}${TNAME} [ "${VERBOSE}" != "no" ] && echo "Checking for -${TNAME}-." @@ -163,6 +163,16 @@ apply_cfgfile() { continue } + [ "${TTYPE}" = "b" ] && { + TSOURCE="$TLTARGET" + [ "${VERBOSE}" != "no" ] && echo "Creating mount-bind -${TNAME}- from -${TSOURCE}-." + mount --bind "${TSOURCE}" "${TNAME}" + EXEC=" + mount --bind \"${TSOURCE}\" \"${TNAME}\"" + test "$VOLATILE_ENABLE_CACHE" = yes && echo "$EXEC" >> /etc/volatile.cache.build + continue + } + [ -L "${TNAME}" ] && { [ "${VERBOSE}" != "no" ] && echo "Found link." NEWNAME=`ls -l "${TNAME}" | sed -e 's/^.*-> \(.*\)$/\1/'` @@ -177,7 +187,7 @@ apply_cfgfile() { case "${TTYPE}" in "f") [ "${VERBOSE}" != "no" ] && echo "Creating file -${TNAME}-." - create_file "${TNAME}" & + create_file "${TNAME}" ;; "d") [ "${VERBOSE}" != "no" ] && echo "Creating directory -${TNAME}-." mk_dir "${TNAME}" diff --git a/meta/recipes-core/initscripts/initscripts-1.0/save-rtc.sh b/meta/recipes-core/initscripts/initscripts-1.0/save-rtc.sh index b038fc59d4..1632a5f649 100644 --- a/meta/recipes-core/initscripts/initscripts-1.0/save-rtc.sh +++ b/meta/recipes-core/initscripts/initscripts-1.0/save-rtc.sh @@ -10,4 +10,4 @@ ### END INIT INFO # Update the timestamp -date -u +%4Y%2m%2d%2H%2M%2S > /etc/timestamp +date -u +%4Y%2m%2d%2H%2M%2S 2>/dev/null > /etc/timestamp diff --git a/meta/recipes-core/initscripts/initscripts-1.0/sysfs.sh b/meta/recipes-core/initscripts/initscripts-1.0/sysfs.sh index 0a52c90dac..f5b5b9904b 100644 --- a/meta/recipes-core/initscripts/initscripts-1.0/sysfs.sh +++ b/meta/recipes-core/initscripts/initscripts-1.0/sysfs.sh @@ -22,6 +22,10 @@ if [ -e /sys/kernel/debug ] && grep -q debugfs /proc/filesystems; then mount -t debugfs debugfs /sys/kernel/debug fi +if [ -e /sys/kernel/config ] && grep -q configfs /proc/filesystems; then + mount -t configfs configfs /sys/kernel/config +fi + if ! [ -e /dev/zero ] && [ -e /dev ] && grep -q devtmpfs /proc/filesystems; then mount -n -t devtmpfs devtmpfs /dev fi diff --git a/meta/recipes-core/initscripts/initscripts-1.0/umountfs b/meta/recipes-core/initscripts/initscripts-1.0/umountfs index 61324c630b..7fb5c58b3e 100755 --- a/meta/recipes-core/initscripts/initscripts-1.0/umountfs +++ b/meta/recipes-core/initscripts/initscripts-1.0/umountfs @@ -12,7 +12,7 @@ PATH=/sbin:/bin:/usr/sbin:/usr/bin echo "Deactivating swap..." -swapoff -a +[ -x /sbin/swapoff ] && swapoff -a # We leave /proc mounted. echo "Unmounting local filesystems..." diff --git a/meta/recipes-core/initscripts/initscripts-1.0/volatiles b/meta/recipes-core/initscripts/initscripts-1.0/volatiles index 297245d0e4..bc17c4553d 100644 --- a/meta/recipes-core/initscripts/initscripts-1.0/volatiles +++ b/meta/recipes-core/initscripts/initscripts-1.0/volatiles @@ -1,11 +1,13 @@ # This configuration file lists filesystem objects that should get verified # during startup and be created if missing. # -# Every line must either be a comment starting with # -# or a definition of format: +# Entries have the following format: # <type> <owner> <group> <mode> <path> <linksource> # where the items are separated by whitespace ! # +# The # character introduces a comment lasting until end of line. +# Blank lines are ignored. +# # <type> : d|f|l : (d)irectory|(f)ile|(l)ink # # A linking example: |
