mirror of
https://github.com/retspen/webvirtcloud
synced 2026-11-10 04:06:47 +00:00
feat(instances): a new VM can have UEFI Secure Boot and a TPM 2.0
Windows 11 does not install without Secure Boot and a TPM 2.0, and the new VM form offered neither: its firmware list was BIOS and one UEFI loader guessed from file names, which on RHEL never matched the Secure Boot one. The firmware choices are now BIOS, UEFI and UEFI Secure Boot, as the host's libvirt reports them (its firmware features from libvirt 12.1, before that its loaders), and libvirt picks the firmware itself: UEFI without Secure Boot, or with Microsoft's keys enrolled. A TPM 2.0 switch, shown when the host has swtpm, adds an emulated TPM. The create job refuses a firmware or a TPM the host does not offer, and the API takes both. The path-guessing helpers are gone.
This commit is contained in:
parent
40db3dcf3d
commit
005fa59bf0
20 changed files with 399 additions and 228 deletions
|
|
@ -42,6 +42,7 @@ WebVirtCloud and `virt-manager`/`virsh` can manage the same libvirt host **concu
|
|||
* Storage pool and volume management
|
||||
* Network (with DHCP leases), interface, network filter and secret management
|
||||
* PCI and USB devices of the host given to VMs
|
||||
* UEFI Secure Boot and TPM 2.0 for new VMs, as Windows 11 needs
|
||||
* Browser-based VNC console (noVNC) and serial console
|
||||
* Role-based access control: users only see the VMs assigned to them, within their quota
|
||||
* 2FA (OTP / TOTP) and failed-login lockout
|
||||
|
|
@ -238,6 +239,8 @@ A compute node is a KVM host the panel manages over libvirt.
|
|||
# or, from a cloned repository: sudo sh ./dev/libvirt-bootstrap.sh
|
||||
```
|
||||
|
||||
The new VM form offers UEFI, UEFI Secure Boot (with Microsoft's keys, for Windows 11) and a TPM 2.0 only when the host's libvirt finds the UEFI firmware and swtpm: install `ovmf swtpm-tools` (Debian / Ubuntu) or `edk2-ovmf swtpm swtpm-tools` (RHEL family) if they are missing.
|
||||
|
||||
2. For SSH connections, give the user the panel runs as an SSH key and copy it to the compute node. **Use only the block for your installation type:** a key set up with the host commands is not seen by the panel in Docker. `ssh-copy-id` asks for the compute node's root password once. `accept-new` accepts a new host's key on first connect and refuses a changed one.
|
||||
|
||||
**Installer or manual installation**, on the panel host:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue