背景
某個專案需要實作基礎軟體全部國產化,其中作業系統指定銀河麒麟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/components/kernel/uefi-linaro/latest/release/qemu64/QEMU_EFI.fd
虛擬網卡工具:https://pan.baidu.com/s/1sFSH8AOnLb-I3JWLHV-3Ow?pwd=309c
安裝
1、安裝QEMU
執行安裝檔案,一路安裝即可,我這里都是默認配置,沒有更改,
2、配置虛擬機網路
這一步是在主機創建一個Tap網卡給虛擬機使用,使用【下載】步驟中的 虛擬網卡工具,
這個工具是從某個軟體提取出來的,創建虛擬網卡的命令:
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、重用鏡像
對于安裝好系統的鏡像,可以通過復制鏡像檔案的方式做個備份,
如果不小心把系統搞壞了,可以用備份的鏡像重新啟動一個干凈的環境,避免漫長的系統安裝程序,
也可以通過復制多個鏡像檔案,啟動多個虛擬機,不過網路那塊得想想怎么搞,這里就懶得去折騰了,
以上就是本文的主要內容,如有錯漏歡迎指正,
識訓更多架構知識,請關注微信公眾號 螢火架構,原創內容,轉載請注明出處,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/439108.html
標籤:Linux
上一篇:如何將PhpSpreadsheet與AppEngine和GoogleCloudStorage一起使用
下一篇:Linux常用檔案權限命令詳解

