私はDebian 8で私のラップトップに組み込まれているtpm(信頼できるプラットフォームモジュール)を使用しようとしています。ほとんどのtpm_ *プログラムは答えを返します。
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フィードバック:
root@debian:~# tcsd -f
TCSD TDDL ERROR: Could not find a device to open!
ロードされたモジュール:
root@debian:~# lsmod | grep tpm
tpm_tis 17231 0
tpm 31511 2 tpm_tis
最後に、dmesgは次のように応答します。
root@debian:~# dmesg | grep tpm
[ 6.743307] tpm_tis 00:05: 1.2 TPM (device-id 0x0, rev-id 78)
TPMはBIOSでオンになっています。どんな手がかりがありますか?
答え1
BeagleBone BlackのセキュアブートにAtmel Trusted Platform Moduleを使用しています。解決策が見つからなかった場合、私が行った方法は次のとおりです。
私はBeagleBone Black(BBB)用のシンプルな組み込みLinuxを作成するためにBuildrootを使用しています。追加しましたtpmツールとtpm-tssビルドルートがあります。
以下のオプションをモジュールとして追加しました。
- ハードウェア乱数ジェネレータコアのサポート
- TPMハードウェアサポート
- TPM インターフェイス仕様 1.2 インターフェイス/TPM 2.0 FIFO インターフェイス
- TPMインターフェース仕様1.2インターフェース(I2C – Atmel)
また、BBBのデバイスツリーを修正し、次の修正を追加しました。
&i2c2 {
tpm29:tpm@29 {
compatible = "atmel,at97sc3204t";
reg = <0x29>;
};
};
BBBから組み込みLinuxを起動するときは、次のドライバをロードします。
# modprobe tpm_i2c_atmel
# modprobe tpm_tis
# modprobe tpm_tis_core
# modprobe tpm
次に、次のようにtcsdデーモンを起動します。
# /usr/sbin/tcsd
/コマンド/usr/sbin/tcsd
でその内容を確認できます。top
htop
これらの手順を完了したら、TPMと会話する準備が整いました。
答え2
BIOSでTPMを有効にするには、次のものが必要な場合があります。電源サイクル効果的です。 BIOSメニューには、構成する必要がある2つの項目があります。
追加モジュールがありますtpm_bios
。
Aは間違っているようdevice-id
です0x0
。たとえば、Atmel TPMの場合0x3204
。
試してみる最初の便利なコマンドはtpm_version
、thenとtpm_getpubek
、tpm_selftest
beforeですtpm_takeownership
。