Azure / meta-iotedge

Yocto layer for Azure IoT Edge
MIT License
53 stars 59 forks source link

Running iotedge without tpm module #149

Open libreo-mwebert opened 9 months ago

libreo-mwebert commented 9 months ago

Describe the bug After adding a config.toml with proper hostname and connection string [provisioning] source = "manual" connection_string = "..." and applying the config, the command iotedge system logs tells me WARNING:tcti:../tpm2-tss-3.2.2/src/tss2-tcti/tcti-device.c:440:Tss2_Tcti_Device_Init() Failed to open default TCTI device file /dev/tpmrm0: No such file or directory. Thing is that I run this on a Raspberry Pi 4 without TPM module but I cannot find a way to disable tpm.

To Reproduce Build yocto with meta-iotedge for raspberry pi4, configure config.toml with hostname and connection string, apply config and read iotedge system logs iotedge system logs

Expected behavior Configuration parameter to disable tpm usage?

Logs aziot-tpmd[4224]: WARNING:tcti:../tpm2-tss-3.2.2/src/tss2-tcti/tcti-device.c:440:Tss2_Tcti_Device_Init() Failed to open default TCTI device file /dev/tpmrm0: No such file or directory aziot-tpmd[4224]: WARNING:tcti:../tpm2-tss-3.2.2/src/tss2-tcti/tcti-device.c:440:Tss2_Tcti_Device_Init() Failed to open default TCTI device file /dev/tpm0: No such file or directory aziot-tpmd[4224]: ERROR:tcti:../tpm2-tss-3.2.2/src/tss2-tcti/tcti-device.c:445:Tss2_Tcti_Device_Init() Could not open any default TCTI device file aziot-tpmd[4224]: ERROR:tcti:../tpm2-tss-3.2.2/src/tss2-tcti/tctildr-dl.c:154:tcti_from_file() Could not initialize TCTI file: device aziot-tpmd[4224]: ERROR:tcti:../tpm2-tss-3.2.2/src/tss2-tcti/tctildr.c:428:Tss2_TctiLdr_Initialize_Ex() Failed to instantiate TCTI aziot-tpmd[4224]: 2024-01-26T15:43:57Z [ERR!] - service encountered an error aziot-tpmd[4224]: 2024-01-26T15:43:57Z [ERR!] - caused by: internal error aziot-tpmd[4224]: 2024-01-26T15:43:57Z [ERR!] - caused by: could not initialize TPM aziot-tpmd[4224]: 2024-01-26T15:43:57Z [ERR!] - caused by: tcti:IO failure aziot-tpmd[4224]: 2024-01-26T15:43:57Z [ERR!] - 0: <unknown> aziot-tpmd[4224]: 1: <unknown> aziot-tpmd[4224]: 2: <unknown> aziot-tpmd[4224]: 3: <unknown> aziot-tpmd[4224]: 4: <unknown> aziot-tpmd[4224]: 5: <unknown> aziot-tpmd[4224]: 6: <unknown> aziot-tpmd[4224]: 7: <unknown> aziot-tpmd[4224]: 8: <unknown> aziot-tpmd[4224]: 9: <unknown> aziot-tpmd[4224]: 10: <unknown> aziot-tpmd[4224]: 11: __libc_start_call_main aziot-tpmd[4224]: at usr/src/debug/glibc/2.35-r0/git/csu/../sysdeps/nptl/libc_start_call_main.h:58:16 aziot-tpmd[4224]: 12: __libc_start_main_impl aziot-tpmd[4224]: at usr/src/debug/glibc/2.35-r0/git/csu/libc-start.c:389:3 systemd[1]: aziot-tpmd.service: Main process exited, code=exited, status=1/FAILURE systemd[1]: aziot-tpmd.service: Failed with result 'exit-code'.

Build System (please complete the following information):

Target System (please complete the following information):

Additional context Add any other context about the problem here.

ruben-sch commented 9 months ago

Would be nice to have this Option! As far as I know there ist also a machine-feature called tpm or tpm2 which can be used for includind or excluding tpm Part of iotedge

libreo-mwebert commented 9 months ago

@rschwarz-sotec thanks for the input, tpm(2) is not added as machine feature. Any other thoughts/hints on this? I will give it a try with adding a tpm in the meantime.

emilm commented 8 months ago

I deactivate the aziot-tpmd in my .bbappend: my-layer/recipes-core/aziotd/aziotd_%.bbappend : SYSTEMD_SERVICE:${PN}:remove:my-tpm-less-machine = "aziot-tpmd.service"