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 \
|
netcat-openbsd \
|
||||||
qemu-system-x86 \
|
qemu-system-x86 \
|
||||||
qemu-utils \
|
qemu-utils \
|
||||||
|
ovmf \
|
||||||
&& apt-get clean \
|
&& apt-get clean \
|
||||||
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
&& 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"
|
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"
|
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 ' ')
|
ARGS=$(echo "$ARGS" | sed 's/\t/ /g' | tr -s ' ')
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
|
|
@ -13,3 +13,5 @@ case "${DISPLAY,,}" in
|
||||||
DISPLAY_OPTS="-nographic -display none"
|
DISPLAY_OPTS="-nographic -display none"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
return 0
|
||||||
|
|
|
@ -11,6 +11,7 @@ cd /run
|
||||||
. disk.sh # Initialize disks
|
. disk.sh # Initialize disks
|
||||||
. display.sh # Initialize display
|
. display.sh # Initialize display
|
||||||
. network.sh # Initialize network
|
. network.sh # Initialize network
|
||||||
|
. boot.sh # Configure boot
|
||||||
. config.sh # Configure arguments
|
. config.sh # Configure arguments
|
||||||
|
|
||||||
trap - ERR
|
trap - ERR
|
||||||
|
|
Loading…
Reference in a new issue