parent
6ef07f2ca3
commit
743743c3e7
5 changed files with 26 additions and 1 deletions
|
@ -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/*
|
||||
|
||||
|
|
21
src/boot.sh
Normal file
21
src/boot.sh
Normal file
|
@ -0,0 +1,21 @@
|
|||
#!/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
|
|
@ -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
|
||||
|
|
|
@ -13,3 +13,5 @@ case "${DISPLAY,,}" in
|
|||
DISPLAY_OPTS="-nographic -display none"
|
||||
;;
|
||||
esac
|
||||
|
||||
return 0
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue