由于测试需要的原因,要在树莓派4B平台上运行KVM,并且需要硬件虚拟化支持。
首先KVM需要Linux内核的虚拟化支持, 官方Pi OS和 Ubuntu官方提供的树莓派操作系统中的内核都不支持KVM虚拟化。
第一步给树莓派4B装一个支持KVM的操作系统
一种办法是在树莓派4上安装fedora,再安装kvm支持。但我没有尝试。
https://linuxhint.com/kvm_virtualization_raspberry_pi4/
第二种办法是下载安装 这个版本的debian操作系统。是支持KVM的
https://gitee.com/openfans-community/Debian-Pi-Aarch64
我用的是 从这里下载的Ubuntu 20.10的 操作系统。也支持KVM
https://www.raspberrypi.org/forums/viewtopic.php?f=131&t=279323
尽量选server或Desktop版吧,我选的minimal版,里面缺一些命令,连lsmod都没有
第二步安装qemu-kvm
参考的是这个 https://blog.csdn.net/qq_44851362/article/details/111589205
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager
第三步启动KVM虚拟机
这一块参考这个 https://www.bilibili.com/video/av795730736/
我运行的是一个已经打包好的img镜像。 各位可以参考 bilibili上的实现安装操作系统。
qemu-system-aarch64 \
-drive file=./demo-image-jailhouse-demo-qemu-arm64.ext4.img,discard=unmap,if=none,id=disk,format=raw -m 1G \
-serial mon:stdio -netdev user,id=net \
-kernel ./demo-image-jailhouse-demo-qemu-arm64-vmlinuz -append 'root=/dev/vda mem=768M' \
-initrd ./demo-image-jailhouse-demo-qemu-arm64-initrd.img \
-cpu host -enable-kvm \
-smp 2 \
-machine virt-2.12,accel=kvm \
-device virtio-serial-device \
-device virtconsole,chardev=con \
-chardev vc,id=con \
-device virtio-blk-device,drive=disk \
-device virtio-net-device,netdev=net \
-nographic