scripts/virtual-machines/qemu-setup

82 lines
1.2 KiB
Fish
Executable File

#!/usr/bin/env fish
# Args
argparse \
--name "vm-qemu" \
--min-args 1 \
--max-args 1 \
'V/version=' \
'i/install' \
-- \
$argv
or exit 1
set cfg $argv
# Config
set _vm_media "/mnt/s/osmedia"
source $_agw_dir_rc/virtual-machines/$cfg
# Video
test "$_vga"
and set vga $_vga
or set vga vmware
set _args \
--display sdl,gl=on \
$_args
# Sound
test "$_soundhw"
and set soundhw $_soundhw
or set soundhw hda
# Machine
if test "$_arch" = "i386" || test "$_arch" = "x86_64"
set _args \
--machine accel=kvm \
--usb \
$_args
end
# Versioning
test "$_flag_version"
and set ver $_flag_version
or set ver $_ver
# Disk Media
set image "/mnt/s/vm/$cfg/image$ver"
# Install Media
set install (string replace "_ver_" "$ver" "$_install")
if test "$_flag_install"
set boot_order d
set _args \
--drive file="$install",media=cdrom,readonly \
$_args
end
# Boot Media
if test "$_boot"
set boot_order a
set _args \
--drive file="$_boot",format=raw,if=floppy,readonly \
$_args
else
set boot_order c
end
# Run!
env QEMU_AUDIO_DRV=pa "qemu-system-$_arch" \
--drive file="$image",format=qcow2,media=disk \
--boot order="$boot_order" \
-m "$_mem" \
--soundhw "$soundhw" \
--vga "$vga" \
--cpu host \
--monitor stdio \
$_args
## EOF