悦大夫蓝欣 發表於 2022-3-7 07:38:00

国产化之虚拟ARM64-CPU安装银河麒麟操作系统

<h1 id="背景">背景</h1>
<p>某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟v4,CPU使用飞腾处理器。我本地没有这个国产的处理器,但飞腾是基于<em>ARMv8</em>架构的64位处理器,所以理论上基于这个CPU架构的硬件应该都可以。</p>
<p>首先想到的是树莓派,这个开发板集成的ARM CPU,不过要看下是否为ARMv8架构,如果正好有的话可以试一试。不过这也有点重了,能模拟CPU就好了,最终找到了QEMU这个工具,可以在Windows上运行。</p>
<p>这篇文章就在Windows 10上创建一个模拟ARM64平台的虚拟机来安装银河麒麟操作系统。</p>
<h1 id="环境">环境</h1>
<ul>
<li>主机操作系统:Windows 10 专业版</li>
<li>主机CPU平台:x86-64</li>
<li>虚拟机软件:QEMU</li>
</ul>
<h1 id="下载">下载</h1>
<p>银河麒麟v4 ARM版下载地址:「Inspur」- NF2180M3 (ARMv8) – K4NZ BLOG</p>
<p>QEMU下载地址:Download QEMU – QEMU</p>
<p>QEMU的UEFI固件:https://releases.linaro.org/components/kernel/uefi-linaro/latest/release/qemu64/QEMU_EFI.fd</p>
<p>虚拟网卡工具:https://pan.baidu.com/s/1sFSH8AOnLb-I3JWLHV-3Ow?pwd=309c</p>
<h1 id="安装">安装</h1>
<h2 id="1安装qemu">1、安装QEMU</h2>
<p>执行安装文件,一路安装即可。我这里都是默认配置,没有更改。</p>
<h2 id="2配置虚拟机网络">2、配置虚拟机网络</h2>
<p>这一步是在主机创建一个Tap网卡给虚拟机使用,使用【下载】步骤中的 虚拟网卡工具。</p>
<p>这个工具是从某个软件提取出来的,创建虚拟网卡的命令:</p>
<pre><code class="language-shell">tapctl create --name tap0
</code></pre>
<p>通过这个命令可以删除:</p>
<pre><code class="language-shell">tapctl delete tap0
</code></pre>
<p>注意:tap0是虚拟网卡的名字,可以按照自己的习惯命名,不重复就行了。</p>
<p>然后还要共享主机网络给这个虚拟网卡使用,参照下图:<br>
<img src="https://img2022.cnblogs.com/other/73642/202203/73642-20220307073828646-2100132127.jpg" alt="img" loading="lazy"></p>
<h2 id="3创建虚拟机">3、创建虚拟机</h2>
<p>这个工具需要使用命令,这里编写一个批处理文件:create.bat,内容如下:</p>
<pre><code class="language-diff">"C:\Program Files\qemu\qemu-img.exe" create -f qcow2 D:\qemu\kylin-v4-arm64\kylin-v4-arm64.qcow2 50G

"C:\Program Files\qemu\qemu-system-aarch64.exe" ^
-m 2048 ^
-cpu cortex-a53 ^
-smp 4,cores=4,threads=1,sockets=1 ^
-M virt ^
-bios D:\qemu\kylin-v4-arm64\QEMU_EFI.fd ^
-device VGA ^
-device nec-usb-xhci ^
-device usb-mouse ^
-device usb-kbd ^
-cdrom D:\qemu\kylin-4.0.2-server-sp2-arm64.iso ^
-net nic,model=virtio ^
-net tap,ifname=tap0 ^
-boot d D:\qemu\kylin-v4-arm64\kylin-v4-arm64.qcow2
</code></pre>
<p>简单解读下,里边执行了两个命令:</p>
<p>第一行是创建一个镜像。镜像文件带路径的名字是:D:\qemu\kylin-v4-arm64\kylin-v4-arm64.qcow2,大小是50G。路径和名字都是可以按自己的需求定义的。</p>
<p>第二行是在第一行创建的镜像中创建虚拟机。</p>
<ul>
<li>-m 指定内存大小,单位M,2048就是2G。</li>
<li>-cpu 指定CPU型号,cortex-a53 是一款ARMv8架构的处理器。</li>
<li>-smp 依次为:逻辑处理器的个数、每个CPU的核心数、每个CPU的线程数、CPU的个数。</li>
<li>-bios UEFI固件的路径,前文【下载】的步骤中提到过。</li>
<li>-cdrom 光盘镜像文件的地址,这里就是操作系统安装镜像的路径。</li>
<li>-boot 当前虚拟机镜像的文件路径。</li>
<li>-net tap 指定后端网络类型是TAP,ifname指定TAP网卡的名字是tap0。</li>
</ul>
<h2 id="4安装操作系统">4、安装操作系统</h2>
<p><strong>以管理员身份运行</strong>上文中的批处理程序 create.bat,然后会启动QEMU的窗口,并开启操作系统的安装。</p>
<p>这里没什么好说的,按照提示一步步设置就行了。为了方便操作,建议安装图形化界面。</p>
<p><img src="https://img2022.cnblogs.com/other/73642/202203/73642-20220307073828958-1977792290.jpg" alt="img" loading="lazy"></p>
<p>安装过程比较慢,请耐心等待。</p>
<h2 id="5启动操作系统">5、启动操作系统</h2>
<p>安装完毕后,重新启动时需要移除光盘镜像,否则还会进入安装界面。</p>
<p>退出当前的的QEMU窗口,重新创建一个批处理文件 start.bat:</p>
<pre><code class="language-diff">"C:\Program Files\qemu\qemu-system-aarch64.exe" ^
-m 2048 ^
-cpu cortex-a53 ^
-smp 4,cores=4,threads=1,sockets=1 ^
-M virt ^
-bios D:\qemu\kylin-v4-arm64\QEMU_EFI.fd ^
-device VGA ^
-device nec-usb-xhci ^
-device usb-mouse ^
-device usb-kbd ^
-net nic,model=virtio ^
-net tap,ifname=tap0 ^
-boot d D:\qemu\kylin-v4-arm64\kylin-v4-arm64.qcow2
</code></pre>
<p>这些参数和上边创建虚拟机的参数差不多,这里就不多介绍了。</p>
<p><strong>以管理员身份运行</strong> start.bat ,启动后,查看电脑属性,其中系统内核中提到的的aarch64就是ARMv8架构支持的。</p>
<p><img src="https://img2022.cnblogs.com/other/73642/202203/73642-20220307073829239-1718545842.jpg" alt="img" loading="lazy"></p>
<h2 id="6更改软件包源">6、更改软件包源</h2>
<p>银河麒麟v4的默认软件包源是光盘,这个可能不好搞。不过这个操作系统是基于ubuntu 16.04的,所以ubuntu 16.04的包源应该可以,但是还要注意针对ARM架构的包源和x64的不太一样,这里给出一个清华大学的镜像包源,国内访问比较快。</p>
<pre><code class="language-diff">deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe
</code></pre>
<h2 id="7重用镜像">7、重用镜像</h2>
<p>对于安装好系统的镜像,可以通过复制镜像文件的方式做个备份。</p>
<p>如果不小心把系统搞坏了,可以用备份的镜像重新启动一个干净的环境,避免漫长的系统安装过程。</p>
<p>也可以通过复制多个镜像文件,启动多个虚拟机,不过网络那块得想想怎么搞,这里就懒得去折腾了。</p>
<hr>
<p>以上就是本文的主要内容,如有错漏欢迎指正。</p>
<blockquote>
<p>收获更多架构知识,请关注微信公众号 萤火架构。原创内容,转载请注明出处。<br>
<img src="https://img2022.cnblogs.com/other/73642/202203/73642-20220307073829477-794742683.jpg" alt="扫描二维码关注公众号" loading="lazy"></p>
</blockquote>


</div>
<div id="MySignature" role="contentinfo">
    <span class="articleSuffix-flg">
                <div id="articleSuffix">
                        <div class="articleSuffix-left">
                               
                                        <img src="https://images.cnblogs.com/cnblogs_com/bossma/2327976/o_230719042205_qrcode1689740404996.jpg"/>
                               
                        </div>
                        <div class="articleSuffix-right">
                                <item>
                                        <li>
                                                <b>本文作者:</b>
                                                萤火架构
                                        </li>
                                        <li>
                                                <b>本文链接:</b>
                                                https://www.cnblogs.com/bossma/p/15974392.html
                                        </li>
                                        <li>
                                                <b>关于博主:</b>
                                                使用微信扫描左侧二维码关注我的订阅号,每天获取新知识
                                        </li>
                                        <li>
                                                <b>版权声明:</b>
                                                本博客所有文章除特别声明外,均采用
                                                BY-NC-SA
                                                许可协议。转载请注明出处!
                                        </li>
                                </item>
                        </div>
                        <div style="clear:both"></div>
                </div>
        </span><br><br>
来源:https://www.cnblogs.com/bossma/p/15974392.html
頁: [1]
查看完整版本: 国产化之虚拟ARM64-CPU安装银河麒麟操作系统