virtual-machines: move vm-qemu into its actual function
parent
bcce46e72f
commit
f0d18e3d1b
78
fish/vm-qemu
78
fish/vm-qemu
|
@ -1,7 +1,83 @@
|
|||
#!/usr/bin/env fish
|
||||
|
||||
function vm-qemu -d "Frontend to QEMU"
|
||||
$_agw_dir_rc/virtual-machines/QEMU/vm-qemu $argv
|
||||
# Args
|
||||
argparse \
|
||||
--name "vm-qemu" \
|
||||
--min-args 1 \
|
||||
'V/version=' \
|
||||
'i/install' \
|
||||
-- \
|
||||
$argv
|
||||
or exit 1
|
||||
|
||||
set cfg $argv[1]
|
||||
set -e argv[1]
|
||||
|
||||
# Config
|
||||
source $_agw_dir_rc/virtual-machines/QEMU/$cfg
|
||||
|
||||
# Devices
|
||||
test "$_vga"
|
||||
and set vga $_vga
|
||||
or set vga vmware
|
||||
|
||||
test "$_soundhw"
|
||||
and set soundhw $_soundhw
|
||||
or set soundhw hda
|
||||
|
||||
for dev in $_devs
|
||||
set -a _args --device $dev
|
||||
end
|
||||
|
||||
# Machine
|
||||
test "$_cpu"
|
||||
and set cpu $_cpu
|
||||
or set cpu host
|
||||
|
||||
if test "$_arch" = "i386" || test "$_arch" = "x86_64"
|
||||
set -p _args \
|
||||
--machine accel=kvm \
|
||||
--usb
|
||||
end
|
||||
|
||||
# Versioning
|
||||
test "$_flag_version"
|
||||
and set ver $_flag_version
|
||||
or set ver $_ver
|
||||
|
||||
# Disk Media
|
||||
set image "/media/store/vm/$cfg/image$ver"
|
||||
set boot_order c
|
||||
|
||||
# Install Media
|
||||
set media "/media/store/osmedia"
|
||||
set install (string replace "_ver_" "$ver" "$_install")
|
||||
set boot (string replace "_ver_" "$ver" "$_boot")
|
||||
|
||||
if test "$_flag_install"
|
||||
set boot_order d
|
||||
set -p _args --drive file="$media/$install",media=cdrom,readonly
|
||||
|
||||
if test "$boot"
|
||||
set boot_order a
|
||||
set -p _args --drive file="$media/$boot",format=raw,if=floppy,readonly
|
||||
end
|
||||
end
|
||||
|
||||
# Run!
|
||||
set -a _args $argv
|
||||
|
||||
env QEMU_AUDIO_DRV=pa "qemu-system-$_arch" \
|
||||
--boot order="$boot_order" \
|
||||
--cpu "$cpu" \
|
||||
--display sdl,gl=on \
|
||||
--drive file="$image",format=qcow2,media=disk \
|
||||
--monitor stdio \
|
||||
--soundhw "$soundhw" \
|
||||
--vga "$vga" \
|
||||
-m "$_mem" \
|
||||
$_args
|
||||
end
|
||||
|
||||
complete -c vm-qemu -xa "(ls $_agw_dir_rc/virtual-machines/QEMU)"
|
||||
|
|
|
@ -1,81 +0,0 @@
|
|||
#!/usr/bin/env fish
|
||||
|
||||
# Args
|
||||
argparse \
|
||||
--name "vm-qemu" \
|
||||
--min-args 1 \
|
||||
'V/version=' \
|
||||
'i/install' \
|
||||
-- \
|
||||
$argv
|
||||
or exit 1
|
||||
|
||||
set cfg $argv[1]
|
||||
set -e argv[1]
|
||||
|
||||
# Config
|
||||
source $_agw_dir_rc/virtual-machines/QEMU/$cfg
|
||||
|
||||
# Devices
|
||||
test "$_vga"
|
||||
and set vga $_vga
|
||||
or set vga vmware
|
||||
|
||||
test "$_soundhw"
|
||||
and set soundhw $_soundhw
|
||||
or set soundhw hda
|
||||
|
||||
for dev in $_devs
|
||||
set -a _args --device $dev
|
||||
end
|
||||
|
||||
# Machine
|
||||
test "$_cpu"
|
||||
and set cpu $_cpu
|
||||
or set cpu host
|
||||
|
||||
if test "$_arch" = "i386" || test "$_arch" = "x86_64"
|
||||
set -p _args \
|
||||
--machine accel=kvm \
|
||||
--usb
|
||||
end
|
||||
|
||||
# Versioning
|
||||
test "$_flag_version"
|
||||
and set ver $_flag_version
|
||||
or set ver $_ver
|
||||
|
||||
# Disk Media
|
||||
set image "/media/store/vm/$cfg/image$ver"
|
||||
set boot_order c
|
||||
|
||||
# Install Media
|
||||
set media "/media/store/osmedia"
|
||||
set install (string replace "_ver_" "$ver" "$_install")
|
||||
set boot (string replace "_ver_" "$ver" "$_boot")
|
||||
|
||||
if test "$_flag_install"
|
||||
set boot_order d
|
||||
set -p _args --drive file="$media/$install",media=cdrom,readonly
|
||||
|
||||
if test "$boot"
|
||||
set boot_order a
|
||||
set -p _args --drive file="$media/$boot",format=raw,if=floppy,readonly
|
||||
end
|
||||
end
|
||||
|
||||
# Run!
|
||||
set -a _args $argv
|
||||
|
||||
env QEMU_AUDIO_DRV=pa "qemu-system-$_arch" \
|
||||
--boot order="$boot_order" \
|
||||
--cpu "$cpu" \
|
||||
--display sdl,gl=on \
|
||||
--drive file="$image",format=qcow2,media=disk \
|
||||
--monitor stdio \
|
||||
--soundhw "$soundhw" \
|
||||
--vga "$vga" \
|
||||
-m "$_mem" \
|
||||
$_args
|
||||
|
||||
## EOF
|
Loading…
Reference in New Issue