Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save 0x524c/35474f8cc1e674c42e726d01fbff1566 to your computer and use it in GitHub Desktop.

Select an option

Save 0x524c/35474f8cc1e674c42e726d01fbff1566 to your computer and use it in GitHub Desktop.
run qemu-aarch64 on macOS
#!/bin/bash
#qemu-img create -f qcow2 disk.qcow2 20G
#qemu-img create -f qcow2 varstore.img 128M
debian_iso=debian-9.6.0-arm64-xfce-CD-1.iso
qemu-system-aarch64 -smp cpus=6 -M virt -cpu max -m 2G -nographic \
-drive file=QEMU_EFI.img,if=pflash,format=raw \
-drive file=varstore.img,if=pflash \
-drive file=disk.qcow2,if=virtio \
-drive file=$debian_iso,if=virtio,format=raw
#!/bin/bash
function create() {
ifconfig bridge1 create
ifconfig bridge1 192.168.100.1/24
sysctl -w net.inet.ip.forwarding=1
pfctl -F all
pfctl -f /opt/etc/pfctl-nat-config -e
}
FUNC=$(declare -f create)
sudo bash -c "$FUNC; create"
#!/bin/bash
#: /opt/bin/qemu-ifdown.sh
ifconfig bridge1 deletem $1
#!/bin/bash
#: /opt/bin/qemu-ifup.sh
ifconfig bridge1 addm $1
#!/bin/bash
#run create-network.sh manually
DISPLAY="-daemonize -serial telnet:localhost:7000,server,nowait,nodelay -monitor telnet:localhost:7100,server,nowait,nodelay -vnc :0"
sudo qemu-system-aarch64 -smp cpus=6 -M virt -cpu max -m 2G $DISPLAY\
-pidfile $pidfile \
-drive file=QEMU_EFI.img,if=pflash,format=raw \
-drive file=varstore.img,if=pflash \
-drive file=disk.qcow2,if=virtio \
-netdev tap,id=my_vnet_2,br=/dev/bridge1,script=/opt/bin/qemu-ifup.sh,downscript=/opt/bin/qemu-ifdown.sh \
-device e1000,netdev=my_vnet_2,mac=52:54:00:12:34:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment