--- rc.sysinit.bak 2006-11-15 17:26:00.000000000 +0100 +++ rc.sysinit 2006-11-15 17:27:06.000000000 +0100 @@ -113,6 +113,20 @@ if [ -f /etc/crypttab ]; then $CS -d $cpass $copts create $cname $csrc >/dev/null fi fi + + # Swap check: makes crypttab work with /dev/*random keys + # Federico Quagliata (quaqo): federico.at.quagliata.org + if [ "$cname" = "swap" -o -b /dev/mapper/$cname ]; then + stat_busy "Checking for crypted swap on /dev/mapper/$cname" + if [ "`/lib/udev/vol_id -t /dev/mapper/$cname 2>&1`" = "/dev/mapper/$cname: unknown volume type" ]; then + stat_done + status "Creating a swap partition on /dev/mapper/$cname" mkswap /dev/mapper/$cname + else + stat_fail + status "/dev/mapper/$cname contains data: cannot be used as swap" $CS remove $cname + fi + fi + done