I’d try to use tpm (trusted platform module) built in my laptop on Debian 8. Most of tpm_* programs gives back answer:
root@debian:~# tpm_takeownership Enter owner password: Confirm password: Enter SRK password: Confirm password: Tspi_TPM_TakeOwnership failed: 0x00000008 - layer=tpm, code=0008 (8), The TPM target command has been disabled
tcsd gives back:
root@debian:~# tcsd -f TCSD TDDL ERROR: Could not find a device to open!
modules are loaded:
root@debian:~# lsmod | grep tpm tpm_tis 17231 0 tpm 31511 2 tpm_tis
And finally, dmesg gives back:
root@debian:~# dmesg | grep tpm [ 6.743307] tpm_tis 00:05: 1.2 TPM (device-id 0x0, rev-id 78)
TPM is turned on in BIOS. Any clue?
Answer
I’m working on a secure boot on a BeagleBone Black with an Atmel Trusted Platform Module. If you didn’t find a solution, this is what I did.
I use Buildroot to create a simple Embedded Linux for the BeagleBone Black(BBB).
I added the tpm-tools and tpm-tss with Buildroot.
I added the following option as module:
- Hardware Random Number Generator Core support
- TPM Hardware support
- TPM Interface Specification 1.2 Interface / TPM 2.0 FIFO Interface
- TPM Interface Specification 1.2 Interface (I2C – Atmel)
I also modified my device tree for my BBB and add the following modification:
&i2c2 {
tpm29:tpm@29 {
compatible = "atmel,at97sc3204t";
reg = <0x29>;
};
};
When I start my embedded Linux on the BBB, I load the following drivers like this:
# modprobe tpm_i2c_atmel
# modprobe tpm_tis
# modprobe tpm_tis_core
# modprobe tpm
then I start the tcsd daemon like this:
# /usr/sbin/tcsd
You can make sure you see /usr/sbin/tcsd
in the top
/ htop
command.
After those steps, I’m able to talk to my TPM.
Attribution
Source : Link , Question Author : Daniel Szydłowski , Answer Author : pevik