X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Fboot%2F3020-swapon;h=3df90de0e869b147ca303e6e3e438d2afd2bf4a0;hb=807aa6389f094accf58d6b4b654679d1dcbc84aa;hp=158d81b11bc6623542c34fd0724d2fc2ccfa4488;hpb=234eb49696ce11fe387df786b23a159074c32e9b;p=live-boot-grml.git diff --git a/scripts/boot/3020-swapon b/scripts/boot/3020-swapon index 158d81b..3df90de 100755 --- a/scripts/boot/3020-swapon +++ b/scripts/boot/3020-swapon @@ -2,20 +2,34 @@ #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=}" + ;; - if [ -e /run ] - then - # wheezy - _FSTAB="/root/etc/fstab.d/swap" - else - # squeeze - _FSTAB="/root/etc/fstab" - fi + live-boot.swap|swap) + LIVE_SWAP="true" + ;; + esac + done + + case "${LIVE_SWAP}" in + true) + ;; + + *) + return 0 + ;; + esac + + LIVE_SWAP_DEVICES="${LIVE_SWAP_DEVICES:-/dev/sd* /dev/vd*}" - for _DEVICE in ${_DEVICES} + for _DEVICE in $(echo ${LIVE_SWAP_DEVICES} | sed -e 's|,| |g') do if [ ! -b "${_DEVICE}" ] then @@ -34,15 +48,15 @@ Swapon () done # Remove all auto swap entries - if grep -qs "swap swap" "${_FSTAB}" + if grep -qs "swap swap" /root/etc/fstab.d/swap then - grep -v "swap swap" "${_FSTAB}" > "${_FSTAB}".tmp - mv "${_FSTAB}".tmp "${_FSTAB}" + grep -v "swap swap" /root/etc/fstab.d/swap > /root/etc/fstab.d/swap.tmp + mv /root/etc/fstab.d/swap.tmp /root/etc/fstab.d/swap fi # Add new swap entries - for _DEVICE in _SWAP_DEVICES + for _DEVICE in ${_SWAP_DEVICES} do - echo "${_DEVICE} swap swap defaults 0 0" >> "${_FSTAB}" + echo "${_DEVICE} swap swap defaults 0 0" >> /root/etc/fstab.d/swap done }