天天看點

openEuler-22.03-LTS+UKUI如何快速在AARCH64架構運作與體驗

本文采用直接下載下傳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-22.03-LTS+UKUI如何快速在AARCH64架構運作與體驗

注:openEuler預設使用者名和password分别為root和openeuler

六、 圖形環境配置

試試安裝UKUI(由麒麟團隊開發的基于 Linux 發行版的輕量級桌面環境),當然也可以安裝其他桌面環境,主要其他桌面環境都體驗過了,UKUI第一次使用,剛好openEuler也支援,試試就試試。

主要安裝過程及指令如下:

1、安裝UKUI

dnf install ukui -y
           

安裝過程(部分截圖):

openEuler-22.03-LTS+UKUI如何快速在AARCH64架構運作與體驗

2、安裝字型庫

dnf groupinstall fonts -y
           

3、設定預設啟動圖形界面(UKUI)

systemctl set-default graphical.target 
           
openEuler-22.03-LTS+UKUI如何快速在AARCH64架構運作與體驗

注,指令解析:

systemctl set-default graphical.target 表示開機将預設進入圖形界面

systemctl set-default multi-user.target 表示開機将預設進入文本界面

systemctl get-default 可以獲得目前的預設target

至此,openEuler的基本圖形化環境就配置完成。

七、openEuler+UKUI桌面運作

::: hljs-center

openEuler-22.03-LTS+UKUI如何快速在AARCH64架構運作與體驗

桌面

openEuler-22.03-LTS+UKUI如何快速在AARCH64架構運作與體驗

開始

openEuler-22.03-LTS+UKUI如何快速在AARCH64架構運作與體驗

我的電腦

openEuler-22.03-LTS+UKUI如何快速在AARCH64架構運作與體驗

設定

openEuler-22.03-LTS+UKUI如何快速在AARCH64架構運作與體驗

關于 (隻識别除了A53,A73呢?)

openEuler-22.03-LTS+UKUI如何快速在AARCH64架構運作與體驗

UKUI自帶應用一覽

:::

溫馨提示:​​​示範視訊​​​見BliBli同名UP主AlgoIdeas

​​https://www.bilibili.com/video/BV1Y34y1h71J/​

至此,本文介紹完畢。

附件連結:https://ost.51cto.com/resource/1940

繼續閱讀