diff options
Diffstat (limited to 'old/virt')
| -rwxr-xr-x | old/virt | 31 | 
1 files changed, 31 insertions, 0 deletions
diff --git a/old/virt b/old/virt new file mode 100755 index 0000000..6d9f252 --- /dev/null +++ b/old/virt @@ -0,0 +1,31 @@ +#!/bin/sh +virtdir=~/.local/share/virt + +halfram() { awk '/^MemTotal/ { printf "%dM\n", $2/2/1024 }' /proc/meminfo; } # Needs to be either in M or G according to man page +halfthreads() { echo $(( $(nproc) / 2 )); } +startvm() { +	qemu-system-x86_64 \ +		-enable-kvm \ +		-cpu host \ +		-m $(halfram) \ +		-smp $(halfthreads) \ +		-net nic \ +		-display sdl,gl=on \ +		-audiodev pa,id=pa1,server=/run/user/1000/pulse/native \ +		-soundhw all \ +		-boot menu=on \ +		-drive file="$virtdir/$1.img" \ +		-drive file=~/docs/oss/openbsd7.0.img \ +; } +		#-vga none \ +		#-nographic \ + +vms="$(ls $virtdir)" + +[ -n "$1" ] && vm="$1" || vm=$(echo "$vms" | sed 's/\.img//' | dmenu -p "Choose Virtual Machine Image or Enter Name for New Virtual Machine") + +if echo "$vms" | grep "^$vm.img$" >/dev/null; then +	startvm "$vm" +else +	qemu-img create -f qcow2 "$virtdir/$vm.img" $(echo -n "4G\n8G\n16G\n32G" | dmenu -p "Choose Size of Virtual Machine \"$vm\"") +fi  | 
