openEuler-22.03-LTS+UKUI如何快速在AARCH64芯片平臺非樹莓派4B設(shè)備上運(yùn)行及體驗(yàn)
本文采用直接下載openEuler的官方樹莓派4B(arm64/aarch64架構(gòu))的鏡像,提取根文件系統(tǒng)鏡像,并根據(jù)自身平臺配置好采用openEuler主線內(nèi)核,來運(yùn)行openEuler的,此法最快運(yùn)行。離openEuler運(yùn)行,你只需要一點(diǎn)點(diǎn)步驟就行。
openEuler目前只是了解下,移植下,此次采用的是Embedded版本。對了別忘了,openEuler + OpenHarmony的組合,會(huì)出現(xiàn)怎樣的一番場景,拭目以待,并持續(xù)跟進(jìn)。
一 、鏡像下載
ARM64系統(tǒng)鏡像可以下載已經(jīng)編譯好的樹莓派鏡像
下載地址:
https://repo.huaweicloud.com/openeuler/openEuler-22.03-LTS/raspi_img/openEuler-22.03-LTS-raspi-aarch64.img.xz
下載完成后解壓
algoideas@Algo:~$ xz -d openEuler-22.03-LTS-raspi-aarch64.img.xz?
algoideas@Algo:~$ ls
openEuler-22.03-LTS-raspi-aarch64.img
?二 、鏡像提取
fdisk可以查看磁盤(鏡像)相關(guān)信息,查看openEuler鏡像信息如下:
algoideas@Algo:~$ fdisk -l openEuler-22.03-LTS-raspi-aarch64.img
Disk openEuler-22.03-LTS-raspi-aarch64.img:2.17 GiB,2327838720 字節(jié),4546560 個(gè)扇區(qū)
單元:扇區(qū) / 1 * 512 = 512 字節(jié)
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤標(biāo)簽類型:dos
磁盤標(biāo)識符:0x5e8f9fea
設(shè)備? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?啟動(dòng)? ? 起點(diǎn)? ? 末尾? ? 扇區(qū)? 大小 Id 類型
openEuler-22.03-LTS-raspi-aarch64.img1 *? ? ? ?8192? 593919? 585728? 286M? c W95 FAT32 (LBA)
openEuler-22.03-LTS-raspi-aarch64.img2? ? ? ?593920 1593343? 999424? 488M 82 Linux swap / Solaris
openEuler-22.03-LTS-raspi-aarch64.img3? ? ? 1593344 4546559 2953216? 1.4G 83 Linux
可以看到,這個(gè)磁盤鏡像包含了三個(gè)分區(qū)。其中第三個(gè)分區(qū)是系統(tǒng)鏡像分區(qū),我們嘗試掛載第三個(gè)分區(qū)。
通過上面的信息可以看到,第三個(gè)分區(qū)起始位置是1593344扇區(qū),每個(gè)扇區(qū)大小是512 Bytes, 所以起始位置是1593344*512(B)。
然后我們來掛載該分區(qū):
algoideas@Algo:~$ mkdir linux
algoideas@Algo:~$ sudo mount -o loop,offset=$((1593344*512)) openEuler-22.03-LTS-raspi-aarch64.img linux
> 注意需要root權(quán)限掛載
查看掛載后的目錄:
algoideas@Algo:~$ ls linux/
afs? bin? dev? etc? home? lib? lib64? lost+found? media? mnt? opt? proc? root? run? sbin? srv? sys? tmp? usr? var
提取系統(tǒng)分區(qū)文件:
algoideas@Algo:~$ dd if=/dev/zero of=rootfs.img bs=1M count=2048
記錄了2048+0 的讀入
記錄了2048+0 的寫出
2147483648字節(jié)(2.1 GB,2.0 GiB)已復(fù)制,9.64041 s,223 MB/s
algoideas@Algo:~$ mkfs.ext4? rootfs.img
mke2fs 1.45.5 (07-Jan-2020)
丟棄設(shè)備塊: 完成? ? ? ? ? ? ? ? ? ? ? ? ? ??
創(chuàng)建含有 524288 個(gè)塊(每塊 4k)和 131072 個(gè) inode 的文件系統(tǒng)
文件系統(tǒng) UUID:7bcbe2d7-12de-47fc-bad5-1d7bbc8e2f2e
超級塊的備份存儲(chǔ)于下列塊:?
32768, 98304, 163840, 229376, 294912
正在分配組表: 完成? ? ? ? ? ? ? ? ? ? ? ? ? ??
正在寫入 inode表: 完成? ? ? ? ? ? ? ? ? ? ? ? ? ??
創(chuàng)建日志(16384 個(gè)塊): 完成
寫入超級塊和文件系統(tǒng)賬戶統(tǒng)計(jì)信息: 已完成
algoideas@Algo:~$ mkdir rootfs
algoideas@Algo:~$ sudo mount rootfs.img rootfs/
# 將openEuler鏡像文件拷貝到rootfs目錄
algoideas@Algo:~$ rsync -auH --exclude=/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM linux/ rootfs
algoideas@Algo:~$ sudo chown 0:0 rootfs
algoideas@Algo:~$ sudo umount rootfs
algoideas@Algo:~$ e2fsck -p -f rootfs.img
algoideas@Algo:~$ resize2fs -M rootfs.img
執(zhí)行完成以上步驟后,openEuler系統(tǒng)鏡像便已經(jīng)拷貝到rootfs.img鏡像中,最終提取出來的鏡像大小為1.1G,和原始鏡像比較缺少啟動(dòng)和Linux交換分區(qū)。
algoideas@Algo:~$ du -sh rootfs.img?
1.1G rootfs.img
> 注意:此時(shí)可以卸載之前的掛載目錄linux,執(zhí)行以下命令進(jìn)行卸載
algoideas@Algo:~$ sudo umount linux
三、內(nèi)核適配
采用官方內(nèi)核,并配置好芯片平臺的相關(guān)驅(qū)動(dòng),編譯即可。(注:目前基本的驅(qū)動(dòng)都已經(jīng)適配)
https://gitee.com/openeuler/kernel/tree/openEuler-22.03-LTS
此處,省略N字。
理論上,其他芯片平臺,也可以先不用官方的內(nèi)核,讓機(jī)器先跑起來。如果不用官方的內(nèi)核,可能某些功能上,和openEuler還是存在差異的,具體修改后續(xù)可以看看。
四、鏡像使用
以Amlogic A311D 為例,其他ARM64/AARCH64芯片平臺需根據(jù)具體情況,打包和燒錄OpenEuler系統(tǒng)鏡像.
根據(jù)鏡像包rootfs.img,重新打包A311D平臺的EMMC燒寫鏡像,燒錄即可,燒錄參考之前的專欄介紹。
五、 OpenEuler啟動(dòng)
正常燒錄后,在串口端便可以登錄,用以上鏡像,第一次啟動(dòng),系統(tǒng)會(huì)自動(dòng)初始化一些配置,
重啟后便可以和正常使用,且開機(jī)會(huì)自動(dòng)獲取IP地址,如串口端登錄后,提示:
Welcome to 5.10.0
System information as of time:? Mon May? 9 22:42:27 CST 2022
System load:? ? 0.19
Processes:? ? ? 174
Memory used:? ? 2.4%
Swap used:? ? ? 0.0%
Usage On:? ? ? ?79%
IP address:? ? ?192.168.1.102
Users online:? ?1
[root@openEuler ~]#?
> 注:openEuler默認(rèn)用戶名密碼分別為root和openeuler

六、?圖形環(huán)境配置
試試安裝Ukui(由麒麟團(tuán)隊(duì)開發(fā)的基于 Linux 發(fā)行版的輕量級桌面環(huán)境),當(dāng)然也可以安裝其他桌面環(huán)境,主要其他桌面環(huán)境都體驗(yàn)過了,Ukui第一次使用,剛好openEuler也支持,試試就試試。
主要安裝過程及命令如下:
1、安裝Ukui
dnf install ukui -y
安裝過程(部分截圖):

2、安裝字體庫
dnf groupinstall fonts -y
3、設(shè)置默認(rèn)啟動(dòng)圖形界面(Ukui)
systemctl set-default graphical.target
> 注,命令解析:
? systemctl set-default graphical.target 表示開機(jī)將默認(rèn)進(jìn)入圖形界面
? systemctl set-default multi-user.target 表示開機(jī)將默認(rèn)進(jìn)入文本界面
? systemctl get-default 可以獲得當(dāng)前的默認(rèn)target
至此,openEuler的基本圖形化環(huán)境就配置完成。
七、openEuler+Ukui桌面運(yùn)行





