Agregar soporte vTPM para Proxmox VE

PVE 7.0 ha añadido soporte para TPM, basta con añadir el dispositivo en la interfaz web.

¡Este artículo está desactualizado!

¡Este artículo está desactualizado!

¡Este artículo está desactualizado!

Aunque hace tiempo que se filtran imágenes de Windows 11, Microsoft no las lanzó oficialmente hasta las 23:00 horas del 24 de junio. Tras el lanzamiento, el sitio web de MS anunció los requisitos del sistema para Windows 11, y uno de los requisitos obligatorios es TPM 2.0.

Sin embargo, Proxmox VE no es compatible oficialmente con vTPM, y aunque vTPM es compatible con qemu, hay poca documentación sobre vTPM en línea. Por lo tanto, este artículo describirá cómo habilitar PVE para que admita qemu vTPM para instalar Windows 11 Preview en una máquina virtual.

Actualmente, qemu admite vTPM a través de swtpm, pero el soporte de Proxmox aún está en desarrollo y se desconoce el tiempo estimado. (La última respuesta del personal de Proxmox fue en enero de este año).

Sin embargo, puede instalar swtpm y cambiar los archivos de configuración manualmente, pero eso es un poco engorroso.

Detalles aquí.

Sin embargo, la solicitud de soporte de qemu vTPM planteada por PVE se ha incluido en el rastreador de errores. Por favor tenga paciencia y sucederá.

Bugzilla - Error 3075

swtpm depende de libtpms, y libtpms también debe compilarse e instalarse por separado, instálelo aquí.

El código fuente de swtpm:

El código fuente de libtpms:

Ver la rama

Simplemente vea la última versión estable.

Al momento de escribir este artículo, la última versión es 0.6

(Este es el comando para ver swtpm, elija usted mismo la versión de libtpms)

Instalar dependencias:

Compilación:

Una vez completada la compilación, regrese al directorio principal y verá el paquete deb libtpms.

Instalación:

Instalar paquetes dependientes:

Compilar:

Después de la compilación, el directorio principal generará muchos paquetes de software, entre los cuales lo siguiente es lo que eventualmente necesitará:

Los otros paquetes no son necesarios, son para depurar.

Alguien ha escrito un script de instalación con un solo clic, aquí:

rayures/vTPM

Solo funciona en Debian/Ubuntu.

Hay un ebuild para swtpm en portage, pero está bloqueado por ~amd64.

Agregar palabras clave a /etc/portage/package.keywords

Ejecutar ahora

.

Por supuesto, lo primero que debe hacer es empaquetar el deb compilado en PVE.

Recuerde usar dpkg --info para ver las dependencias, especialmente swtpm-tools.

Al instalar swtpm-tools, asegúrese de instalar sus dependencias primero; de lo contrario, obtendrá dependencias circulares si instala dependencias después de dpkg.

swtpm permite a los invitados acceder al TPM a través de sockets/dispositivos de caracteres/CUSE.

Aquí está el script para crear el dispositivo de socket:

Después, deberías ver el dispositivo en /tmp/.

Obtenga el número de puerto VNC:

Luego agregue una línea en el archivo de configuración de la máquina virtual:

${disk} es la ruta al disco de la máquina virtual imagen, $tpm es la ruta al dispositivo TPM y $nextvnc es el resultado del script anterior. Todos estos son caminos absolutos.

Después de iniciar la máquina virtual, podrá ver la configuración del TPM en sealBIOS.

El script no fue escrito por mí, la publicación original está aquí:

Blog de S3hh

Pero el script no parece ejecutarse directamente, así que divídalo en el script y las operaciones anteriores.

Después de realizar lo anterior, si inicia la máquina virtual sin sistema operativo y luego la fuerza a apagarla, no podrá iniciarse nuevamente y será necesario volver a crear el dispositivo.