From c96fd4bee7696ccdae4b75517142f9a38f2b3d2b Mon Sep 17 00:00:00 2001 From: ange Date: Tue, 27 Feb 2024 17:33:02 +0100 Subject: [PATCH] feat: win2k22 --- win2k22/create.sh | 21 +++++++++++++++++++++ win2k22/download_isos.sh | 8 ++++++++ win2k22/lib.sh | 25 +++++++++++++++++++++++++ win2k22/run.sh | 6 ++++++ 4 files changed, 60 insertions(+) create mode 100755 win2k22/create.sh create mode 100755 win2k22/download_isos.sh create mode 100644 win2k22/lib.sh create mode 100755 win2k22/run.sh diff --git a/win2k22/create.sh b/win2k22/create.sh new file mode 100755 index 0000000..2b8c8b5 --- /dev/null +++ b/win2k22/create.sh @@ -0,0 +1,21 @@ +#!/bin/bash -e +cd "$(dirname "$0")" +. ./lib.sh + +if [ -f hda.qcow2 ]; then + echo -e "Disk file exists. Are you sure you don't want" \ + "\e[1m\e[31m./run.sh\e[0m?\nCtrl-C to interrupt" >&2 + read -r +fi + +qemu-img create -f qcow2 hda.qcow2 40G + +CMD=( + "${CMD[@]}" + -drive file=win2k22.iso,index=1,media=cdrom,readonly=on \ + -drive file=virtio.iso,index=2,media=cdrom,readonly=on \ + #-drive file.driver=http,file.filename=http://example.com/image.qcow2 + -nic none # you don't want internet access for a windows installation +) + +"${CMD[@]}" diff --git a/win2k22/download_isos.sh b/win2k22/download_isos.sh new file mode 100755 index 0000000..a486f12 --- /dev/null +++ b/win2k22/download_isos.sh @@ -0,0 +1,8 @@ +#!/bin/bash -e + +win2k22='https://go.microsoft.com/fwlink/p/?LinkID=2195280' +virtio='https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso' + +curl -LC- \ + -o win2k22.iso "$win2k22" \ + -o virtio.iso "$virtio" diff --git a/win2k22/lib.sh b/win2k22/lib.sh new file mode 100644 index 0000000..30f7a0f --- /dev/null +++ b/win2k22/lib.sh @@ -0,0 +1,25 @@ +#!/bin/bash -e + +RAM="$(free -g | awk '/^Mem:/{print $2 - 2}')" + +if [ "$RAM" -le 2 ]; then RAM=2 +elif [ "$RAM" -gt 32 ]; then RAM=32; fi + +RAM="${RAM}G" + +CMD=( + qemu-system-x86_64 + -accel kvm + #-drive file.driver=virtio,file=hda.qcow2,index=0,media=disk + -m "2G,maxmem=$RAM" + # virtio drivers + ## disk + -blockdev driver=file,node-name=hda-file,filename=hda.qcow2 + -blockdev driver=qcow2,node-name=hda,file=hda-file + -device virtio-blk-pci,drive=hda + ## gpu + -vga virtio + ## network + -netdev user,id=n0 + -device virtio-net-pci,netdev=n0 +) diff --git a/win2k22/run.sh b/win2k22/run.sh new file mode 100755 index 0000000..89c80dd --- /dev/null +++ b/win2k22/run.sh @@ -0,0 +1,6 @@ +#!/bin/bash -e +cd "$(dirname "$0")" +. ./lib.sh + +"${CMD[@]}" \ + #-device usb-host,vendorid=vendor,productid=product