Resync with Debian git
[live-initramfs-grml.git] / scripts / live-bottom / 12fstab
index d246a59..22c11a0 100755 (executable)
@@ -55,6 +55,42 @@ then
        echo "tmpfs /tmp tmpfs nosuid,nodev 0 0" >> "${FSTAB}"
 fi
 
+if [ -z "${NOSWAP}" ]
+then
+       devices=""
+
+       for device in /dev/[hs]d[a-z][0-9]*
+       do
+               if ! [ -b "${device}" ]
+               then
+                       continue
+               fi
+
+               /lib/udev/vol_id ${device%%[0-9]*} 2>/dev/null | grep -q "^ID_FS_USAGE=raid" && continue
+
+               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