вобщем, поскольку целевая ОС (maemo) упорно не хочет запускать скрипты из rc2.d и плюет на /etc/modules, приходится (из своего скрипта) патчить /etc/event.d/rcS-late. В принципе, получается, но как-то криво...
prng_subst="
# Initialize PRNG pool with the HW RNG. Slow, but that's ok.
URANDOM_POOLSZ=512
if [ -e /dev/hwrng ]; then
echo \"Seeding entropy pool\"
dd if=/dev/hwrng of=/dev/urandom bs=\$URANDOM_POOLSZ count=1
fi
"
crypto_ins="
modprobe dm-mod
modprobe dm-crypt
/etc/init.d/cryptdisks start
"
cat /etc/event.d/rcS-late | awk -v dst="$subst_dst" '{ if (index($0, dst) == 0) gsub("sfdisk -l /dev/mmcblk0", dst); print; }' > /tmp/rcS-late.tmp
cat /tmp/rcS-late.tmp | awk -v dst="$prng_subst" -v ins="$crypto_ins" 'BEGIN { RS="" } { if (NR == 6) { printf("\n%s\n%s\n", dst, ins); print; } else if (NR == 15) print ""; else print }' > /etc/event.d/rcS-late
это дело работает, но последнее выражение нарушает в хлам форматирование исходного rcS-late и, самое главное, использование NR в таком контексте кажется мне жутким костылем... а возможности работы с регулярными выражениями там по-моему на порядок скромнее, чем в perl...
подскажите, плиз, как избавиться от костыля :)