diff options
Diffstat (limited to 'vm')
| -rwxr-xr-x | vm/alpine/run.sh | 25 | ||||
| -rwxr-xr-x | vm/archlinux/armv7/run.sh | 49 | ||||
| -rwxr-xr-x | vm/debian/armv7/run.sh | 49 | ||||
| -rwxr-xr-x | vm/openbsd/run.sh | 25 | ||||
| -rwxr-xr-x | vm/win11/run.sh (renamed from vm/vm-win11) | 0 |
5 files changed, 148 insertions, 0 deletions
diff --git a/vm/alpine/run.sh b/vm/alpine/run.sh new file mode 100755 index 0000000..8681b9d --- /dev/null +++ b/vm/alpine/run.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +set -e + +cd $(dirname -- "$0") + +if [ ! -f alpine.iso ]; then + curl -L -o alpine.iso https://dl-cdn.alpinelinux.org/alpine/v3.14/releases/x86_64/alpine-virt-3.14.1-x86_64.iso +fi + +if [ ! -f alpine.qcow2 ]; then + qemu-img create -f qcow2 alpine.qcow2 20G +fi + +exec qemu-system-x86_64 \ + -enable-kvm \ + -cpu host \ + -hda alpine.qcow2 \ + -cdrom alpine.iso \ + -m 2G \ + -device e1000,netdev=net0 \ + -netdev user,id=net0 \ + -usb \ + -device usb-tablet \ + "$@" diff --git a/vm/archlinux/armv7/run.sh b/vm/archlinux/armv7/run.sh new file mode 100755 index 0000000..c53adb7 --- /dev/null +++ b/vm/archlinux/armv7/run.sh @@ -0,0 +1,49 @@ +#!/bin/sh + +set -e + +cd $(dirname -- "$0") + +ROOT_URL=http://os.archlinuxarm.org/os/ArchLinuxARM-armv7-latest.tar.gz +IMG_PATH=archlinuxarm.img +KERNEL_PATH=boot/zImage +INITRAMFS_PATH=boot/initramfs-linux.img + +ROOT_PATH=$(basename $ROOT_URL) + +if [ ! -f $ROOT_PATH ]; then + curl -L -o $ROOT_PATH $ROOT_URL +fi + +if [ ! \( \( -f $KERNEL_PATH \) -a \ + \( -f $INITRAMFS_PATH \) \) ]; then + bsdtar -xf $ROOT_PATH $KERNEL_PATH $INITRAMFS_PATH +fi + +if [ ! -f $IMG_PATH ]; then + truncate -s 2G $IMG_PATH + mkfs.ext4 -q $IMG_PATH + mkdir -p mnt + doas mount -o loop $IMG_PATH mnt + doas bsdtar -xpf $ROOT_PATH -C mnt + doas umount mnt + rmdir mnt +fi + +exec qemu-system-arm \ + -machine virt \ + -cpu cortex-a15 \ + -m 2G \ + -kernel $KERNEL_PATH \ + -initrd $INITRAMFS_PATH \ + -append "root=/dev/sda rw" \ + -drive if=none,file=$IMG_PATH,format=raw,id=drive0 \ + -netdev user,id=netdev0 \ + -device virtio-scsi-pci,id=scsi \ + -device virtio-blk-pci,drive=drive0 \ + -device virtio-net-pci,netdev=netdev0 \ + -nographic \ + "$@" + + + diff --git a/vm/debian/armv7/run.sh b/vm/debian/armv7/run.sh new file mode 100755 index 0000000..33f3ff3 --- /dev/null +++ b/vm/debian/armv7/run.sh @@ -0,0 +1,49 @@ +#!/bin/sh + +set -e + +cd $(dirname -- "$0") + +ISO_URL=https://cdimage.debian.org/debian-cd/current/armhf/iso-cd/debian-11.6.0-armhf-netinst.iso +KERNEL_URL=http://ftp.us.debian.org/debian/dists/stable/main/installer-armhf/current/images/cdrom/vmlinuz +INITRD_URL=http://ftp.us.debian.org/debian/dists/stable/main/installer-armhf/current/images/cdrom/initrd.gz + +ISO_PATH=$(basename $ISO_URL) +KERNEL_PATH=$(basename $KERNEL_URL) +INITRD_PATH=$(basename $INITRD_URL) + +IMG_PATH=debian.qcow2 + +if [ ! -f $ISO_PATH ]; then + curl -L -o $ISO_PATH $ISO_URL +fi + +if [ ! -f $KERNEL_PATH ]; then + curl -L -o $KERNEL_PATH $KERNEL_URL +fi + +if [ ! -f $INITRD_PATH ]; then + curl -L -o $INITRD_PATH $INITRD_URL +fi + +if [ ! -f $IMG_PATH ]; then + qemu-img create -f qcow2 $IMG_PATH 20G +fi + +exec qemu-system-arm \ + -machine virt \ + -cpu cortex-a15 \ + -smp 4 \ + -m 2G \ + -kernel $KERNEL_PATH \ + -initrd $INITRD_PATH \ + -append "console=ttyAMA0" \ + -drive if=none,file=$ISO_PATH,media=cdrom,id=drive0 \ + -drive if=none,file=$IMG_PATH,media=disk,id=drive1 \ + -netdev user,id=netdev0 \ + -device virtio-scsi-device \ + -device scsi-cd,drive=drive0 \ + -device scsi-hd,drive=drive1 \ + -device virtio-net-device,netdev=netdev0 \ + -nographic \ + "$@" diff --git a/vm/openbsd/run.sh b/vm/openbsd/run.sh new file mode 100755 index 0000000..ac5d7a9 --- /dev/null +++ b/vm/openbsd/run.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +set -e + +cd $(dirname -- "$0") + +if [ ! -f openbsd.iso ]; then + curl -L -o openbsd.iso https://cdn.openbsd.org/pub/OpenBSD/6.9/i386/cd69.iso +fi + +if [ ! -f openbsd.qcow2 ]; then + qemu-img create -f qcow2 openbsd.qcow2 20G +fi + +exec qemu-system-x86_64 \ + -enable-kvm \ + -cpu host \ + -hda openbsd.qcow2 \ + -cdrom openbsd.iso \ + -m 2G \ + -device e1000,netdev=net0 \ + -netdev user,id=net0 \ + -usb \ + -device usb-tablet \ + "$@" diff --git a/vm/vm-win11 b/vm/win11/run.sh index 195bbed..195bbed 100755 --- a/vm/vm-win11 +++ b/vm/win11/run.sh |
