Comment 8 for bug 1903864

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

The above is for emulator which IMHO meant for use with swtpm so I should use it I guess ...

$ swtpm socket --tpmstate dir=/tmp/mytpm1 --ctrl type=unixio,path=/tmp/mytpm1/swtpm-sock --log level=20
$ qemu-system-x86_64 -nodefaults -S -display none -monitor stdio -chardev socket,id=chrtpm,path=/tmp/mytpm1/swtpm-sock -tpmdev emulator,id=tpm0,chardev=chrtpm -device tpm-tis,tpmdev=tpm0

^^ this seems to work and gets qemu started even with 1:4.2-3ubuntu6.11 +
1:5.0-5ubuntu9.2~backport20.04-202011301725~ubuntu20.04.1

So all of this might also somewhat depends on the emulator setup as well.
What did you use for that.
Did you use swtpm, how did you (or your surrounding tooling) start it?

But to counter the "it is just swtpm details" argument a bit:
A passthrough case (without swtpm emulator) seems affected by the same issue that originally was reported:

1:4.2-3ubuntu6.1

$ sudo qemu-system-x86_64 -nodefaults -S -display none -monitor stdio -tpmdev passthrough,id=tpm0,path=/dev/tpm0 -device tpm-tis,tpmdev=tpm0
qemu-system-x86_64: -tpmdev passthrough,id=tpm0,path=/dev/tpm0: tpm_passthrough: Could not guess TPM cancel path
QEMU 5.0.0 monitor - type 'help' for more information
(qemu) qemu-system-x86_64: -device tpm-tis,tpmdev=tpm0: Property 'tpm-tis.tpmdev' can't find value 'tpm0'

A friend of mine tried the passthrough case on Hirsute (qemu 5.2) and he got past this error as well. It is still failing at "Could not guess TPM cancel path". But since none of us has had a working TPM env before we could not call that a regression. At least the reported issue seems to be solved with this.

So we are back @Jaromir - could you try the qemu 5.2 in Ubuntu 21.04 if that would work for you?