背景
某個項目需要實現(xiàn)基礎軟件全部國產化搔驼,其中操作系統(tǒng)指定銀河麒麟v4候齿,CPU使用飛騰處理器咧虎。我本地沒有這個國產的處理器,但飛騰是基于ARMv8架構的64位處理器喇辽,所以理論上基于這個CPU架構的硬件應該都可以掌挚。
首先想到的是樹莓派,這個開發(fā)板集成的ARM CPU菩咨,不過要看下是否為ARMv8架構吠式,如果正好有的話可以試一試。不過這也有點重了抽米,能模擬CPU就好了特占,最終找到了QEMU這個工具,可以在Windows上運行缨硝。
這篇文章就在Windows 10上創(chuàng)建一個模擬ARM64平臺的虛擬機來安裝銀河麒麟操作系統(tǒng)摩钙。
環(huán)境
- 主機操作系統(tǒng):Windows 10 專業(yè)版
- 主機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
執(zhí)行安裝文件查辩,一路安裝即可胖笛。我這里都是默認配置,沒有更改宜岛。
2长踊、配置虛擬機網絡
這一步是在主機創(chuàng)建一個Tap網卡給虛擬機使用,使用【下載】步驟中的 虛擬網卡工具萍倡。
這個工具是從某個VPN軟件提取出來的身弊,創(chuàng)建虛擬網卡的命令:
tapctl create --name tap0
通過這個命令可以刪除:
tapctl delete tap0
注意:tap0是虛擬網卡的名字,可以按照自己的習慣命名,不重復就行了阱佛。
然后還要共享主機網絡給這個虛擬網卡使用帖汞,參照下圖:3、創(chuàng)建虛擬機
這個工具需要使用命令凑术,這里編寫一個批處理文件: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
簡單解讀下,里邊執(zhí)行了兩個命令:
第一行是創(chuàng)建一個鏡像淮逊。鏡像文件帶路徑的名字是:D:\qemu\kylin-v4-arm64\kylin-v4-arm64.qcow2催首,大小是50G。路徑和名字都是可以按自己的需求定義的泄鹏。
第二行是在第一行創(chuàng)建的鏡像中創(chuàng)建虛擬機郎任。
- -m 指定內存大小,單位M备籽,2048就是2G舶治。
- -cpu 指定CPU型號,cortex-a53 是一款ARMv8架構的處理器胶台。
- -smp 依次為:邏輯處理器的個數歼疮、每個CPU的核心數、每個CPU的線程數诈唬、CPU的個數韩脏。
- -bios UEFI固件的路徑,前文【下載】的步驟中提到過铸磅。
- -cdrom 光盤鏡像文件的地址赡矢,這里就是操作系統(tǒng)安裝鏡像的路徑。
- -boot 當前虛擬機鏡像的文件路徑阅仔。
- -net tap 指定后端網絡類型是TAP吹散,ifname指定TAP網卡的名字是tap0。
4八酒、安裝操作系統(tǒng)
以管理員身份運行上文中的批處理程序 create.bat空民,然后會啟動QEMU的窗口,并開啟操作系統(tǒng)的安裝羞迷。
這里沒什么好說的界轩,按照提示一步步設置就行了。為了方便操作衔瓮,建議安裝圖形化界面浊猾。
安裝過程比較慢,請耐心等待热鞍。
5葫慎、啟動操作系統(tǒng)
安裝完畢后衔彻,重新啟動時需要移除光盤鏡像,否則還會進入安裝界面偷办。
退出當前的的QEMU窗口艰额,重新創(chuàng)建一個批處理文件 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
這些參數和上邊創(chuàng)建虛擬機的參數差不多,這里就不多介紹了爽篷。
以管理員身份運行 start.bat 悴晰,啟動后,查看電腦屬性逐工,其中系統(tǒng)內核中提到的的aarch64就是ARMv8架構支持的。
6漂辐、更改軟件包源
銀河麒麟v4的默認軟件包源是光盤泪喊,這個可能不好搞。不過這個操作系統(tǒng)是基于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、重用鏡像
對于安裝好系統(tǒng)的鏡像包各,可以通過復制鏡像文件的方式做個備份摘仅。
如果不小心把系統(tǒng)搞壞了,可以用備份的鏡像重新啟動一個干凈的環(huán)境问畅,避免漫長的系統(tǒng)安裝過程娃属。
也可以通過復制多個鏡像文件,啟動多個虛擬機护姆,不過網絡那塊得想想怎么搞矾端,這里就懶得去折騰了。
以上就是本文的主要內容卵皂,如有錯漏歡迎指正秩铆。
收獲更多架構知識,請關注公眾號 螢火架構灯变。原創(chuàng)內容殴玛,轉載請注明出處。