ubuntu使用-ubuntu23.10中创建arm架构的银河麒麟操作系统v10
<div style="font-family: "Helvetica Neue", Helvetica, Tahoma, Arial, "Hiragino Sans GB", STHeiti, "Microsoft YaHei", "微软雅黑", "WenQuanYi Micro Hei", STXihei, "华文细黑", Heiti, "黑体", SimSun, "宋体", Song, sans-serif; font-size: 16px; line-height: 1.8; font-weight: normal; color: rgba(47, 47, 47, 1); word-wrap: break-word"><div class="preview html_preview xsj_public" style="max-width: 100%"><h1 class="story_title" style="font-weight: bold; text-rendering: optimizelegibility; font-size: 2.1rem; margin: 0.7em 0">ubuntu使用-ubuntu23.10中创建arm架构的银河麒麟操作系统v10</h1><div class="story_tags" style="margin: 0 0 1.2em"><span class="tag blue label" style="display: inline-block; vertical-align: baseline; line-height: 1; margin: 0 0.5em 0.5em 0; background: none rgba(226, 226, 226, 1); border-color: rgba(226, 226, 226, 1); padding: 0.6em 0.8em; font-weight: bold; border-radius: 0.2857rem; box-sizing: border-box; font-size: 12px">ubuntu</span><span class="tag blue label" style="display: inline-block; vertical-align: baseline; line-height: 1; margin: 0 0.5em 0.5em 0; background: none rgba(226, 226, 226, 1); border-color: rgba(226, 226, 226, 1); padding: 0.6em 0.8em; font-weight: bold; border-radius: 0.2857rem; box-sizing: border-box; font-size: 12px">qemu</span><span class="tag blue label" style="display: inline-block; vertical-align: baseline; line-height: 1; margin: 0 0.5em 0.5em 0; background: none rgba(226, 226, 226, 1); border-color: rgba(226, 226, 226, 1); padding: 0.6em 0.8em; font-weight: bold; border-radius: 0.2857rem; box-sizing: border-box; font-size: 12px">银河麒麟</span><span class="tag blue label" style="display: inline-block; vertical-align: baseline; line-height: 1; margin: 0 0.5em 0.5em 0; background: none rgba(226, 226, 226, 1); border-color: rgba(226, 226, 226, 1); padding: 0.6em 0.8em; font-weight: bold; border-radius: 0.2857rem; box-sizing: border-box; font-size: 12px">arm</span></div><p class="xsj_paragraph xsj_paragraph_level_0" style="margin: 1.1em 0 1.6em">安装qemu之后,从应用中或者使用<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">virt-manager</code>命令打开虚拟系统管理器。<br>
创建虚拟机,架构选择<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">aarch64</code>,机器类型不知道选什么,暂选的是<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">virt</code>,后面有问题的话再说。<br>
<span class="story_inline_image" style="display: inline-block"><img src="https://img2023.cnblogs.com/blog/1983905/202403/1983905-20240331175450176-1362342722.png" style="height: auto; max-width: 100%; vertical-align: bottom; border: 0"></span><br>
参考国产银河麒麟操作系统下载地址收集--【更新】2023.11.13下载了银河麒麟操作系统v10飞腾版。</p>
<p class="xsj_paragraph xsj_paragraph_level_0" style="margin: 1.1em 0 1.6em">ISO选择了下载的镜像,操作系统不知道选什么,自动检测也检测不出来,经测试,这里选centos7,ubuntu22.04都是可以的。<br>
<span class="story_inline_image" style="display: inline-block"><img src="https://img2023.cnblogs.com/blog/1983905/202403/1983905-20240331175451080-1045878240.png" style="height: auto; max-width: 100%; vertical-align: bottom; border: 0"></span></p>
<p class="xsj_paragraph xsj_paragraph_level_0" style="margin: 1.1em 0 1.6em">在安装前自定义配置<br>
<span class="story_inline_image" style="display: inline-block"><img src="https://img2023.cnblogs.com/blog/1983905/202403/1983905-20240331175451639-758472169.png" style="height: auto; max-width: 100%; vertical-align: bottom; border: 0"></span><br>
固件选择<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">uefi aarch64</code>。<br>
<span class="story_inline_image" style="display: inline-block"><img src="https://img2023.cnblogs.com/blog/1983905/202403/1983905-20240331175452322-1864036602.png" style="height: auto; max-width: 100%; vertical-align: bottom; border: 0"></span><br>
选择开始安装,出现如下界面<br>
<span class="story_inline_image" style="display: inline-block"><img src="https://img2023.cnblogs.com/blog/1983905/202403/1983905-20240331175452851-446648632.png" style="height: auto; max-width: 100%; vertical-align: bottom; border: 0"></span><br>
最终停在了如下界面<br>
<span class="story_inline_image" style="display: inline-block"><img src="https://img2023.cnblogs.com/blog/1983905/202403/1983905-20240331175453330-1803143835.png" style="height: auto; max-width: 100%; vertical-align: bottom; border: 0"></span></p>
<p class="xsj_paragraph xsj_paragraph_level_0" style="margin: 1.1em 0 1.6em">虽然安装失败,但是也算是有了一点进展。<br>
参考用QEMU虚拟国产飞腾+麒麟环境解决这个问题。</p>
<p class="xsj_paragraph xsj_paragraph_level_0" style="margin: 1.1em 0 1.6em">从linaro网站上下载了一个固件,叫做<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">QEMU_EFI.fd</code>。按照上面这个网站上的说明,使用如下命令创建一个虚拟机,</p>
<div class="xiaoshujiang_code_container" style="margin: 1em 0 2em; position: relative"><pre data-processed="true" style="line-height: initial !important; word-wrap: break-word; tab-size: 4; white-space: pre-wrap; font-family: monospace; margin: 0"><code class="nohighlight hljs" style="background: rgba(240, 240, 240, 1); border-radius: 4px; padding: 0.5em; margin: 0 0.225em; color: rgba(68, 68, 68, 1); border: 0; font-size: 0.9em; overflow: visible !important; display: block; overflow-x: auto">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</code></pre></div>
<p class="xsj_paragraph xsj_paragraph_level_0" style="margin: 1.1em 0 1.6em">注意这里的文件的路径。<br>
出现了如下界面,看来是没有问题的。<br>
<span class="story_inline_image" style="display: inline-block"><img src="https://img2023.cnblogs.com/blog/1983905/202403/1983905-20240331175454533-1181329638.png" style="height: auto; max-width: 100%; vertical-align: bottom; border: 0"></span><br>
<span class="story_inline_image" style="display: inline-block"><img src="https://img2023.cnblogs.com/blog/1983905/202403/1983905-20240331175458022-1282306745.png" style="height: auto; max-width: 100%; vertical-align: bottom; border: 0"></span><br>
系统安装结束后,在同样的目录下使用如下的命令,可以打开虚拟机。</p>
<div class="xiaoshujiang_code_container" style="margin: 1em 0 2em; position: relative"><pre data-processed="true" style="line-height: initial !important; word-wrap: break-word; tab-size: 4; white-space: pre-wrap; font-family: monospace; margin: 0"><code class="nohighlight hljs" style="background: rgba(240, 240, 240, 1); border-radius: 4px; padding: 0.5em; margin: 0 0.225em; color: rgba(68, 68, 68, 1); border: 0; font-size: 0.9em; overflow: visible !important; display: block; overflow-x: auto">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</code></pre></div>
<p class="xsj_paragraph xsj_paragraph_level_0" style="margin: 1.1em 0 1.6em">尝试修改virt-manager的设置,使它也能安装。</p>
<p class="xsj_paragraph xsj_paragraph_level_0" style="margin: 1.1em 0 1.6em">参考了配置qemu支持UEFI启动在virt-manager设置虚拟机固件的地方可以看到,固件是存放在<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">/usr/share/AAVMF</code>这里的。把刚才下载的<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">QEMU_EFI.fd</code>复制到这里来。<br>
编辑<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">/etc/libvirt/qemu.conf</code>文件,在开头增强如下内容:</p>
<div class="xiaoshujiang_code_container" style="margin: 1em 0 2em; position: relative"><pre data-processed="true" style="line-height: initial !important; word-wrap: break-word; tab-size: 4; white-space: pre-wrap; font-family: monospace; margin: 0"><code class="nohighlight hljs" style="background: rgba(240, 240, 240, 1); border-radius: 4px; padding: 0.5em; margin: 0 0.225em; color: rgba(68, 68, 68, 1); border: 0; font-size: 0.9em; overflow: visible !important; display: block; overflow-x: auto">nvram=["/usr/share/AAVMF/QEMU_EFI.fd:/usr/share/AAVMF/QEMU_EFI.fd"]</code></pre></div>
<p class="xsj_paragraph xsj_paragraph_level_0" style="margin: 1.1em 0 1.6em">然后重启<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">libvirtd</code>服务</p>
<div class="xiaoshujiang_code_container" style="margin: 1em 0 2em; position: relative"><pre data-processed="true" style="line-height: initial !important; word-wrap: break-word; tab-size: 4; white-space: pre-wrap; font-family: monospace; margin: 0"><code class="nohighlight hljs" style="background: rgba(240, 240, 240, 1); border-radius: 4px; padding: 0.5em; margin: 0 0.225em; color: rgba(68, 68, 68, 1); border: 0; font-size: 0.9em; overflow: visible !important; display: block; overflow-x: auto">systemctl restart libvirtd</code></pre></div>
<p class="xsj_paragraph xsj_paragraph_level_0" style="margin: 1.1em 0 1.6em">再用<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">virt-manager</code>按照前面的过程新建一个虚拟机,这时还是不可以看到固件<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">QEMU_EFI.fd</code>,先停在这儿吧。</p>
<p class="xsj_paragraph xsj_paragraph_level_0" style="margin: 1.1em 0 1.6em">阅读<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">etc/libvirt/qemu.conf</code>里面的说明,可以知道,这个地方的<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">nvram</code>参数已经弃用了。系统会从其它地方找配置文件来自动生成这个项目的配置。<br>
参考Libvirt XML文件详解(一)知道,系统查找的位置包括三个,按照先后顺序依次为:<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">/usr/share/qemu/firmware</code>、<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">/etc/qemu/firmware</code>、<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">$XDG_CONFIG_HOME/qemu/firmware</code>。<br>
到<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">/usr/share/qemu/firmware</code>下载去查看,发现有如下内容:</p>
<div class="xiaoshujiang_code_container" style="margin: 1em 0 2em; position: relative"><pre data-processed="true" style="line-height: initial !important; word-wrap: break-word; tab-size: 4; white-space: pre-wrap; font-family: monospace; margin: 0"><code class="nohighlight hljs" style="background: rgba(240, 240, 240, 1); border-radius: 4px; padding: 0.5em; margin: 0 0.225em; color: rgba(68, 68, 68, 1); border: 0; font-size: 0.9em; overflow: visible !important; display: block; overflow-x: auto">40-edk2-aarch64-secure-enrolled.json60-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</code></pre></div>
<p class="xsj_paragraph xsj_paragraph_level_0" style="margin: 1.1em 0 1.6em">不知道这些文件都有什么作用,我把<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">60-edk2-aarch64.json</code>这个文件在这里复制了一份,重命名为<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">wd-60-edk2-aarch64.json</code>,编辑其中的内容,把<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">"filename":</code>的值修改为<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">"/usr/share/AAVMF/QEMU_EFI.fd"</code>,也就是指向之前下载的这个文件。</p>
<p class="xsj_paragraph xsj_paragraph_level_0" style="margin: 1.1em 0 1.6em">然后重启<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">libvirtd</code>服务,从<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">virt-manager</code>中新创建虚拟机。<br>
此时可以出现这个固件的选项。<br>
<span class="story_inline_image" style="display: inline-block"><img src="https://img2023.cnblogs.com/blog/1983905/202403/1983905-20240331175458885-1177347102.png" style="height: auto; max-width: 100%; vertical-align: bottom; border: 0"></span><br>
但是开始安装的时候有问题,<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">'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'</code>,如下图所示。<br>
<span class="story_inline_image" style="display: inline-block"><img src="https://img2023.cnblogs.com/blog/1983905/202403/1983905-20240331175459344-720994931.png" style="height: auto; max-width: 100%; vertical-align: bottom; border: 0"></span><br>
到处找,从Linaro Releases这个地方(这个地方也就是前面下载<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">QEMU_EFI.fd</code>的地方)下载了一个叫<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">QEMU_EFI.img.gz</code>的压缩包,解压后得到一个文件叫<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">QEMU_EFI.img</code>的文件,大小为67108864bytes。把这个文件复制到<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">/usr/share/AAVMF/</code>下面,并且把前面所修改的两个<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">"filename":</code>修改为<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">/usr/share/AAVMF/QEMU_EFI.img</code>。然后重启<code style="background-color: rgba(240, 240, 240, 1); border-radius: 4px; padding: 2px 4px; margin: 0 0.225em; color: rgba(136, 0, 0, 1); border: 0; font-size: 0.9em">libvirtd</code>,重新安装虚拟机,可以看到下载的这个固件,并且也可以开启安装过程。</p>
<p class="xsj_paragraph xsj_paragraph_level_0" style="margin: 1.1em 0 1.6em">问题是,开始安装后,进入了如下的界面。<br>
<span class="story_inline_image" style="display: inline-block"><img src="https://img2023.cnblogs.com/blog/1983905/202403/1983905-20240331175459836-1552549898.png" style="height: auto; max-width: 100%; vertical-align: bottom; border: 0"></span><br>
在网页qemu创建aarch64虚拟机过程记录上有一些相关的解释,但是我暂时不想在这里继续花时间了,先在这儿暂停吧。</p>
</div>
</div><br><br>
来源:https://www.cnblogs.com/nangongergou/p/18107011
頁:
[1]