diff options
author | David P <megver83@parabola.nu> | 2021-01-23 21:00:41 -0300 |
---|---|---|
committer | David P <megver83@parabola.nu> | 2021-01-23 21:05:16 -0300 |
commit | f63664db672844dcfded8121535987d952a25267 (patch) | |
tree | e06dfbef2e4707704618cc2d3afc33810b0dc1db /scripts | |
parent | c1247cad56aef820a18f51ea013c146027030b07 (diff) |
sync with archiso
imported changes:
d153b48 (HEAD -> master, origin/master, origin/HEAD) mkarchiso: fix typos
0ae5cd9 lint ALL (future) scripts/*.sh, not just run_archiso.sh
608d110 add -c => -cdrom cloud-init.iso support to run_archiso.sh
8830471 add cloud-init files to .gitignore (and loosen out/ and work/)
9553439 make run_archiso forward VM's port 22 to host 60022, for easy SSH testing
833cbd5 enable SSH server in releng profile
9b03e0b add cloud-init to releng
e556491 add VNC support to run_archiso.sh
64091a1 Combine sed commands to reduce file writes
Signed-off-by: David P <megver83@parabola.nu>
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/run_parabolaiso.sh | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/scripts/run_parabolaiso.sh b/scripts/run_parabolaiso.sh index b3063a5..cea5d2c 100755 --- a/scripts/run_parabolaiso.sh +++ b/scripts/run_parabolaiso.sh @@ -28,6 +28,8 @@ Options: -i [image] image to boot into -s use Secure Boot (only relevant when using UEFI) -u set boot type to 'UEFI' + -v use VNC display (instead of default SDL) + -c [image] attach an additional optical disc image (e.g. for cloud-init) Example: Run an image using UEFI: @@ -84,20 +86,27 @@ run_image() { ) fi + if [[ -n "${oddimage}" ]]; then + qemu_options+=( + '-device' 'scsi-cd,bus=scsi0.0,drive=cdrom1' + '-drive' "id=cdrom1,if=none,format=raw,media=cdrom,readonly=on,file=${oddimage}" + ) + fi + qemu-system-x86_64 \ -boot order=d,menu=on,reboot-timeout=5000 \ -m "size=3072,slots=0,maxmem=$((3072*1024*1024))" \ - -k en \ + -k en-us \ -name parabolaiso,process=parabolaiso_0 \ -device virtio-scsi-pci,id=scsi0 \ -device "scsi-${mediatype%rom},bus=scsi0.0,drive=${mediatype}0" \ -drive "id=${mediatype}0,if=none,format=raw,media=${mediatype/hd/disk},readonly=on,file=${image}" \ - -display sdl \ + -display "${display}" \ -vga virtio \ -audiodev pa,id=snd0 \ -device ich9-intel-hda \ -device hda-output,audiodev=snd0 \ - -device virtio-net-pci,romfile=,netdev=net0 -netdev user,id=net0 \ + -device virtio-net-pci,romfile=,netdev=net0 -netdev user,id=net0,hostfwd=tcp::60022-:22 \ -machine type=q35,smm=on,accel=kvm,usb=on,pcspk-audiodev=snd0 \ -global ICH9-LPC.disable_s3=1 \ -enable-kvm \ @@ -119,16 +128,18 @@ set_image() { } image='' +oddimage='' accessibility='' boot_type='bios' mediatype='cdrom' secure_boot='off' +display='sdl' qemu_options=() working_dir="$(mktemp -dt run_parabolaiso.XXXXXXXXXX)" trap cleanup_working_dir EXIT if (( ${#@} > 0 )); then - while getopts 'abdhi:su' flag; do + while getopts 'abc:dhi:suv' flag; do case "$flag" in a) accessibility='on' @@ -136,6 +147,9 @@ if (( ${#@} > 0 )); then b) boot_type='bios' ;; + c) + oddimage="$OPTARG" + ;; d) mediatype='hd' ;; @@ -152,6 +166,10 @@ if (( ${#@} > 0 )); then s) secure_boot='on' ;; + v) + display='none' + qemu_options+=(-vnc 'vnc=0.0.0.0:0,vnc=[::]:0') + ;; *) printf '%s\n' "Error: Wrong option. Try 'run_parabolaiso -h'." exit 1 |