--- functions | 7 +++++++ rc.sysinit | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/functions b/functions index 43414c0..9ad75a9 100644 --- a/functions +++ b/functions @@ -428,6 +428,13 @@ install_file() { install -T "$@" <(printf '%s' "$content") "$file" } +# install would fail because files can't be removed from /proc +# moreover we don't want to remove nodes from /dev +write_file() { + local file=$1 content=$2 + printf '%s' "$content" >| "$file" +} + bootlogd_stop() { [[ -f /run/bootlogd.pid ]] || return 0 touch /var/log/boot diff --git a/rc.sysinit b/rc.sysinit index dcc88f5..2c08f02 100755 --- a/rc.sysinit +++ b/rc.sysinit @@ -209,7 +209,7 @@ status "Activating Swap" swapon -a RANDOM_SEED=/var/lib/misc/random-seed [[ -f $RANDOM_SEED ]] && status "Initializing Random Seed" \ - install_file /dev/urandom "$(< "$RANDOM_SEED" )" + cp "$RANDOM_SEED" /dev/urandom stat_busy "Removing Leftover Files" rm -rf /etc/{nologin,shutdownpid} /forcefsck /tmp/* /tmp/.* &>/dev/null @@ -225,7 +225,7 @@ stat_done [[ $HOSTNAME ]] && status "Setting Hostname: $HOSTNAME" \ - install_file /proc/sys/kernel/hostname "$HOSTNAME" + write_file /proc/sys/kernel/hostname "$HOSTNAME" # Flush old locale settings and set user defined locale status "Setting Locale: ${LOCALE:=en_US}" \ -- 1.7.1