ubuntu使用-ubuntu23.10中创建arm架构的银河麒麟操作系统v10

ubuntu使用-ubuntu23.10中创建arm架构的银河麒麟操作系统v10

安装qemu之后,从应用中或者使用virt-manager命令打开虚拟系统管理器。
创建虚拟机,架构选择aarch64,机器类型不知道选什么,暂选的是virt,后面有问题的话再说。
enter description here
参考国产银河麒麟操作系统下载地址收集--【更新】2023.11.13下载了银河麒麟操作系统v10飞腾版。

ISO选择了下载的镜像,操作系统不知道选什么,自动检测也检测不出来,经测试,这里选centos7,ubuntu22.04都是可以的。
enter description here

在安装前自定义配置
enter description here
固件选择uefi aarch64
enter description here
选择开始安装,出现如下界面
enter description here
最终停在了如下界面
enter description here

虽然安装失败,但是也算是有了一点进展。
参考用QEMU虚拟国产飞腾+麒麟环境解决这个问题。

linaro网站上下载了一个固件,叫做QEMU_EFI.fd。按照上面这个网站上的说明,使用如下命令创建一个虚拟机,

qemu-img create -f qcow2 rootfs.qcow2 50G
qemu-system-aarch64 -m 4096 -cpu cortex-a72 -smp 4,cores=4,threads=1,sockets=1 -M virt -bios QEMU_EFI.fd -net nic,model=pcnet -device nec-usb-xhci -device usb-kbd -device usb-mouse -device VGA -drive if=none,file=./Kylin-Desktop-V10-SP1-General-Release-2303-ARM64.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -drive if=none,file=rootfs.qcow2,id=hd0 -device virtio-blk-device,drive=hd0

注意这里的文件的路径。
出现了如下界面,看来是没有问题的。
enter description here
enter description here
系统安装结束后,在同样的目录下使用如下的命令,可以打开虚拟机。

qemu-system-aarch64 -m 4096 -cpu cortex-a72 -smp 4,cores=4,threads=1,sockets=1 -M virt -bios QEMU_EFI.fd -net nic,model=pcnet -device nec-usb-xhci -device usb-kbd -device usb-mouse -device VGA -device virtio-scsi-device -drive if=none,file=rootfs.qcow2,id=hd0 -device virtio-blk-device,drive=hd0

尝试修改virt-manager的设置,使它也能安装。

参考了配置qemu支持UEFI启动在virt-manager设置虚拟机固件的地方可以看到,固件是存放在/usr/share/AAVMF这里的。把刚才下载的QEMU_EFI.fd复制到这里来。
编辑/etc/libvirt/qemu.conf文件,在开头增强如下内容:

nvram=["/usr/share/AAVMF/QEMU_EFI.fd:/usr/share/AAVMF/QEMU_EFI.fd"]

然后重启libvirtd服务

systemctl restart libvirtd

再用virt-manager按照前面的过程新建一个虚拟机,这时还是不可以看到固件QEMU_EFI.fd,先停在这儿吧。

阅读etc/libvirt/qemu.conf里面的说明,可以知道,这个地方的nvram参数已经弃用了。系统会从其它地方找配置文件来自动生成这个项目的配置。
参考Libvirt XML文件详解(一)知道,系统查找的位置包括三个,按照先后顺序依次为:/usr/share/qemu/firmware/etc/qemu/firmware$XDG_CONFIG_HOME/qemu/firmware
/usr/share/qemu/firmware下载去查看,发现有如下内容:

40-edk2-aarch64-secure-enrolled.json  60-edk2-aarch64.json
40-edk2-x86_64-secure-enrolled.json   60-edk2-arm.json
50-edk2-aarch64-secure.json           60-edk2-x86_64.json
50-edk2-x86_64-secure.json

不知道这些文件都有什么作用,我把60-edk2-aarch64.json这个文件在这里复制了一份,重命名为wd-60-edk2-aarch64.json,编辑其中的内容,把"filename":的值修改为"/usr/share/AAVMF/QEMU_EFI.fd",也就是指向之前下载的这个文件。

然后重启libvirtd服务,从virt-manager中新创建虚拟机。
此时可以出现这个固件的选项。
enter description here
但是开始安装的时候有问题,'internal error: QEMU unexpectedly closed the monitor (vm='ubuntu22.04-aarch64'): 2024-03-31T07:30:31.372609Z qemu-system-aarch64: device requires 67108864 bytes, block backend provides 2097152 bytes',如下图所示。
enter description here
到处找,从Linaro Releases这个地方(这个地方也就是前面下载QEMU_EFI.fd的地方)下载了一个叫QEMU_EFI.img.gz的压缩包,解压后得到一个文件叫QEMU_EFI.img的文件,大小为67108864bytes。把这个文件复制到/usr/share/AAVMF/下面,并且把前面所修改的两个"filename":修改为/usr/share/AAVMF/QEMU_EFI.img。然后重启libvirtd,重新安装虚拟机,可以看到下载的这个固件,并且也可以开启安装过程。

问题是,开始安装后,进入了如下的界面。
enter description here
在网页qemu创建aarch64虚拟机过程记录上有一些相关的解释,但是我暂时不想在这里继续花时间了,先在这儿暂停吧。

posted @ 2024-03-31 17:55  南宫二狗  阅读(107)  评论(0编辑  收藏  举报