qemu创建aarch64虚拟机过程记录
qemu装的是5.0版本,系统是红旗7.3(centos 7.3)
准备几个文件,一个是对应的系统镜像文件,一个是EFI文件。
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.html 和 https://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。