前情概述:
项目上需要有arrch环境的测试机器 但是机房里面只有X86的,此时需要通过kvm的虚拟机进行仿真一个arrch指令集的操作系统(可能是Centos 也可能是openEuler 也可能是ubuntu),本文主要记录在X86的ubuntu操作系统上通过qemu-system-arm仿真一个aarch操作系统
一、测试安装CentOS(aarch)
1.安装kvm环境
apt install -y qemu-kvm virt-manager libvirt-daemon-system
2.安装aarch相关环境
apt install -y uml-utilities bridge-utils qemu-system-arm qemu-efi-aarch64 cloud-image-utils -y
3.下载uefi控件(只支持Centos)
也可以使用上方安装的qemu-efi-aarch64 带的QEMU_EFI.fd(亲测aarch的openEuler也支持)
4.创建磁盘文件
qemu-img create /var/lib/libvirt/images/centos7_arm64.img 10G
5. 配置虚拟机参数和vnc端口
qemu-system-aarch64 -m 1024 -cpu cortex-a57 -smp 2 -M virt -bios /opt/QEMU_EFI.fd -nographic -drive if=none,file=/home/zhangsan/CentOS-7-aarch64-Minimal-2009.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -drive if=none,file=/var/lib/libvirt/images/centos7_arm64.img,id=hd0 -device virtio-blk-device,drive=hd0 -vnc :10
6.紧接着命令行会切换到进程安装页面
7.按着数字序号一次选择安装选项
二、测试安装openEuler(aarch)
操作系统环境软件包补全,此处和章节一相同,略过
1.创建磁盘文件
qemu-img create /var/lib/libvirt/images/openEuler2203_aarch64.img 10G
2.创建并启动虚拟机并用镜像安装
qemu-system-aarch64 -m 1024 -cpu cortex-a57 -smp 2 -M virt -bios /usr/share/qemu-efi-aarch64/QEMU_EFI.fd -nographic -drive if=none,file=/opt/openEuler-22.03-LTS-aarch64-dvd.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -drive if=none,file=/var/lib/libvirt/images/openEuler2203_arm64.img,id=hd0 -device virtio-blk-device,drive=hd0 -vnc :1
和章节一区别:virt-bios 配置需要修改成 /usr/share/qemu-efi-aarch64/QEMU_EFI.fd
3.需要注意进入到安装选择页面后 按e编辑grub参数
避免出现只有图形页面输出,而宿主机的内核驱动框架版本不一致 导致安装页面无法正常展示的情况
console=tty0改成
console=ttyAMA0 inst.text 让安装页面通过命令行输出
4.ctrl+x 等待启动 ,使用命令行完成安装
5.按序号选择 依次配置 ,选择完成后一路c,然后按b开始安装
三、一些安装可以使用的参数
1.需要把上述的安装过程 通过vnc进行界面话完成的话 可以使用
-vnc :1 -monitor stdio 参数 再通过电脑上的vnc登录到虚拟机操作
示例
qemu-system-aarch64 -m 1024 -cpu cortex-a57 -smp 2 -M virt -bios /usr/share/qemu-efi-aarch64/QEMU_EFI.fd -drive if=none,file=/home/zhangsan/CentOS-7-aarch64-Minimal-2009.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -drive if=none,file=/var/lib/libvirt/images/centos7_arm64.img,id=hd0 -device virtio-blk-device,drive=hd0 -net user -vnc :20 -monitor stdio
接着到windows电脑上打开 vnc进入安装页面
2.如果是已经安装好的磁盘镜像文件 需要直接载入使用
启动一个已经安装好的虚拟机磁盘镜像文件,并且通过vnc连接
qemu-system-aarch64 -m 1024 -cpu cortex-a57 -smp 2 -M virt -bios /usr/share/qemu-efi-aarch64/QEMU_EFI.fd -drive if=none,file=/opt/openEuler-22.03-LTS-aarch64-dvd.iso,id=cdrom,media=cdrom -drive if=none,file=/var/lib/libvirt/images/openEuler2203_arm64.img,id=hd0 -device virtio-blk-device,drive=hd0 -vnc :1 -monitor stdio
执行后vnc连接效果:
参数配置(存储、网络等) 参考之前的博文