X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Fsystem%2Fadd_swap_mount.sh;h=f1c019ea51389a355deaa22793d32755a871663c;hb=118398d89faf1a6261b13a4c31ddaac55c92cd3c;hp=2577f44ae4f653164dbd109d4e3449d6b75c417f;hpb=1e4b3bbad01aa1935f32dee3ae4a241e279675c9;p=feisty_meow.git diff --git a/scripts/system/add_swap_mount.sh b/scripts/system/add_swap_mount.sh index 2577f44a..f1c019ea 100644 --- a/scripts/system/add_swap_mount.sh +++ b/scripts/system/add_swap_mount.sh @@ -4,20 +4,48 @@ export WORKDIR="$( \cd "$(\dirname "$0")" && /bin/pwd )" # obtain the script's working directory. source "$WORKDIR/../core/launch_feisty_meow.sh" -#hmmm: should be able to add a new swap drive if desired. - -#hmmm: why all the hard-coded paths below? - -/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=2048 +if [[ $EUID != 0 ]]; then + echo "This script must be run as root or sudo." + exit 1 +fi + +# optional parameters: the instance number of the swap file (best as a number), +# and the size of the swap file to add. +SWAP_INSTANCE="$1"; shift +SWAP_SIZE="$1"; shift + +if [ "$SWAP_INSTANCE" == "--help" ]; then + echo "\ +This script will add a swap partition for Linux that uses hard drive space for +swap memory. This increases the amount of available memory on RAM constrained +systems. It accepts two parameters: (1) the instance of the swap file, which +should be a small number not already used for a swap partition, and (2) the +size of the swap file in megabytes." + exit 1 +fi + +# if the swap instance variable is already set, then we'll use it. +# this allows multiple different swap partitions to be added. +if [ -z "$SWAP_INSTANCE" ]; then + SWAP_INSTANCE=1 +fi + +# allow the amount of swap space to be determined from outside the script. +# this is measured in megabytes. +if [ -z "$SWAP_SIZE" ]; then + SWAP_SIZE=2048 +fi + +/bin/dd if=/dev/zero of=/var/swap.${SWAP_INSTANCE} bs=1M count=${SWAP_SIZE} test_or_die "creating swap file" -/bin/chmod 600 /var/swap.1 +/bin/chmod 600 /var/swap.${SWAP_INSTANCE} test_or_die "setting swap file permissions" -/sbin/mkswap /var/swap.1 +/sbin/mkswap /var/swap.${SWAP_INSTANCE} test_or_die "formatting swap file as swap partition" -/sbin/swapon /var/swap.1 +/sbin/swapon /var/swap.${SWAP_INSTANCE} test_or_die "enabling new swap partition" free