欢迎光临散文网 会员登陆 & 注册

openEuler-22.03-LTS+UKUI如何快速在AARCH64芯片平台非树莓派4B设备上运行及体验

2022-05-11 22:15 作者:AlgoIdeas  | 我要投稿

本文采用直接下载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默认用户名密码分别为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桌面运行

桌面
开始
我的电脑
设置
关于 (只识别除了A53,A73呢?)
Ukui自带应用一览


openEuler-22.03-LTS+UKUI如何快速在AARCH64芯片平台非树莓派4B设备上运行及体验的评论 (共 条)

分享到微博请遵守国家法律