社区编辑申请
注册/登录
OpenEuler-22.03-LTS+UKUI如何快速在AARCH64架构运行与体验
系统 OpenHarmony
本文采用直接下载openEuler的官方树莓派4B(arm64/aarch64架构)的镜像,提取根文件系统镜像,并根据自身平台配置好采用openEuler主线内核,来运行openEuler的,此法最快运行。

​想了解更多关于开源的内容,请访问:​

​51CTO 开源基础软件社区​

​https://ost.51cto.com​

本文采用直接下载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桌面运行

桌面

开始

我的电脑

设置

关于 (只识别除了A53,A73呢?)

UKUI自带应用一览

温馨提示:演示视频见BliBli同名UP主AlgoIdeas

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

至此,本文介绍完毕。

​想了解更多关于开源的内容,请访问:​

​51CTO 开源基础软件社区​

​https://ost.51cto.com​

责任编辑:jianghua 来源: 鸿蒙社区
相关推荐

2022-06-16 10:53:22

SUSELinuxopenEuler

2022-04-19 12:21:58

开源技术

2022-06-16 17:02:49

微软智能云混合云Azure

2022-04-27 12:35:42

Unity7桌面环境Ubuntu

2022-04-25 20:52:22

UbuntuLinux

2022-04-25 09:39:42

桌面服务器Linux

2022-04-07 15:28:16

HarmonyOS鸿蒙操作系统

2022-06-01 17:30:06

UbuntuKVM虚拟化

2022-05-13 10:24:44

WineWindowsLinux

2022-06-05 08:12:56

LinuxLinux Lite浏览器

2022-06-09 06:57:53

Windows 10Windows 11微软

2022-06-20 09:01:20

半导体芯片

2022-06-16 10:14:51

LinuxEmacs编辑器

2022-05-26 07:18:54

Windows 11RTM22H2

2022-03-02 09:53:44

开源ZabbixCentOS 7

2022-06-08 19:31:38

人工智能Cloudera自动化

2022-05-10 06:01:17

Windows 11微软操作系统

2022-04-28 15:55:49

鸿蒙XTS认证测试

2022-03-03 09:34:28

CentOS 8服务器替代

2022-02-14 13:52:04

同话题下的热门内容

HarmonyOS - HDC命令与ADB命令使用对比OHOS构建自定义服务实战啃论文俱乐部—数据密集型应用内存压缩HarmonyOS - 自定义组件之计时器基于OpenHarmony3.1的购物车应用的实现HarmonyOS - 方舟开发框架ArkUI 流光按钮效果OpenHarmony3.1-Ace-Formcomponent源码解析HarmonyOS手机遥控Dayu开发板相机(一)

编辑推荐

HarmonyOS 2.0鸿蒙第二期开发者Beta公测申请指南HarmonyOS LYEVK-3861开发板播放《蜜雪冰城》鸿蒙HarmonyOS分布式软总线:构建低时延、高带宽的多设备虚拟网络华为HarmonyOS的强势突围: 直面物联网迷宫的蓄力进击鸿蒙HarmonyOS2.0发布会现场回忆录
我收藏的内容
点赞
收藏

51CTO技术栈公众号