mirror of
https://github.com/freebsd/freebsd-src.git
synced 2026-10-28 11:25:21 +01:00
bhyve.8: add details on using TPM with UEFI
Add a note that UEFI VMs using TPM devices should be configured to use a varfile. Some UEFI boot loaders, such as shim, update persistent boot variables and then reset the system when a TPM is present. Without a writable varfile, the VM may be reset repeatedly. Add a TPM device example to the examples list. While here, add a missing "\" to the "uefivm" example, and add ".Pp" before the vCPU pinning examples for consistency with other examples. PR: 287326 Reviewed by: michaelo, ziaee Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D60181
This commit is contained in:
1 parent
d9e2caccfa
commit
ff2efe65a8
1 file changed
+30
-2
+30
-2
@@ -26,7 +26,7 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.Dd August 23, 2026
|
||||
.Dd October 3, 2026
|
||||
.Dt BHYVE 8
|
||||
.Os
|
||||
.Sh NAME
|
||||
@@ -831,6 +831,11 @@ The argument
|
||||
needs to point to a UNIX domain socket that a
|
||||
.Cm swtpm
|
||||
process is listening on.
|
||||
The
|
||||
.Cm swtpm
|
||||
utility can be installed from the
|
||||
.Pa sysutils/swtpm
|
||||
port.
|
||||
.El
|
||||
.Pp
|
||||
The
|
||||
@@ -843,6 +848,10 @@ Defaults to
|
||||
.Cm 2.0 ,
|
||||
which is the only version currently supported.
|
||||
.El
|
||||
.Pp
|
||||
When using a TPM with UEFI firmware, the boot ROM should be configured
|
||||
with a writable
|
||||
.Ar varfile .
|
||||
.Ss Boot ROM device backends
|
||||
.Sm off
|
||||
.Bl -bullet
|
||||
@@ -1357,7 +1366,7 @@ Be sure to create a per-guest copy of the template VARS file from
|
||||
bhyve -c 2 -m 4g -w -H \\
|
||||
-s 0,hostbridge \\
|
||||
-s 31,lpc -l com1,stdio \\
|
||||
-l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI_CODE.fd,BHYVE_UEFI_VARS.fd
|
||||
-l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI_CODE.fd,BHYVE_UEFI_VARS.fd \\
|
||||
uefivm
|
||||
.Ed
|
||||
.Pp
|
||||
@@ -1412,16 +1421,35 @@ bhyve -c 2 -w -H \\
|
||||
-n id=0,size=4G,cpus=0-1,domain_policy=prefer:0 \\
|
||||
numavm
|
||||
.Ed
|
||||
.Pp
|
||||
To run a virtual machine with a single vCPU pinned to host CPU 12:
|
||||
.Bd -literal -offset indent
|
||||
bhyve -c 1 -s 0,hostbridge -s 1,lpc -s 2,virtio-blk,/my/image \\
|
||||
-l com1,stdio -H -P -m 1G -p 0:12 vm1
|
||||
.Ed
|
||||
.Pp
|
||||
To run a virtual machine with 4 vCPUs pinned to host CPUs 12-15:
|
||||
.Bd -literal -offset indent
|
||||
bhyve -c 4 -s 0,hostbridge -s 1,lpc -s 2,virtio-blk,/my/image \\
|
||||
-l com1,stdio -H -P -m 1G -p 0-3:12-15 vm1
|
||||
.Ed
|
||||
.Pp
|
||||
Run a UEFI virtual machine with a TPM device connected to a running
|
||||
.Cm swtpm
|
||||
instance listening on
|
||||
.Pa /var/run/swtpm/tpm .
|
||||
The
|
||||
.Pa tpmvm_VARS.fd
|
||||
file must be a per-guest copy of the firmware VARS template, as described
|
||||
in the UEFI example above:
|
||||
.Bd -literal -offset indent
|
||||
bhyve -c 2 -m 4g -w -H \\
|
||||
-s 0,hostbridge \\
|
||||
-s 31,lpc -l com1,stdio \\
|
||||
-l tpm,swtpm,/var/run/swtpm/tpm \\
|
||||
-l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI_CODE.fd,tpmvm_VARS.fd \\
|
||||
tpmvm
|
||||
.Ed
|
||||
.Sh SEE ALSO
|
||||
.Xr bhyve 4 ,
|
||||
.Xr netgraph 4 ,
|
||||
|
||||
Reference in new issue
Block a user