X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Flive-bottom%2F12fstab;h=cd78edfd178bf4483bb6452e4872e7130301c931;hb=6112649bf507da5d58ae1841bc1fe2f61e90a30c;hp=d246a5905c34dfa1069b1d494bc36a57b95d0d67;hpb=10af87f0f8566c5913d60330fccec6bcc402faea;p=live-boot-grml.git diff --git a/scripts/live-bottom/12fstab b/scripts/live-bottom/12fstab index d246a59..cd78edf 100755 --- a/scripts/live-bottom/12fstab +++ b/scripts/live-bottom/12fstab @@ -55,6 +55,50 @@ then echo "tmpfs /tmp tmpfs nosuid,nodev 0 0" >> "${FSTAB}" fi +if [ -n "${SWAPON}" ] +then + devices="" + + for device in /dev/[hs]d[a-z][0-9]* + do + if ! [ -b "${device}" ] + then + continue + fi + + # udev (>= 146) no longer provides vol_id + if [ -x /lib/udev/vol_id ] + then + # lenny + /lib/udev/vol_id ${device%%[0-9]*} 2>/dev/null | grep -q "^ID_FS_USAGE=raid" && continue + else + # squeeze + /sbin/blkid -o udev -p ${device%%[0-9]*} | grep -q "^ID_FS_USAGE=raid" && continue + fi + + magic=$(/bin/dd if="${device}" bs=4086 skip=1 count=1 2>/dev/null | /bin/dd bs=10 count=1 2>/dev/null) || continue + + if [ "${magic}" = "SWAPSPACE2" -o "${magic}" = "SWAP-SPACE" ] + then + #log "Found ${device}" + devices="${devices} ${device}" + fi + done + + # Remove all auto swap entries + if grep -qs "swap swap" "${FSTAB}" + then + grep -v "swap swap" "${FSTAB}" > "${FSTAB}".tmp + mv "${FSTAB}".tmp "${FSTAB}" + fi + + # Add new swap entries + for device in ${devices} + do + echo "${device} swap swap defaults 0 0" >> "${FSTAB}" + done +fi + # disabled for now #rm -f /root/etc/rcS.d/S*checkroot.sh