labsync/qemu.sh

35 lines
952 B
Bash
Executable file

#!/bin/sh
ifname_tap=taplabsync
ifname_br=brlabsync
TORRENT="$1.torrent"
KERNEL="$1.linux"
INITRAMFS="$1.initramfs"
SQUASHFS="$1"
if [ "$1" = "" ]; then
echo "you must supply an image name!" >&2
exit 1
fi
mkdir -p ./tmp
[ -e tmp/qemu-disk.img ] || qemu-img create tmp/qemu-disk.img 4G
sudo ip tuntap add dev $ifname_tap mode tap user $USER
sudo brctl addbr $ifname_br
sudo brctl addif $ifname_br $ifname_tap
sudo ip addr add 10.2.2.1/24 dev $ifname_br
sudo ip link set taplabsync up
sudo ip link set brlabsync up
qemu-system-x86_64 \
-kernel "images/$KERNEL" \
-initrd "images/$INITRAMFS" \
-drive format=raw,file=tmp/qemu-disk.img \
-drive format=raw,file=tmp/qemu-disk2.img \
-append "boot=labsync disk=/dev/sda partsize=3072 torrent=http://10.2.2.1/$TORRENT torrent_file=$SQUASHFS quiet vga=792 ip=10.2.2.2:::255.255.255.0:qemumachine:ens3:off" \
-enable-kvm \
-m 1G \
-net nic \
-net tap,ifname=$ifname_tap,script=no,downscript=no