35e423ca41
Previous implementation was blocking the init and breaking halt/reboot/sysupgrade (reported by Daniel Golle) v2: use procd logging, use set -e + trap for error handling Signed-off-by: Etienne CHAMPETIER <champetier.etienne@gmail.com> Tested-by: Daniel Golle <daniel@makrotopia.org>
20 lines
398 B
Bash
Executable file
20 lines
398 B
Bash
Executable file
#!/bin/sh
|
|
set -e
|
|
|
|
trap '[ "$?" -eq 0 ] || echo "An error occured" >&2' EXIT
|
|
|
|
save() {
|
|
touch "$1.tmp"
|
|
chown root:root "$1.tmp"
|
|
chmod 600 "$1.tmp"
|
|
getrandom 512 > "$1.tmp"
|
|
mv "$1.tmp" "$1"
|
|
echo "Seed saved ($1)"
|
|
}
|
|
|
|
SEED="$(uci -q get system.@system[0].urandom_seed || true)"
|
|
[ "${SEED:0:1}" == "/" ] && save "$SEED"
|
|
|
|
SEED=/etc/urandom.seed
|
|
[ ! -f $SEED ] && save "$SEED"
|
|
true
|