mirror of
https://github.com/oSoWoSo/DistroHopper.git
synced 2024-08-14 22:46:53 +00:00
Refactor swtpm support to catch when it is missing
Also adds the swtpm laucher to the debug shell script.
This commit is contained in:
parent
f23ace745a
commit
b8d6b02796
1 changed files with 25 additions and 16 deletions
41
quickemu
41
quickemu
|
@ -531,20 +531,6 @@ function vm_boot() {
|
|||
echo " - CD-ROM: ${fixed_iso}"
|
||||
fi
|
||||
|
||||
# Enable TPM
|
||||
if [ "${tpm}" == "on" ]; then
|
||||
if command -v swtpm &>/dev/null; then
|
||||
swtpm socket \
|
||||
--ctrl type=unixio,path="${VMDIR}/${VMNAME}.swtpm-sock" \
|
||||
--terminate \
|
||||
--tpmstate dir="${VMDIR}" \
|
||||
--tpm2 &
|
||||
echo " - TPM: ${VMDIR}/${VMNAME}.swtpm-sock (${!})"
|
||||
else
|
||||
echo " - TPM: swtpm is not installed, TPM not available!"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Determine a sane resolution for Linux guests.
|
||||
if [ "${guest_os}" == "linux" ]; then
|
||||
local X_RES=1152
|
||||
|
@ -716,6 +702,23 @@ function vm_boot() {
|
|||
|
||||
enable_usb_passthrough
|
||||
|
||||
echo "#!/usr/bin/env bash" > "${VMDIR}/${VMNAME}.sh"
|
||||
|
||||
# Start TPM
|
||||
if [ "${tpm}" == "on" ]; then
|
||||
local tpm_args=()
|
||||
# shellcheck disable=SC2054
|
||||
tpm_args+=(socket
|
||||
--ctrl type=unixio,path="${VMDIR}/${VMNAME}.swtpm-sock"
|
||||
--terminate
|
||||
--tpmstate dir="${VMDIR}"
|
||||
--tpm2)
|
||||
echo "${SWTPM} ${tpm_args[@]} &" >> "${VMDIR}/${VMNAME}.sh"
|
||||
${SWTPM} "${tpm_args[@]}" >> "${VMDIR}/${VMNAME}.log" &
|
||||
echo " - TPM: ${VMDIR}/${VMNAME}.swtpm-sock (${!})"
|
||||
sleep 1
|
||||
fi
|
||||
|
||||
# Boot the VM
|
||||
local args=()
|
||||
|
||||
|
@ -841,9 +844,7 @@ function vm_boot() {
|
|||
SHELL_ARGS="${SHELL_ARGS//)/\\)}"
|
||||
SHELL_ARGS="${SHELL_ARGS//Wimpys World/\"Wimpys World\"}"
|
||||
|
||||
echo "#!/usr/bin/env bash" > "${VMDIR}/${VMNAME}.sh"
|
||||
echo "${QEMU}" "${SHELL_ARGS}" >> "${VMDIR}/${VMNAME}.sh"
|
||||
|
||||
${QEMU} "${args[@]}" > "${VMDIR}/${VMNAME}.log" &
|
||||
|
||||
# If output is 'none' then SPICE was requested.
|
||||
|
@ -1054,6 +1055,14 @@ if [ -n "${VM}" ] && [ -e "${VM}" ]; then
|
|||
if [ -n "${disk}" ]; then
|
||||
disk_size="${disk}"
|
||||
fi
|
||||
|
||||
if [ "${tpm}" == "on" ]; then
|
||||
SWTPM=$(command -v swtpm)
|
||||
if [ ! -e "${SWTPM}" ]; then
|
||||
echo "ERROR! TPM is enabled, but swtpm was not found."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo "ERROR! Virtual machine configuration not found."
|
||||
usage
|
||||
|
|
Loading…
Reference in a new issue