X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Fboot%2F3020-swapon;h=3df90de0e869b147ca303e6e3e438d2afd2bf4a0;hb=807aa6389f094accf58d6b4b654679d1dcbc84aa;hp=281fd041f38c46afd78307fd91fed375de9569ab;hpb=ea1d815ce23382da55f4f059171d84092f08a4a3;p=live-boot-grml.git diff --git a/scripts/boot/3020-swapon b/scripts/boot/3020-swapon index 281fd04..3df90de 100755 --- a/scripts/boot/3020-swapon +++ b/scripts/boot/3020-swapon @@ -2,25 +2,34 @@ #set -e -Swapon () +Swap () { - if [ "${LIVE_SWAPON}" != "true" ] - then - return 0 - fi + for _PARAMETER in ${_CMDLINE} + do + case "${_PARAMETER}" in + live-boot.swap=*|swap=*) + LIVE_SWAP="true" + LIVE_SWAP_DEVICES="${_PARAMETER#*swap=}" + ;; - LIVE_SWAPON_DEVICES="${LIVE_SWAPON_DEVICES:-/dev/sd* /dev/vd*}" + live-boot.swap|swap) + LIVE_SWAP="true" + ;; + esac + done - if [ -e /run ] - then - # wheezy - _FSTAB="/root/etc/fstab.d/swap" - else - # squeeze - _FSTAB="/root/etc/fstab" - fi + case "${LIVE_SWAP}" in + true) + ;; + + *) + return 0 + ;; + esac + + LIVE_SWAP_DEVICES="${LIVE_SWAP_DEVICES:-/dev/sd* /dev/vd*}" - for _DEVICE in $(echo ${LIVE_SWAPON_DEVICES} | sed -e 's|,| |g') + for _DEVICE in $(echo ${LIVE_SWAP_DEVICES} | sed -e 's|,| |g') do if [ ! -b "${_DEVICE}" ] then @@ -39,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} do - echo "${_DEVICE} swap swap defaults 0 0" >> "${_FSTAB}" + echo "${_DEVICE} swap swap defaults 0 0" >> /root/etc/fstab.d/swap done }