summaryrefslogtreecommitdiffstats
path: root/recipes-tpm/swtpm/swtpm-wrappers.bb
Commit message (Collapse)AuthorAgeFilesLines
* swtpm-wrappers: fix naming convention violationPatrick Ohly2017-04-251-53/+0
| | | | | | | | | | | | | Native recipes must be called <foo>-native. This is more than just a recommendation, there's actual code which checks for the suffix. Not following that rule broke swtpm-wrappers when using the "usrmerge" DISTRO_FEATURE, because the code in native.bbclass which cleans up DISTRO_FEATURES for native recipes was skipped and thus swtpm-wrappers ended up using different paths than the other native recipes. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Armin Kuster <akuster808@gmail.com>
* swtpm-wrappers: wrap more commandsPatrick Ohly2017-03-241-7/+19
| | | | | | | | | Soon it might be possible to let qemu start swtpm directly, without requiring root privileges as for swtpm_cuse. For that to work we also need to wrap the swtpm binary. Just in case we now also do it for everything. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
* swtpm-wrappers: simplify using swtpm-nativePatrick Ohly2017-02-181-0/+41
Native tools exist in recipe specific sysroots and are normally not meant to be called from outside a build. But that's what we need to do when using swtpm-native together with qemu, so these wrappers make that possible by setting up the necessary environment and hiding the internal paths. Invoking swtpm_setup.sh gets some special support: swtpm_setup.sh runs two daemons, tcsd and swtpm, of which tcsd insists on running as root or tss. In practice, running as the normal user is perfectly fine. Instead of patching the upstream source code, the approach take here is to run under pseudo. Usage examples: $ bitbake swtpm-wrappers $ mkdir -p my-machine/myvtpm0 $ tmp-glibc/work/x86_64-linux/swtpm-wrappers/1.0-r0/swtpm_setup_oe.sh --tpm-state my-machine/myvtpm0 Starting vTPM manufacturing as root:root @ Mon 16 Jan 2017 04:09:21 PM CET TPM is listening on TCP port 55675. -rw------- 1 root root 65 Jan 16 16:09 /tmp/tmp.2yJBKTTwRk Ending vTPM manufacturing @ Mon 16 Jan 2017 04:09:21 PM CET The resulting "my-machine/myvtpm0" can then be used with swtpm (this time, it really has to be running as root because it uses CUSE to create /dev/vtpm0, and an absolute path is needed for the tpm state dir) and qemu-tpm (patches not currently in OE-core, have to be applied manually): $ sudo tmp-glibc/work/x86_64-linux/swtpm-wrappers/1.0-r0/swtpm_cuse_oe.sh -n vtpm0 --tpmstate dir=`pwd`/my-machine/myvtpm0 $ sudo chmod a+rw /dev/vtpm0 $ runqemu ... 'qemuparams=-tpmdev cuse-tpm,id=tpm0,path=/dev/vtpm0 -device tpm-tis,tpmdev=tpm0' Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Armin Kuster <akuster808@gmail.com>