X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Fsystem%2Fadd_swap_mount.sh;fp=scripts%2Fsystem%2Fadd_swap_mount.sh;h=608ffc5c3306cef0a4f241f934a784e4f948a7c2;hb=c3859c54f45adfb296858249c26a9d1b09c94112;hp=2577f44ae4f653164dbd109d4e3449d6b75c417f;hpb=ba3f62c381e322117a57d1e09b0e7529d25d44ed;p=feisty_meow.git diff --git a/scripts/system/add_swap_mount.sh b/scripts/system/add_swap_mount.sh index 2577f44a..608ffc5c 100644 --- a/scripts/system/add_swap_mount.sh +++ b/scripts/system/add_swap_mount.sh @@ -2,22 +2,52 @@ # auto-find the scripts, since we might want to run this as sudo. 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 +export FEISTY_MEOW_APEX="$( \cd "$WORKDIR/../.." && \pwd )" +source "$FEISTY_MEOW_APEX/scripts/core/launch_feisty_meow.sh" + +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 "\ +$(basename $0): +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 0 +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