paul@22 | 1 | #!/bin/bash |
paul@22 | 2 | # Usage: uml-setupfs <root-filesystem-size-in-GB> <swap-size-in-MB> |
paul@22 | 3 | |
paul@22 | 4 | # Configuration: |
paul@22 | 5 | if [ -e userinstall-defaults-uml ]; then |
paul@22 | 6 | source userinstall-defaults-uml |
paul@22 | 7 | elif [ -e /etc/default/userinstall-uml ]; then |
paul@22 | 8 | source /etc/default/userinstall-uml |
paul@22 | 9 | else |
paul@22 | 10 | echo "No defaults found for userinstall (UML)." |
paul@22 | 11 | exit 1 |
paul@22 | 12 | fi |
paul@22 | 13 | |
paul@22 | 14 | # Ensure arguments have been provided. |
paul@22 | 15 | if [[ ! $1 || ! $2 ]]; then |
paul@22 | 16 | echo "$0 <root-filesystem-size-in-GB> <swap-size-in-MB>" |
paul@22 | 17 | exit 1 |
paul@22 | 18 | fi |
paul@22 | 19 | |
paul@22 | 20 | # Make the UML instance directory if not already present. |
paul@22 | 21 | |
paul@22 | 22 | echo "Making the UML instance directory at $UMLROOT..." |
paul@22 | 23 | if [ ! -e $UMLROOT ]; then |
paul@22 | 24 | mkdir $UMLROOT |
paul@22 | 25 | fi |
paul@22 | 26 | |
paul@22 | 27 | export IMAGE=$UMLROOT/rootfs |
paul@22 | 28 | export IMAGESIZE=$1 |
paul@22 | 29 | export SWAPIMAGE=$UMLROOT/swap |
paul@22 | 30 | export SWAPSIZE=$2 |
paul@22 | 31 | |
paul@22 | 32 | echo "Making the filesystem with size ${IMAGESIZE}GB..." |
paul@22 | 33 | dd if=/dev/zero of=$IMAGE bs=1024 count=1 seek=$((${IMAGESIZE}*1024*1024-1024)) |
paul@22 | 34 | mkfs.ext3 $IMAGE |
paul@22 | 35 | |
paul@22 | 36 | echo "Making the swap file with size ${SWAPSIZE}MB..." |
paul@22 | 37 | dd if=/dev/zero of=$SWAPIMAGE bs=1M count=$SWAPSIZE |