paul@31 | 1 | #!/bin/sh |
paul@22 | 2 | |
paul@22 | 3 | # Configuration: |
paul@22 | 4 | if [ -e userinstall-defaults-uml ]; then |
paul@31 | 5 | . "$PWD/userinstall-defaults-uml" |
paul@22 | 6 | elif [ -e /etc/default/userinstall-uml ]; then |
paul@31 | 7 | . /etc/default/userinstall-uml |
paul@22 | 8 | else |
paul@31 | 9 | echo "No defaults found for userinstall (UML)." 1>&2 |
paul@22 | 10 | exit 1 |
paul@22 | 11 | fi |
paul@22 | 12 | |
paul@31 | 13 | PROGNAME=`basename "$0"` |
paul@31 | 14 | |
paul@34 | 15 | if [ ! "$1" ] || [ "$1" = '--help' ]; then |
paul@42 | 16 | echo "Usage: $PROGNAME <memory-with-unit> [ --net ] [ --initrd <initrd-file> <filesystem-image> ]" 1>&2 |
paul@25 | 17 | exit 1 |
paul@25 | 18 | fi |
paul@25 | 19 | |
paul@31 | 20 | UML_MEMORY="$1" |
paul@22 | 21 | |
paul@27 | 22 | # Discard the memory argument. |
paul@27 | 23 | |
paul@27 | 24 | shift 1 |
paul@27 | 25 | |
paul@27 | 26 | # Test for networking. |
paul@27 | 27 | |
paul@31 | 28 | if [ "$1" = '--net' ]; then |
paul@31 | 29 | UML_NETWORKING="$NETDEVICE=tuntap,$TUNDEVICE,fe:fd:0:0:0:1,$HOSTADDRESS" |
paul@30 | 30 | xhost +"$GUESTADDRESS" |
paul@27 | 31 | shift 1 |
paul@27 | 32 | fi |
paul@27 | 33 | |
paul@42 | 34 | # Test for initrd. |
paul@42 | 35 | |
paul@42 | 36 | if [ "$1" = '--initrd' ]; then |
paul@42 | 37 | shift 1 |
paul@42 | 38 | INITRD_OPTIONS="initrd=$1 root=/dev/ram load_ramdisk=1 ubd2=$2" |
paul@42 | 39 | shift 2 |
paul@42 | 40 | else |
paul@42 | 41 | INITRD_OPTIONS= |
paul@42 | 42 | fi |
paul@42 | 43 | |
paul@22 | 44 | # Now we start the virtual machine... |
paul@25 | 45 | |
paul@44 | 46 | ./linux ubd0="$IMAGE" rw ubd1="$SWAPIMAGE" rw mem="$UML_MEMORY" con0=fd:0,fd:1 con=pts "$UML_NETWORKING" $INITRD_OPTIONS $* |