From f5f6c29e99b51fb7471cb4ecf02f5846607e0f1d Mon Sep 17 00:00:00 2001 From: Andrew Rynhard Date: Wed, 21 Aug 2019 14:38:04 +0000 Subject: [PATCH] chore: add QEMU script This script will help in low-level development. Signed-off-by: Andrew Rynhard --- hack/dev/qemu-boot.sh | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100755 hack/dev/qemu-boot.sh diff --git a/hack/dev/qemu-boot.sh b/hack/dev/qemu-boot.sh new file mode 100755 index 000000000..91b75627d --- /dev/null +++ b/hack/dev/qemu-boot.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +set -e + +if [[ $# -ne 1 ]]; then + echo 1>&2 "Usage: $0 " + exit 3 +fi + +case $(uname -s) in + LINUX*) + ACCEL=kvm + ;; + + Darwin*) + ACCEL=hvf + ;; + *) + exit 1 + ;; +esac + +KERNEL="build/vmlinuz" +INITRD="build/initramfs.xz" +IMAGE="/tmp/rootfs.qcow2" +MACHINE_CONFIG="${1}" + +qemu-img create -f qcow2 ${IMAGE} 8G + +qemu-system-x86_64 \ + -m 2048 \ + -accel ${ACCEL},thread=multi \ + -cpu max \ + -smp 2 \ + -hda ${IMAGE} \ + -netdev user,id=talos,ipv4=on,net=10.254.0.0/24,dhcpstart=10.254.0.10,hostfwd=tcp::50000-:50000,hostname=master-1 \ + -device virtio-net,netdev=talos \ + -nographic \ + -serial mon:stdio \ + -no-reboot \ + -append "talos.platform=metal page_poison=1 slab_nomerge pti=on random.trust_cpu=on printk.devkmsg=on earlyprintk=serial,tty0,keep console=tty0 talos.userdata=${MACHINE_CONFIG}" \ + -kernel ${KERNEL} \ + -initrd ${INITRD}