ubuntu下安裝TPM模擬器 --成功步驟

首先,安裝環境是:

我的實驗室電腦,裝了vmware station,上面裝了ubuntu

然後呢,裝上vmware tools工具,裝好了不過總感覺有點問題。

 

然後就開始準備安裝TPM模擬器了~

首先,參看文章http://www.uplook.cn/Linux/8/Linux_85695.html

這個文章寫的很詳細了,一步步來基本沒問題。所以一定要不怕困難,有互聯網還怕什麼問題,出了問題想辦法解決就是了。

 

總體的安裝步驟有:

安裝vmware tools

安裝cmake

安裝gmp

安裝GTK

安裝TPM模擬器、初始化TPM、啓動TPM

安裝TSS協議棧:(:trouserstpm-tools)、啓動TCSD

檢測是否安裝成功

安裝tpmmanager,運行tpmmanager

 

 

遇到的問題:

1、解壓文件的問題:解壓出錯,上網查好像說是下載的包有問題,就重新下載了一下。就可以了。

2、解壓命令:

tar –zxvf aaa.tar.gz

tar –zxvf aaa.tar.bz2

 

經過一番折騰,總算在Ubuntu下構建好了模擬TPM環境,步驟如下:

環境:虛擬機VMWare + ubuntu 12,非root用戶必要時候sudo即可

1.安裝CMake

下載網址:http://www.cmake.org/

我下載的版本是cmake-2.8.8.tar.gz

解壓:#tar -zxf cmake-2.8.8.tar.gz

安裝:(1)#cd cmake-2.8.8

(2)#./bootstrap

(3)#make

(4)#make install

參考其中的Readme.txt文件

這一步在(1)的時候可能會遇到沒有C++編譯器之類的問題,可以敲入命令apt-get install g++解決

 

備註:上面是文章的作者的做法,我是直接在終端apt-get的,。方法爲

sudo apt-get install cmake

這樣,就會自動安裝了,如果找不到的話,可以按上述描述下載,然後安裝。

2.安裝GNU MP library

下載網址:http://gmplib.org

我下載的版本是gmp-5.0.5.tar.bz2

解壓:#tar -jxf gmp-5.0.5.tar.bz2

安裝:1#./configure

(2)#make

(3)#make check

(4)#make install

參考其中的INSTALL文件

若出現提示缺少m4,則敲入命令apt-get install m4

3.安裝GTK

參考:http://www.linuxidc.com/Linux/2008-09/15955.htm

#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/glibAPI參考手冊及其它幫助文檔
#apt-get install glade libglade2-dev#這將安裝基於GTK的界面GTK是開發Gnome窗口的c/c++語言圖形庫
#apt-get install libgtk2.0*  #gtk+2.0所需的所有文件統通下載安裝完畢

4.安裝Tpm_emulator

下載:https://developer.berlios.de/project/showfiles.php?group_id=2491

我下載的版本tpm_emulator-0.7.4.tar.gz

解壓:#tar -xzf tpm_emulator-0.7.4.tar.gz

安裝:1 #cd tpm_emulator-X.Y
2 #mkdir build
3 #cd build
4 #cmake ../
5 #make
6 #make install

參考其中的README文件

 

 

初始化TPM模擬器
#tpmd deactivated
#killall tpmd
#tpmd clear

啓動軟TPM
#modprobe tpmd_dev

#tpmd -f -dtpmd -h查看啓動參數)//如果遇到異常,則用tpmd –f –d clear啓動

 

若出現Module tpmd_dev not found,則先運行命令depmod -a

若出現failed: address already in use,則運行命令rm /var/run/tpm/tpmd_socket:0

若成功,會不斷出現如下提示:

tpmd.c:310: Debug: waiting for connections...

這個connection就代表安裝模擬器成功了

 

5.TSS協議棧安裝

下載網址:http://sourceforge.net/project/showfiles.php?group_id=126012

我下載的協議棧包如下:

testsuite-0.3.tar.gz, grub-0.97-13-ima-1.1.0.0.tgz, tpm_keyring2-0.1.tar.gz, tpm-tools-1.3.8.tar.gz, openssl_tpm_engine-0.4.1.tar.gz, trousers-0.3.8.tar.gz

實際上我只安裝了tpm-tools-1.3.8.tar.gztrousers-0.3.8.tar.gz兩個包。步驟如下:

首先安裝trousers-0.3.8.tar.gz

解壓:#tar -zxf trousers-0.3.8.tar.gz

安裝:參考其中的README文件

1)在編譯前,我們首先對其中的幾個文件進行修改,因爲要重定向tddl

修改./src/tcsd/Makefile.am4行如下:

4 tcsd_LDADD=${top_builddir}/src/tcs/libtcs.a${top_builddir}/src/tcs/libtddl.so -lpthread @CRYPTOLIB@

注意:上面爲一行

tcsd_LDADD=${top_builddir}/src/tcs/libtcs.a/usr/local/lib/libtddl.so -lpthread @CRYPTOLIB@

修改./src/tcsd/Makefile.in55 56行如下:

55 tcsd_DEPENDENCIES = ${top_builddir}/src/tcs/libtcs.a
56 ${top_builddir}/src/tcs/libtddl.so

爲:
55 tcsd_DEPENDENCIES = ${top_builddir}/src/tcs/libtcs.a
56 /usr/local/lib/libtddl.so

注:上面修改中的/usr/local/lib/有時可能會是/usr/lib,可查看libtddl.so的位置來確定是哪個目錄。
2sh bootstrap.sh

//若沒有bootstrap,因此,sh bootstrap.sh步驟省去

3#./configure

4#make

5#make install

啓動TCSD
#tcsd -e -f

在啓動TCSD之前,必須先啓動tpm-emulator,否則會提示找不到設備.

make中,可能會出現將警告當做錯誤的情況,使得make無法繼續下去,有以下幾種解決辦法:

- add -Wno-error=unused-but-set-variable to CFLAGS to turn it into a
warning; or
- remove -Werror from CFLAGS (or append -Wno-error) to continue
compiling despite warnings; or
- use -Wno-unused-but-set-variable to disable that particular warning
entirely.

我使用了第三種,即將命令(3)改爲env CFLAGS="-Wno-unused-but-set-variable" ./configure

一切正常。

然後安裝tpm-tools-1.3.8.tar.gz

解壓縮:#tar -zxf tpm-tools-1.3.8.tar.gz

安裝過程參考其中的README文件

1 # sh ./bootstrap.sh因爲沒有bootstrap.sh文件,所以該步省掉
2 # ./configure
3
# make
4 # make install

若出現ld returned 1 exit statuserror, undefined reference的情況,可將(2)命令改爲

./configure --prefix=/usr

參考自http://sourceforge.net/mailarchive/forum.php?thread_name=8EC9AB6E66453948A332E1C0D268369D09FF82@IMCMBX03.MITRE.ORG&forum_name=trousers-users

原話爲:

what may be happening here is that when you rebuild trousers
from source it gets installed in /usr/local by default, then when you
build tpm-tools it can only find your distro's libtspi.so in /usr/lib.
./configure --prefix=/usr should fix this.

成功解決。

6.檢測是否成功安裝:

tpm-tools-1.3.8/src/tpm_mgmt/目錄下查看以下三個信息:

#./tpm_version #查看版本號

#./tpm_getpubek #查看ek公鑰

#./tpm_takeownership #獲取owner

注:如果都成功表明TPM模擬環境已經完全構建成功了。

如果 tpm_version出現tpm_version: error while loading shared libraries: libtspi.so.1: cannot open shared object file: No such file or directory則使用命令apt-get install libtspi-dev

若出現Tspi_Context_Connect failed: 0x00003011 - layer=tsp, code=0011 (17), Communication failure
,則開啓tpmdtcsd即可。

另外,

tpm_emulator-0.7.4/tddl文件夾下有測試事例:
../tpm_emulator-0.7.4/tddl# gcc -o test_tddl test_tddl.c -ltddl// -ltddl
爲鏈接tddl的動態鏈接庫
../tpm_emulator-0.7.4/tddl# LD_LIBRARY_PATH=/usr/local/lib ./test_tddl//
運行結果

因爲$PATH中沒有路徑/usr/local/lib,因此,需要加上LD_LIBRARY_PATH=/usr/local/lib,不然會報錯

 

7、安裝TPMManager

其實tpmmanager可裝可不裝,主要是它提供QT界面可以直觀查看和管理TPM而已,比較方便。tpmmanager-0.8安裝需要QT支持,需要安裝qt4-qmake。但是make過程會出現缺少uic-qt4 command not found,還需要安裝libqt4-dev。編譯安裝過程

也就是說,首先:

sudo apt-get install qt4-qmake

sudo apt-get install libqt4-dev

#cd tpmmanager-0.8 //這個版本是博客裏作者的,要看自己下載的是什麼版本

#qmake  #查看qt版本,如果沒有,apt-get install qt4-qmake

#qmake

#make

 

(make的過程提示錯誤,src/TPMManager.cxx412:47error: can not call constructor QUrl::Qurl directly[-fpermissive],如果出現了同樣的錯誤,打開這個文件,修改TPMManager.cxx 412行,將

QUrl myURL = QUrl::QUrl(url, QUrl::strictMode)修改爲QUrl myURL =QUrl(url, QUrl::strictMode) 源碼就可以繼續編譯)

# install bin/tpmmanager /usr/local/bin

運行tpmmanager

#tpmmanager

 

 

提供幾個安裝的時候參考的網址:

1、http://www.uplook.cn/Linux/8/Linux_85695.html 超級詳細很有用

2、http://blog.chinaunix.net/uid-23757972-id-3074677.html 也很詳細,只是非ubuntu

3、 vTPM的安裝,這個很本文無關,只是在這裏記錄一下

http://www.etcn.cn/Tech/Os/Linux/2012/1022/43906.html

4http://blog.chinaunix.net/uid-23757972-id-3242694.html   這個和2是一個作者

5http://blog.chinaunix.net/uid-20657527-id-1588199.html 這個解決了遇到的問題,就是tpm啓動的是要clear一下。tpmd –d –f clear

6http://blog.csdn.net/cicisensy/article/details/5291569  這個也是安裝步驟,參考。不過就介紹了一點,只有TPM模擬器的安裝。

 

 

注意在軟件的安裝包裏都有readme類似的東西,值得參考!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章