Install VM-with-vSGX based on KVM and QEMU Quick Guide

Ubuntu上基于KVM和QEMU安装vSGX VM快速指南
本文档提供了一个快速指南,详细介绍了在Ubuntu 20.04系统上,如何基于KVM和QEMU安装支持Intel SGX的虚拟机。内容包括安装前的必要条件,如主机系统支持SGX、内核版本需求,以及如何更新Ubuntu内核、构建带有SGX支持的最新QEMU,安装Libvirt,并配置AppArmor以允许QEMU访问所需的设备。

Requirements

To use Intel SGX in a virtual machine, you must meet the following requirements:

  • The host system must support Intel SGX.
  • Intel SGX must be enabled, either explicitly in the BIOS or via the software enabling procedure.
  • If you want to use Flexible Launch Control in guest systems, the hardware must also support the feature.
  • You must run Linux kernel version 5.13 or later, on the host and in the guest VMs.

Notes: Our Host OS is Ubuntu 20.04, and the device has FLC support.

Installation Procedure

  • Update ubuntu kernel
# Download the latest kernel v5.16-rc8
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.16-rc8/amd64/linux-headers-5.16.0-051600rc8-generic_5.16.0-051600rc8.202201022330_amd64.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.16-rc8/amd64/linux-headers-5.16.0-051600rc8_5.16.0-051600rc8.202201022330_all.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.16-rc8/amd64/linux-image-unsigned-5.16.0-051600rc8-generic_5.16.0-051600rc8.202201022330_amd64.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.16-rc8/amd64/linux-modules-5.16.0-051600rc8-generic_5.16.0-051600rc8.202201022330_amd64.deb

# Install Kernel
sudo dpkg -i *.deb

# It will have some issue like missed the libssl3 support, fix it by the workaround
# Add the following line at the end of /etc/apt/sources.list
deb http://cz.archive.ubuntu.com/ubuntu jammy main
sudo apt update
sudo apt install libssl3

# Check the kernel
grep -A100 submenu  /boot/grub/grub.cfg |grep menuentry

# Reboot to the new kernel (by default)
sudo reboot

# Verify the SGX
$ dmesg | grep sgx
[    3.748768] sgx: EPC section 0x2000c00000-0x207f7fffff
[    3.753699] sgx: EPC section 0x4000c00000-0x407fffffff
  • Build the latest Qemu (which already has SGX support)
# Download qemu code
git clone https://github.com/qemu/qemu

# Install the requirements
sudo apt install git libglib2.0-dev libfdt-dev libpixman-1-dev zlib1g-dev

sudo apt install git-email libaio-dev libbluetooth-dev libbrlapi-dev libbz2-dev li
### 正确安装 `libvirt`、`libvirt-python`、`qemu-kvm` 及其相关工具 为了正确安装 `libvirt`、`libvirt-python`、`qemu-kvm` 和其他相关工具,可以通过以下方法完成: #### 1. 安装基础组件 在 CentOS 或 RHEL 类似系统上,可以直接使用 `yum` 命令安装所需的软件包。以下是具体的命令集合: ```bash yum install -y qemu-kvm qemu-img libvirt libvirt-python virt-manager virt-install virt-viewer ``` 此命令将一次性安装多个必要的组件[^1]。 #### 2. 验证 KVM 支持 确保硬件支持虚拟化技术,并已启用 BIOS 中的虚拟化选项。运行以下命令验证是否启用了 KVM 模块: ```bash lsmod | grep kvm ``` 如果返回结果为空,则可能未加载模块或硬件不支持虚拟化功能[^4]。 #### 3. 启动并配置服务 安装完成后,需启动 `libvirtd` 服务并将它设置为随系统启动自动运行: ```bash systemctl start libvirtd systemctl enable libvirtd ``` #### 4. 测试虚拟机创建能力 可以尝试通过 `virt-manager` 图形界面或者命令行工具 `virt-install` 来创建一台简单的虚拟机以确认环境正常工作[^2]。 对于 Rocky Linux 9 用户而言,除了上述提到的基础依赖外还需要额外增加一些特定于版本的支持库,例如 `bridge-utils`, `libguestfs-tools` 等[^3]: ```bash yum install -y qemu-kvm virt-manager libvirt virt-install virt-viewer \ bridge-utils libguestfs-tools ``` 以上步骤涵盖了从基本需求到高级扩展的所有必要操作说明. ```python print("Libvirt and related tools have been successfully installed.") ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值