mirror of
https://github.com/hectorm/docker-qemu-reactos
synced 2025-01-10 02:56:58 +00:00
40 lines
1.3 KiB
Bash
Executable File
40 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
set -eu
|
|
|
|
set --
|
|
set -- "$@" -machine pc -smp "${VM_CPU:?}" -m "${VM_RAM:?}"
|
|
set -- "$@" -device VGA -display vnc=:0 -serial stdio -monitor unix:/run/qemu-monitor,server,nowait
|
|
set -- "$@" -device e1000,netdev=n0 -netdev user,id=n0,"${VM_NET_GUESTFWD_OPTIONS?}","${VM_NET_HOSTFWD_OPTIONS?}","${VM_NET_EXTRA_OPTIONS?}"
|
|
set -- "$@" -device ide-hd,bus=ide.0,drive=c0 -blockdev driver=qcow2,node-name=c0,file.driver=file,file.filename=/var/lib/qemu/disk/reactos.qcow2
|
|
set -- "$@" -usb -device usb-tablet
|
|
set -- "$@" -k "${VM_KEYBOARD:?}"
|
|
|
|
if [ "${VM_KVM:?}" = true ] && [ -c /dev/kvm ]; then
|
|
set -- "$@" -accel kvm -cpu host
|
|
else
|
|
set -- "$@" -accel tcg
|
|
fi
|
|
|
|
cd_i=0
|
|
for cd in /var/lib/qemu/cd/*; do
|
|
[ -f "${cd:?}" ] || continue
|
|
set -- "$@" -device ide-cd,bus=ide.1,drive=d"${cd_i:?}" -blockdev driver=raw,node-name=d"${cd_i:?}",file.driver=file,file.filename="${cd:?}",read-only=on
|
|
cd_i="$((cd_i + 1))"
|
|
done
|
|
|
|
floppy_i=0
|
|
for floppy in /var/lib/qemu/floppy/*; do
|
|
[ -f "${floppy:?}" ] || continue
|
|
set -- "$@" -device floppy,bus=floppy-bus.0,drive=a"${floppy_i:?}" -blockdev driver=raw,node-name=a"${floppy_i:?}",file.driver=file,file.filename="${floppy:?}",read-only=on
|
|
floppy_i="$((floppy_i + 1))"
|
|
done
|
|
|
|
if [ "${cd_i:?}" -gt 0 ]; then
|
|
set -- "$@" -boot order=dc,menu=on,splash-time=5000
|
|
fi
|
|
|
|
cd /var/lib/qemu/
|
|
exec 2>&1
|
|
exec /usr/bin/qemu-system-x86_64 "$@"
|