Update boot.sh
This commit is contained in:
parent
5735beaead
commit
20ecbbbaa6
1 changed files with 16 additions and 7 deletions
23
src/boot.sh
23
src/boot.sh
|
|
@ -5,24 +5,30 @@ set -Eeuo pipefail
|
||||||
: "${TPM:="Y"}" # Enable TPM
|
: "${TPM:="Y"}" # Enable TPM
|
||||||
: "${BOOT_MODE:="legacy"}" # Boot mode
|
: "${BOOT_MODE:="legacy"}" # Boot mode
|
||||||
|
|
||||||
|
BIOS=""
|
||||||
SECURE=""
|
SECURE=""
|
||||||
BOOT_OPTS=""
|
BOOT_OPTS=""
|
||||||
|
DIR="/usr/share/qemu"
|
||||||
|
|
||||||
case "${BOOT_MODE,,}" in
|
case "${BOOT_MODE,,}" in
|
||||||
uefi)
|
uefi)
|
||||||
ROM="OVMF_CODE_4M.fd"
|
ROM="OVMF.fd"
|
||||||
|
BIOS="QEMU,VGA.bin"
|
||||||
VARS="OVMF_VARS_4M.fd"
|
VARS="OVMF_VARS_4M.fd"
|
||||||
;;
|
;;
|
||||||
secure)
|
secure)
|
||||||
ROM="OVMF_CODE_4M.secboot.fd"
|
ROM="OVMF.fd"
|
||||||
|
BIOS="QEMU,VGA.bin"
|
||||||
VARS="OVMF_VARS_4M.secboot.fd"
|
VARS="OVMF_VARS_4M.secboot.fd"
|
||||||
;;
|
;;
|
||||||
windows)
|
windows)
|
||||||
ROM="OVMF_CODE_4M.ms.fd"
|
ROM="OVMF.fd"
|
||||||
|
BIOS="QEMU,VGA.bin"
|
||||||
VARS="OVMF_VARS_4M.ms.fd"
|
VARS="OVMF_VARS_4M.ms.fd"
|
||||||
;;
|
;;
|
||||||
windows_legacy)
|
windows_legacy)
|
||||||
USB="usb-ehci,id=ehci"
|
BIOS="QEMU,VGA.bin"
|
||||||
|
USB="usb-ehci,id=ehci"
|
||||||
BOOT_OPTS=""
|
BOOT_OPTS=""
|
||||||
;;
|
;;
|
||||||
legacy)
|
legacy)
|
||||||
|
|
@ -34,14 +40,17 @@ case "${BOOT_MODE,,}" in
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
BOOT_OPTS="$BOOT_OPTS -device ramfb"
|
||||||
|
[ -n "$BIOS" ] && BOOT_OPTS="$BOOT_OPTS -bios $DIR/$BIOS"
|
||||||
|
|
||||||
if [[ "${BOOT_MODE,,}" != "legacy" ]] && [[ "${BOOT_MODE,,}" != "windows_legacy" ]]; then
|
if [[ "${BOOT_MODE,,}" != "legacy" ]] && [[ "${BOOT_MODE,,}" != "windows_legacy" ]]; then
|
||||||
|
|
||||||
OVMF="/usr/share/OVMF"
|
OVMF="/usr/share/OVMF"
|
||||||
DEST="$STORAGE/${BOOT_MODE,,}"
|
DEST="$STORAGE/${BOOT_MODE,,}"
|
||||||
|
|
||||||
if [ ! -f "$DEST.rom" ]; then
|
if [ ! -f "$DEST.rom" ]; then
|
||||||
[ ! -f "$OVMF/$ROM" ] && error "UEFI boot file ($OVMF/$ROM) not found!" && exit 44
|
[ ! -f "$DIR/$ROM" ] && error "UEFI boot file ($DIR/$ROM) not found!" && exit 44
|
||||||
cp "$OVMF/$ROM" "$DEST.rom"
|
cp "$DIR/$ROM" "$DEST.rom"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -f "$DEST.vars" ]; then
|
if [ ! -f "$DEST.vars" ]; then
|
||||||
|
|
@ -75,7 +84,7 @@ if [[ "${BOOT_MODE,,}" != "legacy" ]] && [[ "${BOOT_MODE,,}" != "windows_legacy"
|
||||||
for (( i = 1; i < 20; i++ )); do
|
for (( i = 1; i < 20; i++ )); do
|
||||||
|
|
||||||
[ -S "/run/swtpm-sock" ] && break
|
[ -S "/run/swtpm-sock" ] && break
|
||||||
|
|
||||||
if (( i % 10 == 0 )); then
|
if (( i % 10 == 0 )); then
|
||||||
echo "Waiting for TPM socket to become available..."
|
echo "Waiting for TPM socket to become available..."
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue