Ubuntu下TNC架构环境搭建1:TPM_emulator和Trousers

在安装的过程中,我参考了zhangnn5的博客:
http://blog.csdn.net/zhangnn5/article/details/6767230
本篇主要搭建TPM emulaotr和Trousers。
网上安装TPM emulator的教程都说要编译内涵,他们大多是以内核版本2.6为例,我用的Ubuntu11.10,内核版本3.0,已包含TPM驱动,所以不用编译内核了。
1、安装前的准备工作
TPM emulaotr安装需要GMP大数库和CMake编译工具。
(1)CMake安装
下载:http://www.cmake.org/
解压后有一个Readme.txt文件 这就是给出的安装过程
#cd cmake-2.8.4
#make
#sudo make install
或者直接 $ sudo apt-get install cmake
(2)GMP library
下载:http://gmplib.org
解压后INSTALL为安装过程
#cd gmp-5.0.2
#./configure
#make
#make check<= VERY IMPORTANT!!
#sudo make install
在安装的过程中若提示缺少m4,sudo apt-get install m4
在安装的过程中若提示找不到openssl,sudo apt-get install libssl-dev
2、Tpm_emulator安装
下载:https://developer.berlios.de/project/showfiles.php?group_id=2491,目前最新版是0.7.3
解压后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
#sudo modprobe tpmd_dev (如果出现FATAL: Module tpmd_dev not found,则先运行sudo depmod -a)
#tpmd -f -d        (tpmd -h查看启动参数)
若提示下面错误:
#tpmd.c:276: Error: bind(/var/run/tpm/tpmd_socket:0) failed: No such file or directory
是由于没有建立/var/run/下的tpm目录(该目录每次启动系统时都被删除,需要重建,不知道有没有好办法)
#sudo mkdir /var/run/tpm
# sudo chmod 777 /var/run/tpm  -R
#tpmd -df save
即可成功启动tpm emulator.

3、TSS协议栈安装
下载:http://sourceforge.net/project/showfiles.php?group_id=126012,最新版本0.3.7
协议栈包括:trousers,TSS API test suite,tpm-tools,Grub-IMA,OpenSSL TPM Engine,TPM Keyring
 解压后,trousers安装过程在README中
 重定向tddl
由于使用TPM模拟器,在编译trousers前需要将其以来的tddl库改为TPM模拟器提供的tddl。
l 修改 ./src/tcsd/Makefile.am 第4行:
tcsd_LDADD=../tcs/libtcs.a ../tddl/libtddl.a –lpthread
为:
tcsd_LDADD=../tcs/libtcs.a /usr/lib/libtddl.so –lpthread
l 修改 ./src/tcsd/Makefile.in 第59行:
tcsd_DEPENDENCIES = ../tcs/libtcs.a ../tddl/libtddl.a
为:
tcsd_DEPENDENCIES = ../tcs/libtcs.a /usr/lib/libtddl.so
2.3.3修改Trousers Bug
l 修改 ./src/include/obj_context.h 第79行:
struct tcs_api_table *obj_context_get_tcs_api();
为:
struct tcs_api_table *obj_context_get_tcs_api(UINT32);
此处存疑,新版此处已变为:struct tcs_api_table *obj_context_get_tcs_api(TSS_HCONTEXT);所以没有修改
To build trousers after you have the device driver installed:
$ ./configure [--enable-debug] [--enable-gprof] [--enable-gcov]
   $ make
   # make install
0.3.7版make时会报错:
(1)../../libtool:xx命令找不到
    把安装目录内的 libtool 文件里的 $echo 替换成 $ECHO  ,重新编译,即可通过
(2)错误:xx变量声明但未使用
    搜索src文件夹下各个Makefile文件,将其中的-Werror选项替换为空
启动TCSD

#tcsd -e -f


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值