X86_64架构下虚拟ARM架构并安装麒麟ARM操作系统
背景 :由于客户单位需要在ARM架构下的操作系统中安装研发的系统,为此昼夜不停的查阅资料以及频繁试错 下,在本地成功安装客户需要的环境,所以将我踩的坑分享给大家,让大家少走弯路。
准备物料及环境
●X86_64物理机
●QEMU(qemu-w64-setup-20211215.exe)
●Kylin-Server-10-SP2-aarch64-Release-Build09-20210524.iso
●UEFI(BIOS的替代方案)
QEMU 是一个通用的开源机器模拟器和虚拟器。麒麟操作系统是银河麒麟高级服务器操作系统V10(沸腾)。
获取方式
QEMU Windowns获取方式:qemu.weilnetz.de/w64/2021/
Kylin-Server-10-SP2-aarch64-Release-Build09-20210524.iso :58服务器 /home/xiecongshu/backup/vmware
UEFI: releases.linaro.org/components/…
文件目录如下
│ install.bat
│ qemu-w64-setup-20211215.exe
│ start.bat
│
├─bios
│ QEMU_EFI.fd
│
├─img
│ kylinServerArmSecdog.qcow2
│
├─iso
│ Kylin-Server-10-SP2-aarch64-Release-Build09-20210524.iso
├─workspace
qemu
安装QEMU
●安装过程中一直next即可。
生成镜像文件
●在安装目录下执行cmd命令。
●执行如下命令
【注意】目前在这个Kylin-Server-10-SP2-aarch64-Release-Build09-20210524.iso系统下,生成镜像后缀名唯有qcow2,才能正常使用,其中 qemu-img create 是QEMU的一下exe执行文件,其中40G是创建指定磁盘大小。
●各个文件位置
名称 | 位置 |
---|---|
虚拟机镜像 | E:\learn_app\vmWare\Qemu\iso\Kylin-Server-10-SP2-aarch64-Release-Build09-20210524.iso |
QEMU | E:\learn_app\vmWare\Qemu\workspace\qemu |
QEMU_EFI.fd | E:\learn_app\vmWare\Qemu\bios\QEMU_EFI.fd |
虚拟机磁盘位置 | E:\learn_app\vmWare\Qemu\img\kylinServerArmSecdog.qcow2 |
安装虚拟机
●QEMU指令如下。
名称 | 注释 |
---|---|
\qemu\qemu-system-aarch64.exe | 二进制文件,提供模拟aarch64架构的虚拟机进程 |
-m 8192 | 分配8192 MB内存 |
-M virt | 模拟成什么服务器,我们一般选择virt就可以了,他会自动选择最高版本的virt |
-cpu cortex-a72 | 模拟成什么CPU,其中cortex-a53\a57\a72都是ARMv8指令集的 |
-smp 2,cores=2,threads=1,sockets=1 | 2个vCPU,这2个vCPU由qemu模拟出的一个插槽(socket)中的2个核心,每个 |
-bios xxx | 指定bios bin所在的路径 |
-device xxx | 添加一个设备,参数可重复 |
-drive | 添加一个驱动器,参数可重复 |
-net | 添加网络设备 |
●制作虚拟机install.bat 安装脚本,如下。
●执行命令后会出现麒麟Logo如下图(安装过程与VMware安装Centos过程大体相同,就是特别慢):
安装过程省略,和普通的虚拟机一样,就是会特别慢
●在网络设置时候需要根据自己需求配置,否则虚拟机分配不了IP地址,如下图:
●安装好后,查看cpu架构(uname -m)
启动虚拟机
●安装好后,我们需要再次启动(无需指定iso文件启动),制作start.bat脚本文件,如下:
●启动成功界面如下图:
利用shell工具连接
我们建立好虚拟机后,通常需要利用shell工具进行文件的传输或者远程交互。 宿主访问虚拟机需要访问本机2222 ssh 127.0.0.1:2222