1. 编译构建
1.1 打开和关闭DEBUG模式
vim ./CMakeLists.txt
搜索LOG_PRINT关键字
LOG_PRINT=1表示打开DEBUG模式,使用工具生成极限值时会打印详细过程状态LOG_PRINT=0表示不打开DEBUG模式(默认)
1.2 编译
# use local vendor
export GOFLAGS="-mod=vendor"
# compile
mkdir build && cd build
cmake ..
make
# deploy
cp ./gen_rim_ref /usr/local/bin
编译生成的二进制产物gen_rim_ref安装到/usr/local/bin目录下
2. 使用
gen_rim_ref -h 可查看帮助信息
使用基线工具生成基线值可产生如下文件,可用于调测等用途。
- 模拟的qemu启动命令:./build/qemu_params.conf
- dump生成的dtb文件:./build/dump.dtb
- 执行dumpdtb的日志:./build/dumpdtb.log
3. 机密容器场景注意事项
-
对于
kata-deploy自动化部署场景,kata-qemu-virtcca容器运行时配置文件/opt/kata/share/defaults/kata-containers/configuration-qemu-virtcca.toml中指定的kernel路径默认是压缩路径, 即:/opt/kata/share/kata-containers/vmlinuz-confidential.container,需修改成对应非压缩kernel镜像路径。 即:/opt/kata/share/kata-containers/vmlinux-confidential.container。 -
由帮助信息可知,机密容器基线值生成方式如下:
(c) confidential container boot : -c -p -s -m,注意-s的值固定为128,-m的值固定为1。使用示例:gen_rim_ref -c /opt/kata/share/defaults/kata-containers/configuration-qemu-virtcca.toml -p xxx/pod.yaml -s 128 -m 1