feat: arch

This commit is contained in:
ange 2024-02-27 21:08:33 +01:00
parent fc18e23804
commit 42f9b20c25
Signed by: ange
GPG Key ID: 9E0C4157BB7BEB1D
4 changed files with 59 additions and 0 deletions

18
arch/create.sh Executable file
View File

@ -0,0 +1,18 @@
#!/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 10G
CMD=(
"${CMD[@]}"
-drive file=arch.iso,index=1,media=cdrom,readonly=on
)
"${CMD[@]}"

6
arch/download_isos.sh Executable file
View File

@ -0,0 +1,6 @@
#!/bin/bash -e
arch=''
curl -LC- \
-o arch.iso "$arch"

23
arch/lib.sh Normal file
View File

@ -0,0 +1,23 @@
#!/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
-M q35
# usb
-device qemu-xhci
-cpu host
-m "2G,maxmem=$RAM"
-vga virtio
#-drive if=virtio,file=hda.qcow2
# shared memory
-object memory-backend-ram,id=mem,size=2G,share=on
-numa node,memdev=mem
)

12
arch/run.sh Executable file
View File

@ -0,0 +1,12 @@
#!/bin/bash -e
cd "$(dirname "$0")"
. ./lib.sh
CMD=(
"${CMD[@]}"
-nic user,model=virtio-net-pci
# usb passthrough, might need root privileges
#-device usb-host,vendorid=0x058f,productid=0x6387
)
"${CMD[@]}"