From 3d5528b63f34701d16471ff34781a5ba83bca6c3 Mon Sep 17 00:00:00 2001 From: Alison Watson Date: Mon, 5 Aug 2019 14:27:55 -0400 Subject: [PATCH] virtual-machines: use a less verbose and less sparse format for qemu VMs --- scripts/fish/vm-qemu | 13 +++++++++++++ virtual-machines/Win2000/run | 12 +++++------- virtual-machines/Win98/run | 14 ++++++-------- virtual-machines/qemu-setup | 37 +++++++++++++++++++++++++----------- 4 files changed, 50 insertions(+), 26 deletions(-) create mode 100644 scripts/fish/vm-qemu diff --git a/scripts/fish/vm-qemu b/scripts/fish/vm-qemu new file mode 100644 index 0000000..c7a4407 --- /dev/null +++ b/scripts/fish/vm-qemu @@ -0,0 +1,13 @@ +# vim: syntax=fish: + +function vm-qemu -d "Frontend to QEMU" -a cfg + env \ + _vm_img="/mnt/s/vm/$cfg/image" \ + _vm_media="/mnt/s/osmedia" \ + _vm_setup="$_agw_dir_rc/virtual-machines/qemu-setup" \ + $_agw_dir_rc/virtual-machines/$cfg/run +end + +complete -c vm-qemu -xa "(ls $_agw_dir_rc/virtual-machines)" + +## EOF diff --git a/virtual-machines/Win2000/run b/virtual-machines/Win2000/run index bde0616..901d4fb 100755 --- a/virtual-machines/Win2000/run +++ b/virtual-machines/Win2000/run @@ -1,17 +1,15 @@ #!/usr/bin/env fish # vim: syntax=fish: -source ../qemu-setup - -run-qemu i386 \ - --drive file=image,format=qcow2,media=disk \ - --drive file="$m/MS Windows/2000 Pro/5.00.2195.iso",media=cdrom,readonly \ - --boot order=d \ - -m 384 \ +set _arch i386 +set _install "$_vm_media/MS Windows/2000 Pro/5.00.2195.iso" +set _args \ + -m 512 \ --usb \ --vga cirrus \ --net nic,model=rtl8139 \ --net user \ --soundhw ac97 +source $_vm_setup ## EOF diff --git a/virtual-machines/Win98/run b/virtual-machines/Win98/run index de7fa24..5b47fa9 100755 --- a/virtual-machines/Win98/run +++ b/virtual-machines/Win98/run @@ -1,18 +1,16 @@ #!/usr/bin/env fish # vim: syntax=fish: -source ../qemu-setup - -run-qemu i386 \ - --drive file=image,format=qcow2,media=disk \ - --drive file="$m/Boot Disks/Win/98SE.img",format=raw,if=floppy,readonly \ - --drive file="$m/MS Windows/98 2nd Edition/98SE.iso",media=cdrom,readonly \ - --boot order=d \ - -m 384 \ +set _arch i386 +set _boot "$_vm_media/Boot Disks/Win/98SE.img" +set _install "$_vm_media/MS Windows/98 2nd Edition/98SE.iso" +set _args \ + -m 512 \ --usb \ --vga cirrus \ --net nic,model=rtl8139 \ --net user \ --soundhw ac97 +source $_vm_setup ## EOF diff --git a/virtual-machines/qemu-setup b/virtual-machines/qemu-setup index 1aa9cb4..8952a18 100644 --- a/virtual-machines/qemu-setup +++ b/virtual-machines/qemu-setup @@ -1,19 +1,34 @@ # vim: syntax=fish: -function run-qemu - set arch $argv[1] - set -e argv[1] +set _boot_order c - set argv --display sdl,gl=on $argv +set _args \ + --display sdl,gl=on \ + $_args - if test $arch = "i386" - or test $arch = "x86_64" - set argv --machine accel=kvm $argv - end - - env QEMU_AUDIO_DRV=pa "qemu-system-$arch" $argv +if test $_arch = "i386" || test $_arch = "x86_64" + set _args \ + --machine accel=kvm \ + $_args end -set m "/mnt/s/osmedia" +if test $_install + set _boot_order d + set _args \ + --drive file="$_install",media=cdrom,readonly \ + $_args +end + +if test $_boot + set _boot_order a + set _args \ + --drive file="$_boot",format=raw,if=floppy,readonly \ + $_args +end + +env QEMU_AUDIO_DRV=pa "qemu-system-$_arch" \ + --drive file="$_vm_img",format=qcow2,media=disk \ + --boot order=$_boot_order \ + $_args ## EOF