本文采用直接下載下傳openEuler的官方樹莓派4B(arm64/aarch64架構)的鏡像,提取根檔案系統鏡像,并根據自身平台配置好采用openEuler主線核心,來運作openEuler的,此法最快運作。離openEuler運作,你隻需要一點點步驟就行。
openEuler目前隻是了解下,移植下,此次采用的是Embedded版本。對了别忘了,openEuler + OpenHarmony的組合,會出現怎樣的一番場景,拭目以待,并持續跟進。
一 、鏡像下載下傳
ARM64系統鏡像可以下載下傳已經編譯好的樹莓派鏡像
下載下傳位址:
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可以檢視磁盤(鏡像)相關資訊,檢視openEuler鏡像資訊如下:
algoideas@Algo:~$ fdisk -l openEuler-22.03-LTS-raspi-aarch64.img
Disk openEuler-22.03-LTS-raspi-aarch64.img:2.17 GiB,2327838720 位元組,4546560 個扇區
單元:扇區 / 1 * 512 = 512 位元組
扇區大小(邏輯/實體):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組
磁盤标簽類型:dos
磁盤辨別符:0x5e8f9fea
裝置 啟動 起點 末尾 扇區 大小 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
可以看到,這個磁盤鏡像包含了三個分區。其中第三個分區是系統鏡像分區,我們嘗試挂載第三個分區。
通過上面的資訊可以看到,第三個分區起始位置是1593344扇區,每個扇區大小是512 Bytes, 是以起始位置是1593344*512(B)。
然後我們來挂載該分區:
algoideas@Algo:~$ mkdir linux
algoideas@Algo:~$ sudo mount -o loop,offset=$((1593344*512))
openEuler-22.03-LTS-raspi-aarch64.img linux 注意需要root權限挂載
檢視挂載後的目錄:
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
提取系統分區檔案:
algoideas@Algo:~$ dd if=/dev/zero of=rootfs.img bs=1M count=2048
記錄了2048+0 的讀入
記錄了2048+0 的寫出
2147483648位元組(2.1 GB,2.0 GiB)已複制,9.64041 s,223 MB/s
algoideas@Algo:~$ mkfs.ext4 rootfs.img
mke2fs 1.45.5 (07-Jan-2020)
丢棄裝置塊: 完成
建立含有 524288 個塊(每塊 4k)和 131072 個 inode 的檔案系統
檔案系統 UUID:7bcbe2d7-12de-47fc-bad5-1d7bbc8e2f2e
超級塊的備份存儲于下列塊:
32768, 98304, 163840, 229376, 294912
正在配置設定組表: 完成
正在寫入 inode表: 完成
建立日志(16384 個塊): 完成
寫入超級塊和檔案系統賬戶統計資訊: 已完成
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
執行完成以上步驟後,openEuler系統鏡像便已經拷貝到rootfs.img鏡像中,最終提取出來的鏡像大小為1.1G,和原始鏡像比較缺少啟動和Linux交換分區。
algoideas@Algo:~$ du -sh rootfs.img
1.1G rootfs.img
注意:此時可以解除安裝之前的挂載目錄linux,執行以下指令進行解除安裝
algoideas@Algo:~$ sudo umount linux
三、核心适配
采用官方核心,并配置好晶片平台的相關驅動,編譯即可。(注:目前基本的驅動都已經适配)
https://gitee.com/openeuler/kernel/tree/openEuler-22.03-LTS
此處,省略N字。
理論上,其他晶片平台,也可以先不用官方的核心,讓機器先跑起來。如果不用官方的核心,可能某些功能上,和openEuler還是存在差異的,具體修改後續可以看看。
四、鏡像使用
以Amlogic A311D 為例,其他ARM64/AARCH64晶片平台需根據具體情況,打包和燒錄OpenEuler系統鏡像.
根據鏡像包rootfs.img,重新打包A311D平台的EMMC燒寫鏡像,燒錄即可,燒錄參考之前的部落格介紹。
五、 OpenEuler啟動
正常燒錄後,在序列槽端便可以登入,用以上鏡像,第一次啟動,系統會自動初始化一些配置,
重新開機後便可以和正常使用,且開機會自動擷取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預設使用者名和password分别為root和openeuler
六、 圖形環境配置
試試安裝UKUI(由麒麟團隊開發的基于 Linux 發行版的輕量級桌面環境),當然也可以安裝其他桌面環境,主要其他桌面環境都體驗過了,UKUI第一次使用,剛好openEuler也支援,試試就試試。
主要安裝過程及指令如下:
1、安裝UKUI
dnf install ukui -y
安裝過程(部分截圖):
2、安裝字型庫
dnf groupinstall fonts -y
3、設定預設啟動圖形界面(UKUI)
systemctl set-default graphical.target
注,指令解析:
systemctl set-default graphical.target 表示開機将預設進入圖形界面
systemctl set-default multi-user.target 表示開機将預設進入文本界面
systemctl get-default 可以獲得目前的預設target
至此,openEuler的基本圖形化環境就配置完成。
七、openEuler+UKUI桌面運作
::: hljs-center
桌面
開始
我的電腦
設定
關于 (隻識别除了A53,A73呢?)
UKUI自帶應用一覽
:::
溫馨提示:示範視訊見BliBli同名UP主AlgoIdeas
https://www.bilibili.com/video/BV1Y34y1h71J/
至此,本文介紹完畢。
附件連結:https://ost.51cto.com/resource/1940