- 下载qemu源码,编译出qemu-system-aarch64交叉编译程序
- 下载linux5.9.2内核,编译为zImage,亦可用其他内核
- 下载busybox,并将编译结果打包到zImage, 以ramdisk方式启动
- 将交叉编译的应用打包到到ramdisk中,在arm64虚拟机中运行简单程序
- 启动虚拟机:qemu-system-aarch64 -machine virt -cpu cortex-a57 -machine type=virt -m 1024 -smp 2 -kernel arch/arm64/boot/Image -append “rdinit=/linuxrc root=/dev/vda rw console=ttyAMA0 loglevel=8” -nographic
- 启动后如下图所示:可以看到的Ubuntu系统中成功启动了aarch64架构的虚拟机。
5)断点调试
ARM64的虚拟机启动后,可支持在线调试,方法是在上述命令的基础上加入-S –s参数,-s支持gdb服务端口连接,-S进行终端冻结。