Unverified Commit 743743c3 authored by Nate Choe's avatar Nate Choe Committed by GitHub
Browse files

Add UEFI support (#236)

* OVMF
parent 6ef07f2c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ RUN apt-get update && apt-get -y upgrade && \
	netcat-openbsd \
	qemu-system-x86 \
	qemu-utils \
	ovmf \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

src/boot.sh

0 → 100644
+21 −0
Original line number Diff line number Diff line
#!/usr/bin/env bash
set -Eeuo pipefail

# Docker environment variables

: ${BOOT_MODE:='legacy'}  # Display type

case "${BOOT_MODE,,}" in
  uefi)
    BOOT_OPTS="-bios /usr/share/OVMF/OVMF_CODE.fd"
    ;;
  legacy)
    BOOT_OPTS=""
    ;;
  *)
    info "Unknown boot mode '${BOOT_MODE}', defaulting to 'legacy'"
    BOOT_OPTS=""
    ;;
esac

return 0
+1 −1
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@ MAC_OPTS="-machine type=q35,usb=off,dump-guest-core=off,hpet=off${KVM_OPTS}"
SERIAL_OPTS="-serial mon:stdio -device virtio-serial-pci,id=virtio-serial0,bus=pcie.0,addr=0x3"
EXTRA_OPTS="-device virtio-balloon-pci,id=balloon0 -object rng-random,id=rng0,filename=/dev/urandom -device virtio-rng-pci,rng=rng0"

ARGS="$DEF_OPTS $CPU_OPTS $RAM_OPTS $MAC_OPTS $SERIAL_OPTS $NET_OPTS $DISK_OPTS $DISPLAY_OPTS $EXTRA_OPTS $ARGUMENTS"
ARGS="$DEF_OPTS $CPU_OPTS $RAM_OPTS $MAC_OPTS $SERIAL_OPTS $NET_OPTS $DISK_OPTS $DISPLAY_OPTS $BOOT_OPTS $EXTRA_OPTS $ARGUMENTS"
ARGS=$(echo "$ARGS" | sed 's/\t/ /g' | tr -s ' ')

return 0
+2 −0
Original line number Diff line number Diff line
@@ -13,3 +13,5 @@ case "${DISPLAY,,}" in
    DISPLAY_OPTS="-nographic -display none"
    ;;
esac

return 0
+1 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ cd /run
. disk.sh       # Initialize disks
. display.sh    # Initialize display
. network.sh    # Initialize network
. boot.sh       # Configure boot
. config.sh     # Configure arguments

trap - ERR