X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Flive-bottom%2F13swap;h=8fc718ca60033484ed1a8a07f44487bc74ff4dca;hb=849a3d4cbee9743b70c515cf34619b3730637517;hp=fcef76c08f652b9adf341092291255bde891a825;hpb=292e65d84b99afa4c9240c23e1433b828af80ba3;p=live-boot-grml.git diff --git a/scripts/live-bottom/13swap b/scripts/live-bottom/13swap index fcef76c..8fc718c 100755 --- a/scripts/live-bottom/13swap +++ b/scripts/live-bottom/13swap @@ -1,44 +1,64 @@ #!/bin/sh -PREREQ="" -DESCRIPTION="Setting up swap..." -FSTAB=/root/etc/fstab +#set -e -. /scripts/live-functions +# initramfs-tools header + +PREREQ="" prereqs() { - echo "$PREREQ" + echo "${PREREQ}" } -case $1 in -# get pre-requisites -prereqs) - prereqs - exit 0 - ;; +case "${1}" in + prereqs) + prereqs + exit 0 + ;; esac -log_begin_msg "$DESCRIPTION" +# live-initramfs header + +if [ -z "${SWAPON}" ] || [ -n "${NOFSTAB}" ] +then + exit 0 +fi + +. /scripts/live-functions + +log_begin_msg "Setting up swap" +# live-initramfs script + +FSTAB=/root/etc/fstab devices="" -for device in /dev/[hs]d[a-z][0-9]*; do - if ! [ -b "$device" ]; then - 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 + +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 -for device in $devices; do - cat >> $FSTAB <> ${FSTAB} << EOF +${device} swap swap defaults 0 0 EOF + done log_end_msg