capture
[rrq/rescue-boot.git] / run.sh
1 #!/bin/bash
2
3 DISK=disk.raw
4 [ -f $DISK ] || dd if=/dev/null of=$DISK bs=1G count=0 seek=4
5 CD=$1
6 FS=FS.sqfs
7 if [ -n "$EFI" ] ; then
8     PCODE=/usr/share/OVMF/OVMF_CODE_4M.fd
9     PVARS=/usr/share/OVMF/OVMF_VARS_4M.fd
10     cp $PVARS pvars.bin
11     BOOT="
12     -drive if=pflash,readonly=on,format=raw,file=$PCODE
13     -drive if=pflash,readonly=off,format=raw,file=pvars.bin
14 "
15 else
16     BOOT="-boot menu=on,splash-time=60000"
17 fi
18 NET="-nic vde,sock=/run/vde.ctl,model=e1000,mac=06:38:d0:34:20:d2"
19 QEMU=qemu-system-x86_64
20 [ -z "${CD##*i386*}" ] && QEMU=qemu-system-i386
21 CDT=cdrom
22 [ -z "${CD##*.img}" ] && CDT=disk
23
24 exec $QEMU -name "${CD%.img}" -m 2G -M pc,accel=kvm -cpu host \
25      $BOOT \
26     -drive media=disk,format=raw,file=$DISK \
27     -drive media=$CDT,format=raw,file=$CD \
28     -virtfs local,path=FS,mount_tag=FS,security_model=passthrough \
29     -serial mon:stdio -echr 0x1c -vga std \
30     $NET
31 #    -kernel FS/vmlinuz -initrd FS/initrd.img \
32 #    -append "root=FS rootfstype=9p console=ttyS0"