从0开始拉起一个arm版并且支持kvm硬件加速的qemu
在arm上编译qemu并验证结果
- 编译qemu
step 1: git clone https://gitcode.com/openUBMC/qemu.git
step 2: mkdir build & cd build
step 3:
../configure \
--target-list=aarch64-softmmu \
--enable-kvm \
--disable-docs \
--disable-werror
step 4: ninja -j"$(nproc)" qemu-system-aarch64
- 验证编译结果
./qemu-system-aarch64 -accel help
./qemu-system-aarch64 -machine help | grep hi1711
grep -E 'CONFIG_ARM_GIC_KVM|CONFIG_OPENUBMC_HI1711' \
aarch64-softmmu-config-devices.mak
```
预期输出包含:
```text
Accelerators supported in QEMU binary:
kvm
tcg
hi1711 Hi1711 Boards (Cortex-A55)
CONFIG_ARM_GIC_KVM=y
CONFIG_OPENUBMC_HI1711=y
CONFIG_OPENUBMC_HI1711_BOARD=y
在manifest里面拉起qemu
- 修改相关代码,新增kvm使能
在~/manifest/build/works/packet/qemu_shells/vemake_1711.py 中,启动脚本处新增:
- machine hi1711,kvm
- machine 启动参数有两处,全部都要改,新增kvm使能
- 拉起qemu
运行vemake_1711.py脚本,自动下载cpio包等配套设施,并且在下载完了之后,ctrl+c停止运行,使用第一步生成的qemu-system-aarch64 (arm版本) 替换
~/manifest/temp/qemu_temp/qemu_start_temp
中的qemu-system-aarch64-release 编译产物(这个远程下载的是x86的),替换了之后记得重新命名为qemu-system-aarch64-release,然后重新运行vemake_1711.py即可重新拉起在arm下支持kvm加速的QEMU,并进行后续的操作