XEN中默认对可信计算硬件芯片提供虚拟化支持,其实是基于tpm-emulator,在XEN中体现为VTPM的后端驱动(dom0中)和前端驱动(domU中),配置编译过程简要说明如下:
1 VTPM配置
在启用VTPM配置后,domU一直无法启动,而dom0启动时也有提示错误,且modprobe tpmbk在启动vtpm_manager时需要重新加载,需要自动加载该模块。
解决:
使用命令分别编译两个内核
# make linux-2.6-xen0-config CONFIGMODE=menuconfig (or xconfig)
# make linux-2.6-xen0-install
# make linux-2.6-xenU-config CONFIGMODE=menuconfig (or xconfig)
# make linux-2.6-xenU-install
生成文件:
#mkinitramfs -o /boot/initrd.img-2.6.18.8-xen0 2.6.18.8-xen0
#mkinitramfs -o /boot/initrd.img-2.6.18.8-xenU 2.6.18.8-xenU
并修改启动文件:/boot/grub/menu.lst和/etc/xen/Ubuntu中相应的内核部分内容
make menuconfig
enter “Processor type and features —>”
enter “High Memory Support (4GB) —>”
select 64GB
Exit
Exit and Save
2 VTPM安装
1).OS为Ubuntu 8.04,XEN为xen-3.4.2
2).安装过程基本与原来类似,但需要预装的包多一些;
3).xen安装过程简要说明:
make world(第一次安装时,需要从网上下一些包)
make dist
make install
make xen tools(有时可能tools有问题,但不影响make install,最好单独编译)
4).关于VTPM配置安装
根据用户手册3.3版本,需要以下配置改动:
#1.需要先载入模板
modprobe tpmbk
#2.在xen-3.4.2编译的文件夹下,修改文件Config.mk下面的项:
VTPM_TOOLS?=y
#3.如果主机没有真正的物理TPM芯片,则需要使用tpm_emulator,需要修改文件tools/vtpm/Rules.mk:
BUILD_EMULATOR=y
#4.为了管理vtpm,需要启动vtpm_manager,修改文件tool/vtpm manager/Rules.mk:
#TCStalkstofifo’
sratherthan/dev/tpm.TPMEmulatorassumedonfifos
CFLAGS+=-DDUMMY_TPM
#5.执行编译:
make linux-2.6-xen-config CONFIGMODE=menuconfig
在选项Device Driver/Character Devices/TPM Devices中,将所有项选择(*)而不是(-)
make
make install
(系统重启后,不需要再使用下面的modprobe命令即可)
#6.使用终端命令启动tpm_emulator和tpm_manager:
tpm_emulator clear
modprobe tpmbk
vtpm_manager
如果成功,则显示两个deamon在进行通信,并且vtpm_manager在等待domU的连接信息。
3 客户端domU中相关配置:–半虚拟化中,修改过的ubuntu系统
1.)配置与内核编译
为了使用vtpm,需要启动相关模块:
modprobe tpm_xenu
2.)在配置文件中需要修改下面选项:
vtpm=[’instance=<instancenumber>,backend=<domainid>’]示例如下:
vtpm=[’instance=1,backend=0’]或者vtpm=[’backend=0’]
3.)判断是否启动VTPM成功,查看文件是否存在:
/sys/devices/xen/vtpm-0
4.)与dom0中的vtpm deamon通信使用下面的设备:
/dev/tpm0
目前本人在domU中使用配置VTPM还未成功,但dom0中的vtpmd与vtpm-managerd已经通信成功。