system-maintenance: Update flatpaks
[bin.git] / vmbr
1 #!/bin/sh
2 set -e
3 image="$1"
4 bridge=br0
5 [ -e "$image" ] || { echo "Usage: $0 <image> [options...]" >&2; exit 1; }
6 shift
7
8 # generate tap setup script
9 script=`mktemp --tmpdir qemu.tap.script.XXXXXX`
10 /bin/echo -e '#!/bin/sh\nip link set "$1" up\nip link set "$1" master' $bridge > $script
11 chmod 755 $script
12
13 # find a free MAC adddress
14 i=0
15 while [ $i -lt 255 ]; do
16     MAC=$(printf '52:54:00:12:34:%02x' $i)
17     arp -ani $bridge | grep -q $MAC || break
18     i=$((i+1))
19 done
20 echo "MAC address: $MAC"
21
22 sudo qemu-system-x86_64 -enable-kvm -m 2048 -drive file="$image",if=virtio \
23     -net tap,script=$script,downscript=no -net nic,model=virtio,macaddr=$MAC "$@"
24 rm $script