由于要使用TPM做实验,没钱只能用模拟器了 能使模拟器正常运行,我花费了很长的时间,这个过程太痛苦了,我把我安装的过程写下来,给有用的同学一个参考
在安装的过程中,我参考了以下两位的博客:
浪迹天涯:
http://blogold.chinaunix.net/u3/96833/showart_1932475.html
zqqa——呆头呆脑看世界:
http://blogold.chinaunix.net/u/4329/showart_2205462.html
现在的linux内核都已经支持TPM,所以就没有必要再编译内核了
1、安装前的准备工作
(1)CMake安装
下载:
解压后有一个Readme.txt文件 这就是给出的安装过程
#cd cmake-2.8.4
#$ ./bootstrap
#make
#make install
但是文件中没有bootstrap,我不知道为什么,但这一步不执行也没关系
(2)GNU MP library
下载:
解压后INSTALL为安装过程
#cd gmp-5.0.1
#./configure
#make
#make check <= VERY IMPORTANT!!
#make install
在安装的过程中提示缺少m4,sudo apt-get install m4
(3)GTK安装
参考:
apt-get install build-essential #这将安装gcc/g++/gdb/make 等基本编程工具
apt-get install gnome-core-devel #这将安装 libgtk2.0-dev libglib2.0-dev 等开发相关的库文件
apt-get install pkg-config #用于在编译GTK程序时自动找出头文件及库文件位置
apt-get install devhelp #这将安装 devhelp GTK文档查看程序
apt-get install libglib2.0-doc libgtk2.0-doc #这将安装 gtk/glib 的API参考手册及其它帮助文档
apt-get install glade libglade2-dev #这将安装基于GTK的界面GTK是开发Gnome窗口的c/c++语言图形库
apt-get install libgtk2.0*, gtk+2.0所需的所有文件统通下载安装完毕
2、Tpm_emulator安装
下载:https://developer.berlios.de/project/showfiles.php?group_id=2491
解压后README文件为安装和使用的说明
# tar -xvzf tpm_emulator-X.Y.tar.gz
# cd tpm_emulator-X.Y
# mkdir build
# cd build
# cmake ../
# make
# make install
初始化
#tpmd deactivated
#killall tpmd
#tpmd clear
#rm /var/run/tpm/tpmd_socket:0 (出现failed:address already in use 时执行它)
启动软TPM
#modprobe tpmd_dev (如果出现FATAL: Module tpmd_dev not found,则先运行depmod -a)
#tpmd -f -d (tpmd -h查看启动参数)
3、TSS协议栈安装
下载:
协议栈包括:trousers,TSS API test suite,tpm-tools,Grub-IMA,OpenSSL TPM Engine,TPM Keyring
解压后,trousers安装过程在README中
To build trousers after you have the device driver installed:
$ sh bootstrap.sh
$ ./configure [--enable-debug] [--enable-gprof] [--enable-gcov]
$ make
# make install
同样这里没有bootstrap.sh文件,此步不用执行
启动TCSD
#tcsd -e -f
4、tpm-tools安装
tpm-tools安装过程在README中
安装要求:
----- ------------
Packages needed to build:
automake
autoconf
libtool
gettext
gettext-devel
trousers
trousers-devel
optional (for PKCS#11 support - tpmtoken commands)
openssl-0.9.7 or newer
openssl-devel-0.9.7 or newer
opencryptoki-2.2.0 or newer
安装过程:
-------- ---------
$ sh ./bootstrap.sh
$ ./configure
$ make
# make install
5、测试
启动Tpm_emulator
在tpm_emulator-0.7.2/tddl文件夹下有测试事例:
../tpm_emulator-0.7.2/tddl# gcc -o test_tddl test_tddl.c -ltddl // -ltddl 为链接tddl的动态链接库
../tpm_emulator-0.7.2/tddl# LD_LIBRARY_PATH=/usr/local/lib ./test_tddl //运行结果
Driver status: DRIVER OK
Device status: DEVICE OK
DRV version: 1.5.0.0
TPM Version: 1.1.0.0
Manufacturer: Mario Strasser, ETH Zurich
Module type: Software-based TPM Emulator
Transmit: 00 c1 00 00 00 0a 00 00 00 5a
Result: 00 c4 00 00 00 0a 00 00 00 00
开始我没有加 LD_LIBRARY_PATH=/usr/local/lib 运行报错:
/tpm_emulator-0.7.2/tddl# ./test_tddl
./test_tddl: error while loading shared libraries: libtddl.so.1.2: cannot open shared object file: No such file or directory
找不到libtddl.so.1.2库,因为$PATH中没有路径/usr/local/lib
阅读(4413) | 评论(0) | 转发(0) |