部署核心组件
为构建一个安全的虚拟化环境,支持TEE的隔离执行和安全启动,需要部署相关软件,本小节主要描述如何源码编译安装libvirt、QEMU、Host Kernel、edk2等组件。
编译环境信息:
openEuler 24.03 LTS-SP3
下载编译依赖:
sudo yum install ninja-build libcap-ng-devel libattr-devel glib2-devel numactl-devel libslirp-devel liburing-devel meson.noarch ncurses-devel openssl-devel elfutils-libelf-devel dwarves gnutls-devel yajl-devel libtirpc-devel python3-docutils libxml2-devel rpcgen libpciaccess-devel meson sudo yum groupinstall "Development Tools"
Yum源安装libvirt
- 安装openEuler 24.03 LTS SP3源的libvirt。
安装版本号大于等于27的libvirt软件包。
yum install libvirt

- 如果需要启用libvirt中透传dtb dump参数,需要修改libvirt配置使QEMU启动用户与当前OS用户一致。
- 查看当前用户。
whoami

- 打开“/etc/libvirt/qemu.conf”文件。
vim /etc/libvirt/qemu.conf
- 按“i”进入编辑模式,将user、group配置项修改为“root”。

- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 查看libvirtd状态。
systemctl status libvirtd
如果libvirtd状态为inactive则执行如下命令启动libvirtd,否则需跳过此步骤,直接执行2.f。systemctl start libvirtd

- 重新加载libvirtd配置。
systemctl reload libvirtd
- 查看当前用户。
Yum源安装qemu
- 执行以下命令查看openEuler 24.03 LTS SP3源QEMU版本号,安装版本号大于等于71的QEMU。
yum list | grep qemu

- 执行以下命令安装openEuler 24.03 LTS SP3源的QEMU。
yum install -y qemu liburing-devel telnet
安装完成之后的QEMU默认路径为“/usr/libexec/qemu-kvm”。
Yum源安装host kernel
- 查看openEuler 24.03 LTS SP3源中可用的kernel版本。
yum list --showduplicates kernel

- 安装版本号大于等于6.6.0-145.0.3.134.oe2403sp3的kernel。
yum install kernel-6.6.0-145.0.3.134.oe2403sp3.aarch64

- 执行reboot命令重启,并选中新安装的内核使之生效。
部署EDK2
- 下载EDK2源码。
git clone https://gitee.com/confidential_computing/edk2-tianocore.git -b stable/202505
- 编译。
cd edk2-tianocore/ git submodule update --init --recursive source edksetup.sh make -j -C BaseTools build -b RELEASE -a AARCH64 -t GCC5 -D CC_MEASUREMENT_ENABLE=TRUE -p ArmVirtPkg/ArmVirtQemu.dsc
生成fd的目录:Build/ArmVirtQemu-AARCH64/RELEASE_GCC5/FV/QEMU_EFI.fd
- 将QEMU_EFI.fd文件大小对齐到64MB。
fallocate -l $((64 * 1024 * 1024)) /usr/share/edk2/aarch64/QEMU_EFI.fd
父主题: 部署软件