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