Loading src/boot.sh +38 −13 Original line number Diff line number Diff line #!/usr/bin/env bash set -Eeuo pipefail OVMF="/usr/share/OVMF" # Docker environment variables : ${BOOT_MODE:='legacy'} # Boot mode SECURE="" BOOT_OPTS="" case "${BOOT_MODE,,}" in uefi) VARS="$OVMF/OVMF_VARS_4M.fd" [ ! -f "$VARS" ] && error "UEFI vars file ($VARS) not found!" && exit 44 [ ! -f "$STORAGE/uefi.vars" ] && cp "$VARS" "$STORAGE/uefi.vars" BOOT_OPTS="-bios $OVMF/OVMF_CODE_4M.fd" BOOT_OPTS="$BOOT_OPTS -drive file=$STORAGE/uefi.vars,if=pflash,format=raw" ROM="OVMF_CODE_4M.fd" VARS="OVMF_VARS_4M.fd" ;; secure) VARS="$OVMF/OVMF_VARS_4M.secboot.fd" [ ! -f "$VARS" ] && error "UEFI vars file ($VARS) not found!" && exit 44 [ ! -f "$STORAGE/uefi.vars" ] && cp "$VARS" "$STORAGE/uefi.vars" BOOT_OPTS="-bios $OVMF/OVMF_CODE_4M.secboot.fd" BOOT_OPTS="$BOOT_OPTS -drive file=$STORAGE/uefi.vars,if=pflash,format=raw" ROM="OVMF_CODE_4M.secboot.fd" VARS="OVMF_VARS_4M.secboot.fd" ;; windows) ROM="OVMF_CODE_4M.ms.fd" VARS="OVMF_VARS_4M.ms.fd" ;; legacy) BOOT_OPTS="" ;; *) info "Unknown boot mode '${BOOT_MODE}', defaulting to 'legacy'" BOOT_OPTS="" BOOT_MODE="legacy" ;; esac if [[ "${BOOT_MODE,,}" != "legacy" ]]; then BOOT_OPTS="" OVMF="/usr/share/OVMF" DEST="$STORAGE/${BOOT_MODE,,}" if [ ! -f "$DEST.rom" ]; then [ ! -f "$OVMF/$ROM" ] && error "UEFI boot file ($OVMF/$ROM) not found!" && exit 44 cp "$OVMF/$ROM" "$DEST.rom" fi if [ ! -f "$DEST.vars" ]; then [ ! -f "$OVMF/$VARS" ] && error "UEFI vars file ($OVMF/$VARS) not found!" && exit 45 cp "$OVMF/$VARS" "$DEST.vars" fi if [[ "${BOOT_MODE,,}" != "uefi" ]]; then SECURE=",smm=on" BOOT_OPTS="$BOOT_OPTS -global driver=cfi.pflash01,property=secure,value=on" fi BOOT_OPTS="$BOOT_OPTS -drive file=$DEST.rom,if=pflash,unit=0,format=raw,readonly=on" BOOT_OPTS="$BOOT_OPTS -drive file=$DEST.vars,if=pflash,unit=1,format=raw" fi return 0 src/config.sh +1 −1 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ SERIAL_OPTS="-serial mon:stdio" MON_OPTS="-monitor telnet:localhost:7100,server,nowait,nodelay" RAM_OPTS=$(echo "-m $RAM_SIZE" | sed 's/MB/M/g;s/GB/G/g;s/TB/T/g') CPU_OPTS="-cpu $CPU_MODEL -smp $CPU_CORES,sockets=1,dies=1,cores=$CPU_CORES,threads=1" MAC_OPTS="-machine type=q35,graphics=off,usb=off,dump-guest-core=off,hpet=off${KVM_OPTS}" MAC_OPTS="-machine type=q35${SECURE},graphics=off,usb=off,dump-guest-core=off,hpet=off${KVM_OPTS}" DEV_OPTS="-device virtio-balloon-pci,id=balloon0,bus=pcie.0,addr=0x4" DEV_OPTS="$DEV_OPTS -object rng-random,id=objrng0,filename=/dev/urandom" DEV_OPTS="$DEV_OPTS -device virtio-rng-pci,rng=objrng0,id=rng0,bus=pcie.0,addr=0x1c" Loading Loading
src/boot.sh +38 −13 Original line number Diff line number Diff line #!/usr/bin/env bash set -Eeuo pipefail OVMF="/usr/share/OVMF" # Docker environment variables : ${BOOT_MODE:='legacy'} # Boot mode SECURE="" BOOT_OPTS="" case "${BOOT_MODE,,}" in uefi) VARS="$OVMF/OVMF_VARS_4M.fd" [ ! -f "$VARS" ] && error "UEFI vars file ($VARS) not found!" && exit 44 [ ! -f "$STORAGE/uefi.vars" ] && cp "$VARS" "$STORAGE/uefi.vars" BOOT_OPTS="-bios $OVMF/OVMF_CODE_4M.fd" BOOT_OPTS="$BOOT_OPTS -drive file=$STORAGE/uefi.vars,if=pflash,format=raw" ROM="OVMF_CODE_4M.fd" VARS="OVMF_VARS_4M.fd" ;; secure) VARS="$OVMF/OVMF_VARS_4M.secboot.fd" [ ! -f "$VARS" ] && error "UEFI vars file ($VARS) not found!" && exit 44 [ ! -f "$STORAGE/uefi.vars" ] && cp "$VARS" "$STORAGE/uefi.vars" BOOT_OPTS="-bios $OVMF/OVMF_CODE_4M.secboot.fd" BOOT_OPTS="$BOOT_OPTS -drive file=$STORAGE/uefi.vars,if=pflash,format=raw" ROM="OVMF_CODE_4M.secboot.fd" VARS="OVMF_VARS_4M.secboot.fd" ;; windows) ROM="OVMF_CODE_4M.ms.fd" VARS="OVMF_VARS_4M.ms.fd" ;; legacy) BOOT_OPTS="" ;; *) info "Unknown boot mode '${BOOT_MODE}', defaulting to 'legacy'" BOOT_OPTS="" BOOT_MODE="legacy" ;; esac if [[ "${BOOT_MODE,,}" != "legacy" ]]; then BOOT_OPTS="" OVMF="/usr/share/OVMF" DEST="$STORAGE/${BOOT_MODE,,}" if [ ! -f "$DEST.rom" ]; then [ ! -f "$OVMF/$ROM" ] && error "UEFI boot file ($OVMF/$ROM) not found!" && exit 44 cp "$OVMF/$ROM" "$DEST.rom" fi if [ ! -f "$DEST.vars" ]; then [ ! -f "$OVMF/$VARS" ] && error "UEFI vars file ($OVMF/$VARS) not found!" && exit 45 cp "$OVMF/$VARS" "$DEST.vars" fi if [[ "${BOOT_MODE,,}" != "uefi" ]]; then SECURE=",smm=on" BOOT_OPTS="$BOOT_OPTS -global driver=cfi.pflash01,property=secure,value=on" fi BOOT_OPTS="$BOOT_OPTS -drive file=$DEST.rom,if=pflash,unit=0,format=raw,readonly=on" BOOT_OPTS="$BOOT_OPTS -drive file=$DEST.vars,if=pflash,unit=1,format=raw" fi return 0
src/config.sh +1 −1 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ SERIAL_OPTS="-serial mon:stdio" MON_OPTS="-monitor telnet:localhost:7100,server,nowait,nodelay" RAM_OPTS=$(echo "-m $RAM_SIZE" | sed 's/MB/M/g;s/GB/G/g;s/TB/T/g') CPU_OPTS="-cpu $CPU_MODEL -smp $CPU_CORES,sockets=1,dies=1,cores=$CPU_CORES,threads=1" MAC_OPTS="-machine type=q35,graphics=off,usb=off,dump-guest-core=off,hpet=off${KVM_OPTS}" MAC_OPTS="-machine type=q35${SECURE},graphics=off,usb=off,dump-guest-core=off,hpet=off${KVM_OPTS}" DEV_OPTS="-device virtio-balloon-pci,id=balloon0,bus=pcie.0,addr=0x4" DEV_OPTS="$DEV_OPTS -object rng-random,id=objrng0,filename=/dev/urandom" DEV_OPTS="$DEV_OPTS -device virtio-rng-pci,rng=objrng0,id=rng0,bus=pcie.0,addr=0x1c" Loading