Factoring out debug into an own function.
[live-boot-grml.git] / scripts / boot / 3020-swapon
index 158d81b..82e998a 100755 (executable)
@@ -2,9 +2,28 @@
 
 #set -e
 
-Swapon ()
+Swap ()
 {
-       _DEVICES="/dev/sd* /dev/vd*"
+       for _PARAMETER in ${_CMDLINE}
+       do
+               case "${_PARAMETER}" in
+                       live-boot.swap=*|swap=*)
+                               LIVE_SWAP="true"
+                               LIVE_SWAP_DEVICES="${_PARAMETER#*swap=}"
+                               ;;
+
+                       live-boot.swap|swap)
+                               LIVE_SWAP="true"
+                               ;;
+               esac
+       done
+
+       if [ "${LIVE_SWAP}" != "true" ]
+       then
+               return 0
+       fi
+
+       LIVE_SWAP_DEVICES="${LIVE_SWAP_DEVICES:-/dev/sd* /dev/vd*}"
 
        if [ -e /run ]
        then
@@ -15,7 +34,7 @@ Swapon ()
                _FSTAB="/root/etc/fstab"
        fi
 
-       for _DEVICE in ${_DEVICES}
+       for _DEVICE in $(echo ${LIVE_SWAP_DEVICES} | sed -e 's|,| |g')
        do
                if [ ! -b "${_DEVICE}" ]
                then
@@ -41,7 +60,7 @@ Swapon ()
        fi
 
        # Add new swap entries
-       for _DEVICE in _SWAP_DEVICES
+       for _DEVICE in ${_SWAP_DEVICES}
        do
                echo "${_DEVICE} swap swap defaults 0 0" >> "${_FSTAB}"
        done