共计 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、重用镜像
对于装置好零碎的镜像,能够通过复制镜像文件的形式做个备份。
如果不小心把零碎搞坏了,能够用备份的镜像重新启动一个洁净的环境,防止漫长的零碎装置过程。
也能够通过复制多个镜像文件,启动多个虚拟机,不过网络那块得想想怎么搞,这里就懒得去折腾了。
以上就是本文的次要内容,如有错漏欢送斧正。
播种更多架构常识,请关注微信公众号 萤火架构。原创内容,转载请注明出处。