关于后端:国产化之虚拟ARM64CPU安装银河麒麟操作系统

1次阅读

共计 3312 个字符,预计需要花费 9 分钟才能阅读完成。

背景

某个我的项目须要实现根底软件全副国产化,其中操作系统指定河汉麒麟 v4,CPU 应用飞腾处理器。我本地没有这个国产的处理器,但飞腾是基于 ARMv8 架构的 64 位处理器,所以实践上基于这个 CPU 架构的硬件应该都能够。

首先想到的是树莓派,这个开发板集成的 ARM CPU,不过要看下是否为 ARMv8 架构,如果正好有的话能够试一试。不过这也有点重了,能模仿 CPU 就好了,最终找到了 QEMU 这个工具,能够在 Windows 上运行。

这篇文章就在 Windows 10 上创立一个模仿 ARM64 平台的虚拟机来装置河汉麒麟操作系统。

环境

  • 主机操作系统:Windows 10 专业版
  • 主机 CPU 平台:x86-64
  • 虚拟机软件:QEMU

下载

河汉麒麟 v4 ARM 版下载地址:「Inspur」- NF2180M3 (ARMv8) – K4NZ BLOG

QEMU 下载地址:Download QEMU – QEMU

QEMU 的 UEFI 固件:https://releases.linaro.org/c…

虚构网卡工具:https://pan.baidu.com/s/1sFSH…

装置

1、装置 QEMU

执行安装文件,一路装置即可。我这里都是默认配置,没有更改。

2、配置虚拟机网络

这一步是在主机创立一个 Tap 网卡给虚拟机应用,应用【下载】步骤中的 虚构网卡工具。

这个工具是从某个 VPN 软件提取进去的,创立虚构网卡的命令:

tapctl create --name tap0

通过这个命令能够删除:

tapctl delete tap0

留神:tap0 是虚构网卡的名字,能够依照本人的习惯命名,不反复就行了。

而后还要共享主机网络给这个虚构网卡应用,参照下图:

3、创立虚拟机

这个工具须要应用命令,这里编写一个批处理文件:create.bat,内容如下:

"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

简略解读下,里边执行了两个命令:

第一行是创立一个镜像。镜像文件带门路的名字是:D:\qemu\kylin-v4-arm64\kylin-v4-arm64.qcow2,大小是 50G。门路和名字都是能够按本人的需要定义的。

第二行是在第一行创立的镜像中创立虚拟机。

  • -m 指定内存大小,单位 M,2048 就是 2G。
  • -cpu 指定 CPU 型号,cortex-a53 是一款 ARMv8 架构的处理器。
  • -smp 顺次为:逻辑处理器的个数、每个 CPU 的外围数、每个 CPU 的线程数、CPU 的个数。
  • -bios UEFI 固件的门路,前文【下载】的步骤中提到过。
  • -cdrom 光盘镜像文件的地址,这里就是操作系统装置镜像的门路。
  • -boot 以后虚拟机镜像的文件门路。
  • -net tap 指定后端网络类型是 TAP,ifname 指定 TAP 网卡的名字是 tap0。

4、装置操作系统

以管理员身份运行 上文中的批处理程序 create.bat,而后会启动 QEMU 的窗口,并开启操作系统的装置。

这里没什么好说的,依照提醒一步步设置就行了。为了不便操作,倡议装置图形化界面。

装置过程比较慢,请急躁期待。

5、启动操作系统

装置结束后,重新启动时须要移除光盘镜像,否则还会进入装置界面。

退出以后的的 QEMU 窗口,从新创立一个批处理文件 start.bat:

"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

这些参数和上边创立虚拟机的参数差不多,这里就不多介绍了。

以管理员身份运行 start.bat,启动后,查看电脑属性,其中零碎内核中提到的的 aarch64 就是 ARMv8 架构反对的。

6、更改软件包源

河汉麒麟 v4 的默认软件包源是光盘,这个可能不好搞。不过这个操作系统是基于 ubuntu 16.04 的,所以 ubuntu 16.04 的包源应该能够,然而还要留神针对 ARM 架构的包源和 x64 的不太一样,这里给出一个清华大学的镜像包源,国内拜访比拟快。

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

7、重用镜像

对于装置好零碎的镜像,能够通过复制镜像文件的形式做个备份。

如果不小心把零碎搞坏了,能够用备份的镜像重新启动一个洁净的环境,防止漫长的零碎装置过程。

也能够通过复制多个镜像文件,启动多个虚拟机,不过网络那块得想想怎么搞,这里就懒得去折腾了。


以上就是本文的次要内容,如有错漏欢送斧正。

播种更多架构常识,请关注微信公众号 萤火架构。原创内容,转载请注明出处。

正文完
 0