qemu创建aarch64虚拟机过程记录

qemu装的是5.0版本,系统是红旗7.3(centos 7.3)

准备几个文件,一个是对应的系统镜像文件,一个是EFI文件。

QEMU_EFI.fd

EFI文件主要是用来做引导的,具体参考这个

新建一个虚拟机的硬盘

qemu-img create centos-aarch64.img

启动


qemu-system-aarch64 -m 5G -cpu cortex-a72 -smp 4 -M virt -bios /home/QEMU_EFI.fd -nographic -drive if=none,file=/home/CentOS-7-aarch64-Everything-1804.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -drive if=none,file=centos-aarch64.img,format=raw,id=hd0 -device virtio-blk-device,drive=hd0

随后进入安装界面,走安装流程即可。

安装完成后,会自动进入登录,输入账户名密码即可。

启动后,并没有网络

可以poweroff关机。

再次启动虚拟机,执行的命令如下:

qemu-system-aarch64 -m 5G -cpu cortex-a72 -smp 4 -boot order=cd -M virt -bios /home/wang/qemu_test/QEMU_EFI.fd -nographic -drive if=none,file=centos-arm64.img,format=raw,id=hd0 -device virtio-blk-device,drive=hd0

等半天发现进入这个页面

再等一下,到这里

一度以为这个就是安装的有问题,其实并不是…

参考这篇文章操作 https://blog.csdn.net/WMX843230304WMX/article/details/102628133

shell那输入 exit 并回车

选择 Boot Maintenance Manager 回车,进入

选择Boot From File

选择第一个,回车

选择EFI,回车

选择centos回车

选择 grubaa64.efi 或者 shimaa64-centos.efi 都可以进入系统

这里两个只是引导方式不一样,shimaa64-centos.efi走的是bios模式,grubaa64.efi走的是uefi模式

参考 https://www.cnblogs.com/dream397/p/12613326.htmlhttps://www.zhihu.com/question/21672895

选择后,进入这个界面,直接选择进入系统即可

吐槽

这个过程实在太曲折,中间还尝试了使用virt-install创建虚拟机,失败;

后面又想尝试用vir-manager去启动虚拟机,失败;

升级了libvirtd,再重新试,依然没有成功…

准备放弃的时候,看到了 https://blog.csdn.net/WMX843230304WMX/article/details/102628133 ,尝试一下居然成功了……

前后耗时两周多,才最终进入到这个系统(安装只花了一周左右)。

注意

目前似乎并没有启动kvm加速,虚拟机最终也只能跑满一个CPU,如图

后续需要在虚拟机上跑 docker,打包镜像,这种情况似乎资源完全不够用。

vcpu和物理机CPU绑定

可以参考 https://www.cnblogs.com/hukey/p/6401195.html

https://cloud.tencent.com/developer/article/1039241

其实没多大影响,主要的使用场景是有多个虚拟机的时候,可以把虚拟机1绑定到其中一个CPU,虚拟机2绑定到另外一个CPU。

原文地址:https://www.cnblogs.com/wswang/p/15507305.html