X-Git-Url: https://git.madduck.net/code/vinst.git/blobdiff_plain/23c0e42920949f303e365f05cb6442f62bd19d26..9a7aa718329727e694b2d48fb0061dfd803ca846:/vinst diff --git a/vinst b/vinst index 9a13b35..bf0a14d 100755 --- a/vinst +++ b/vinst @@ -78,6 +78,14 @@ while [ -n "$1" ]; do fi ARCH="$1" ;; + (-m|--mac) + shift + if [ -z "$1" ]; then + echo >&2 'E: --mac/-m needs mac address argument' + exit 1 + fi + MAC="$1" + ;; (--debug) DEBUG=1 set -vx @@ -132,6 +140,11 @@ if [ -z "$ARCH" ]; then ARCH=$(dpkg --print-architecture) fi +if [ -z "$MAC" ]; then + bytes=$(dd status=none if=/dev/urandom bs=3 count=1 | hexdump -v -e '/1 ":%02X"') + MAC=52:54:00$bytes +fi + cat >&2 <<_eof hostname: $HOSTNAME arch: $ARCH @@ -141,6 +154,7 @@ cat >&2 <<_eof console: $CONSOLE restart: $RESTART net bridge: $BRIDGE +macaddress: $MAC _eof if [ -n "$IPADDRESS" ]; then cat >&2 <<_eof @@ -172,7 +186,7 @@ virt-install --connect=$QEMU_URI \ -n $HOSTNAME \ -r $RAM \ --disk vol=$STORAGE_POOL/virt-$HOSTNAME \ - -w bridge=$BRIDGE \ + --network bridge=$BRIDGE,mac=$MAC \ --graphics=vnc \ --serial=pty \ --watchdog i6300esb,action=reset \