#!/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