cleanup
This commit is contained in:
parent
5a6ec6f75c
commit
fd6def1ae1
10 changed files with 32 additions and 36 deletions
|
@ -1,28 +1,35 @@
|
|||
#!/bin/bash -e
|
||||
#!/bin/bash -eu
|
||||
|
||||
ISO="$1"
|
||||
getmaxram() {
|
||||
local ram; ram="$(free -g | awk '/^Mem:/{print $2 - 2}')"
|
||||
|
||||
if [ "$ram" -le 2 ]; then ram=2
|
||||
elif [ "$ram" -gt 32 ]; then ram=32; fi
|
||||
echo "${ram}G"
|
||||
}
|
||||
|
||||
ISO="$1"; shift
|
||||
DISK="$HOME/${ISO%.*}.qcow2"
|
||||
MAXMEM="$(free -g | awk '/^Mem:/{print $6 / 2}')G"
|
||||
OVMF_CODE=/usr/share/edk2/x64/OVMF_CODE.4m.fd
|
||||
OVMF_VARS=/tmp/OVMF_VARS.4m.fd
|
||||
MAXMEM="$(getmaxram)"
|
||||
|
||||
set -x
|
||||
if [ -f "$OVMF_VARS" ]; then
|
||||
cp -f /usr/share/edk2/x64/OVMF_VARS.4m.fd "$OVMF_VARS"
|
||||
fi
|
||||
if ! [ -f "$DISK" ]; then
|
||||
qemu-img create -f qcow2 "$DISK" 20G
|
||||
fi
|
||||
if ! [ -f "$DISK" ]; then (set -x
|
||||
qemu-img create -f qcow2 "$DISK" 64G
|
||||
) fi
|
||||
(set -x
|
||||
qemu-system-x86_64 \
|
||||
-accel kvm \
|
||||
-M q35 \
|
||||
-bios /usr/share/edk2/x64/OVMF.4m.fd \
|
||||
-monitor stdio \
|
||||
-cpu host \
|
||||
-m "2G,maxmem=$MAXMEM" \
|
||||
-vga virtio \
|
||||
-audio pipewire,model=hda \
|
||||
-nic model=virtio-net-pci,type=user \
|
||||
-drive "if=pflash,format=raw,file=$OVMF_CODE,readonly=on" \
|
||||
-drive "if=pflash,format=raw,file=$OVMF_VARS" \
|
||||
-device qemu-xhci \
|
||||
-object "memory-backend-ram,id=mem,size=$ram,share=on" \
|
||||
-numa node,memdev=mem \
|
||||
-drive "if=virtio,file=$DISK" \
|
||||
-drive "file=$ISO,media=cdrom,readonly=on"
|
||||
-drive "file=$ISO,media=cdrom,readonly=on" \
|
||||
"$@"
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue