vTPM环境部署(ubuntu)

  • vTPM环境部署ubuntu

    • 安装之前
    • 安装seabios-tpm与libtpms
    • swtpm安装
    • 安装qemu-tpm
    • 启动vTPM

更新:

  • 最近看到seabios-tpm仓库好像已经下载不到了,所以创建了一个仓库,用来记录所依赖的几个安装包:https://github.com/lwyeluo/vtpm-support

之前用centos安装了vTPM vtpm-centos,但是近期任务还是得回到ubuntu上…本次实验采用15.10以及root用户,若使用14.04版本,请先apt-get update && apt-get upgrade && apt-get dist-upgrade。

安装之前

安装依赖包:

apt-get install build-essential libtool automake \
libgmp-dev libnspr4-dev libnss3-dev openssl \
libssl-dev git iasl glib-2.0 libglib2.0-0 \
libglib2.0-dev libtasn1-6-dev tpm-tools \
libfuse-dev libgnutls-dev libsdl1.2-dev \
expect gawk socat libfdt-dev

软件包地址:

  1. libtpms: https://github.com/stefanberger/libtpms
  2. swtpm: https://github.com/stefanberger/swtpm
  3. seabios-tpm: https://github.com/stefanberger/seabios-tpm
  4. qemu-tpm: https://github.com/stefanberger/qemu-tpm

    安装seabios-tpm与libtpms

seabios:直接make即可,记住out/bios.bin路径,最好写入环境变量。

git clone https://github.com/stefanberger/seabios-tpm
cd seabios-tpm
make

libtpms:

git clone https://github.com/stefanberger/libtpms
cd libtpms
./bootstrap.sh
./configure --prefix=/usr --with-openssl
make
make install

注:与在centos上安装不同,这里需要带上参数:–with-openssl。源码中默认使用freebl作为加解密库,在ubuntu中出现错误:

could not find AES_CreateContext()...

swtpm安装

git clone https://github.com/stefanberger/swtpm
cd swtpm
./bootstrap.sh
./configure --prefix=/usr --with-openssl
make
make check
sudo make install
cp /usr/etc/swtpm_setup.conf /etc/swtpm_setup.conf

安装qemu-tpm

git clone https://github.com/stefanberger/qemu-tpm
cd qemu-tpm
./configure --enable-kvm --enable-tpm --enable-sdl
make
make install

启动vTPM

创建/dev/vtpm*:

sudo modprobe cuse
mkdir /tmp/myvtpm0
chown -R tss:root  /tmp/myvtpm0
swtpm_setup --tpm-state /tmp/myvtpm0  --createek

成功界面为:

[root@localhost swtpm]# swtpm_setup --tpm-state /tmp/myvtpm0  --createek
Starting vTPM manufacturing as tss:tss @ Fri 22 Jan 2016 01:39:43 PM CST
TPM is listening on TCP port 44121.
Ending vTPM manufacturing @ Fri 22 Jan 2016 01:39:44 PM CST

再执行下述命令,能够看到文件/dev/vtpm0。

export TPM_PATH=/tmp/myvtpm0
swtpm_cuse -n vtpm0

创建虚拟机~:

qemu-img create -f qcow2 <YOUR IMG PATH> 30Gqemu-system-x86_64 -display sdl -enable-kvm -cdrom <YOUR ISO PATH> \-m 1024 -boot d -bios $SEABIOS/bios.bin -boot menu=on -tpmdev \cuse-tpm,id=tpm0,path=/dev/vtpm0 \-device tpm-tis,tpmdev=tpm0 <YOUR IMG PATH>

安装虚拟机就和普通安装系统一样,这里不再介绍(我的iso文件是ubuntu-server x64 15.10)。

安装成功后执行(若出现错误,重新执行生成/dev/vtpm0的命令):

qemu-system-x86_64 -display sdl -enable-kvm  \-m 1024 -boot c -bios $SEABIOS/bios.bin -boot menu=on -tpmdev \cuse-tpm,id=tpm0,path=/dev/vtpm0 \-device tpm-tis,tpmdev=tpm0 <YOUR IMG PATH>

至此,qemu虚拟机里已经能够看到/dev/tpm0了,可以愉快地进行下一步工作了~

vTPM环境部署(ubuntu)相关推荐

  1. vTPM架构分析与环境部署

    (文章来源:vTPM架构分析与环境部署 - Linux系统教程 http://www.linuxdiyf.com/linux/22731.html) 概述 可信平台模块(Trusted Platfor ...

  2. Ubuntu上MPI编程环境部署

    目录 1 MPI的基础概念及历史 1.1 MPI的概念 1.2 MPI的历史 2 Ubuntu基础编译环境配置 2.1 更新软件包列表 2.2 配置基础编译环境 3 MPICH安装 3.1 什么是MP ...

  3. (个人)Zookeeper集群环境部署

    一.准备工作 1. 下载zookeeper,下载地址:https://zookeeper.apache.org/releases.html#download  2. 下载CentOS7的镜像,下载地址 ...

  4. django生产环境部署

    最近尝试进行一些python web生产环境部署的任务.主要是使用django框架进行web开发.本地使用windows + python3.7可是上到服务器之后是ubuntu系统.ubuntu默认是 ...

  5. 深度学习TensorFlow生产环境部署(环境准备篇)

    最近在研究Tensorflow Serving生产环境部署,尤其是在做服务器GPU环境部署时,遇到了不少坑.特意总结一下,当做前车之鉴. 1 系统背景 系统是ubuntu16.04 ubuntu@ub ...

  6. Linux开发环境部署

    1.安装ubuntu 下载Ubuntu镜像ISO文件,制作U盘安装盘(Ubuntu官方有介绍相关软件,也可以利用UltraISO制作) 启动选择USB启动,进入安装流程 注意分区最好选择Manual手 ...

  7. SDN概述:简介、工具、环境部署

    一.前言: 本文初步接触 SDN 的相关概念.需要依次完成下面几项任务: SDN 简介 SDN 工具 SDN 环境部署 推荐阅读 推荐阅读下述内容: Ethane 项目,openflow 的基础 op ...

  8. vmware安装openEuler+基本环境部署

    文章目录 1. openEuler简介 2. 安装环境 3. 安装openEuler 1. 下载openEuler镜像 2. 使用vmware安装openEuler 1. 新建虚拟机(有经验的可跳过) ...

  9. 华为Atlas200DK的环境部署与运行demo(人脸识别)

    文章目录 前言 一.部署准备 1.基本准备 2.安全清空sd卡 3.安装摄像头 二.环境部署 1.运行环境与开发环境合设 1.烧录dd镜像 2.开发板启动 3.开发板连接PC机 1.USB端口连接 2 ...

最新文章

  1. 新疆那些大学在计算机专业好,新疆哪些二本大学的计算机科学与技术专业最好?...
  2. angular4更改表单中显示的值_Angular 4 动态表单教程 Reactive Forms教程
  3. oracle一个表更新另一个表多列,oracle sql更新表中多列值,值是从其它表中查询(select)得出...
  4. 09.MyBatis的逆向工程
  5. 简述人工智能的发展历程图_简述华强北airpods的发展历程
  6. (转)C#中的Abstract和Virtual函数区分,因我老弄不明白这个问题,所以转到这儿
  7. 从武则天的故事看职场生涯规划的一个最重要方面
  8. 缓存与IO(很经典)
  9. 传智播客Java 一维数组
  10. iphone投屏老是显示无法连接服务器,iphone怎么投屏到电视 升级iOS11后为什么投屏会失败...
  11. cad 打开硬件加速卡_CAD如何根据已知条件设计图形
  12. review board 使用
  13. VOIP技术发展综述与外呼系统的关系
  14. win10专业版和企业版的区别_win10家庭版和专业版区别
  15. 云计算之存储虚拟化 -02
  16. 信息安全与管理2002_李付贵
  17. html5图片邀请函,html5,邀请函.doc
  18. 大家对人工智能的发展怎么看?
  19. 【从RL到DRL】深度强化学习基础(四)——策略梯度中的Baseline,Reinforce与A2C的对比
  20. 迷你世界计算机原理,迷你世界先遣服免费账号永久2020

热门文章

  1. 锁定计算机小键盘,笔记本电脑数字键盘已锁定!如何打开: 按什么键
  2. 中国移动明确5G商用时间表
  3. minikube踩坑记
  4. bodipy荧光染料BDP R6G maleimide/马来酰亚胺,CAS:2183473-32-5
  5. python与分形0018 - 【教程】奥林匹克烯
  6. 【简七理财笔记】第七课:巧用信用卡,该薅的羊毛就要薅
  7. 用c语言写扇形的算法,如何实现扇形的绘制
  8. 网易云播放失败,请在设置中切换输出设备 解决方案
  9. 教育技术学是计算机相关资料,教育技术学专业
  10. 大数据东风下,Clickhouse这坨屎是怎么上天的