openEuler Embedded 对树莓派 4B 的支持

top_tony
发布于 2022-8-17 16:48
浏览
0收藏

本文主要介绍 openEuler Embedded 中树莓派 4B 的构建,使用和特性介绍。

树莓派镜像构建指导
「构建环境」

1.构建环境推荐:openEuler 22.03 LTS

2.构建指导:

参考容器构建指导:https://openeuler.gitee.io/yocto-meta-openeuler/yocto/quickbuild/container-build.html

 ● 构建命令示例:

su openeuler

source /usr1/openeuler/src/yocto-meta-openeuler/scripts/compile.sh raspberrypi4-64 /usr1/openeuler/src/build/build-raspberrypi4-64/

bitbake openeuler-image

 ● 构建镜像生成目录示例:

/usr1/openeuler/src/build/build-raspberrypi4-64/output

 ● 二进制介绍:
1.Image: 树莓派内核镜像

2.openeuler-glibc-x86-64-openeuler-image-cortexa72-raspberrypi4-64-toolchain-22.03.30.sh:SDK 工具链

3.openeuler-image-raspberrypi4-64-*.rootfs.rpi-sdimg: openEuler Embedded 树莓派支持 SD 卡镜像

「镜像使用方法」

1.镜像烧录:

参考树莓派 SD 卡烧录指导:https://gitee.com/openeuler/raspberrypi/blob/master/documents/刷写镜像.md#刷写-sd-卡

2.镜像使用

 ● 使用 losetup 将磁盘镜像文件虚拟成块设备

losetup -f --show openeuler-image-raspberrypi4-64-*.rootfs.rpi-sdimg

例如,显示结果为 /dev/loop0

 ● 使用 kpartx 创建分区表 /dev/loop0 的设备映射

kpartx -va /dev/loop0

得到结果是 /dev/loop0 的两个分区设备

add map loop0p1
add map loop0p2

运行 ls /dev/mapper/loop0p* 可以看到对应的两个分区

/dev/mapper/loop0p1 /dev/mapper/loop0p2

 ● 分区挂载
创建挂载目录

mkdir ${WORKDIR}/boot ${WORKDIR}/root

挂载 boot 分区

mount -t vfat -o uid=root,gid=root,umask=0000 /dev/mapper/loop0p1 ${WORKDIR}/boot

挂载 root 分区

mount -t ext4 /dev/mapper/loop0p2 ${WORKDIR}/root

挂载完成后,可以查看 boot 分区和 root 分区下树莓派镜像的文件,其中 boot 分区为启动引导分区,包含了引导程序,内核镜像,设备树,config.txt 和 cmdline 等配置文件,root 分区为根文件系统分区。

基于 openEuler Embedded 树莓派使用
「启用树莓派」

硬件版本要求:树莓派 4B

默认用户名:root,密码:第一次启动没有默认密码,需重新配置,且密码强度有相应要求, 需要数字、字母、特殊字符组合最少 8 位,例如 openEuler@2021。

将刷写镜像后的 SD 卡插入树莓派,通电启用。

「树莓派登录方式」

1.本地登录

a.使用串口登录:

镜像使能了串口登录功能,按照树莓派的串口连接方式,如下图,可以启用串口操作。

示例:使用 ttyusb 转接器,将树莓派串口通过 USB 连接到 putty:

openEuler Embedded 对树莓派 4B 的支持-鸿蒙开发者社区

putty 配置参考:Serial line:ttyUSB0 speed:115200 Connection type:Serial

 

openEuler Embedded 对树莓派 4B 的支持-鸿蒙开发者社区


b.使用 HDMI 登录:

树莓派连接显示器(树莓派视频输出接口为 Micro HDMI)、键盘、鼠标后,启动树莓派,可以看到树莓派启动日志输出到显示器上。待树莓派启动成功,输入用户名(root)和密码登录。

注意:当前镜像默认使能串口登录,如果需要通过 HDMI,需要修改相关配置:

(1)修改 boot 分区下的 cmdline 文件内参数,添加 console=tty1

(2)将 root 分区下的/etc/inittab 文件内参数字段 ttyS0 修改为 tty1

2.ssh 远程登录

参考树莓派使用——启用树莓派——ssh 登录:https://gitee.com/openeuler/raspberrypi/blob/master/documents/树莓派使用.md#启用树莓派

「分区扩容」

以下内容引用自树莓派使用——启用树莓派——分区扩容:https://gitee.com/openeuler/raspberrypi/blob/master/documents/树莓派使用.md#分区扩容

默认根目录分区空间比较小,在使用之前,需要对分区进行扩容。

1.查看磁盘分区信息

执行 fdisk -l 命令查看磁盘分区信息。回显如下:

Device        Boot StartCHS   EndCHS        StartLBA  EndBLA  Sectors size Id  Type

/dev/mmcblk0p1 *   64,0,1     831,3,32      8192      106495  98304   48.0M c  Win95 FAT32(LBA)

/dev/mmcblk0p2     832,0,1    1023,3,32     106496    360447  253952  124M  83 Linux

SD 卡对应盘符为 /dev/mmcblk0,包括 2 个分区,分别为

/dev/mmcblk0p1:引导分区

/dev/mmcblk0p2:根目录分区

这里我们需要将根目录分区 /dev/mmcblk0p2 进行扩容。

2.分区扩容

对根目录/dev/mmcblk0p2 进行扩容

1.执行 fdisk /dev/mmcblk0 命令进入到交互式命令行界面,按照以下步骤扩展分区,如下图所示。

2.输入 p,查看分区信息。

3.记录分区 /dev/mmcblk0p2 的起始扇区号,即 /dev/mmcblk0p2 分区信息中 Start 列的值,示例中为 106496。

4.输入 d,删除分区。

5.输入 2 或直接按 Enter,删除序号为 2 的分区,即 /dev/mmcblk0p2 分区。

6.输入 n,创建新的分区。

7.输入 p 或直接按 Enter,创建 Primary 类型的分区。

8.输入 2 或直接按 Enter,创建序号为 2 的分区,即 /dev/mmcblk0p2 分区。

9.输入新分区的起始扇区号,即第 1 步中记录的起始扇区号,示例中为 106496。

须知:请勿直接按"Enter"或使用默认参数,否则会擦损磁盘数据。

10.按 Enter,使用默认的最后一个扇区号作为新分区的终止扇区号。

11.输入 w,保存分区设置并退出交互式命令行界面。
增大未加载的文件系统大小
resize2fs /dev/mmcblk0p2

树莓派镜像特性介绍
1.树莓派硬件特性,参考树莓派使用——GPIO 介绍:https://gitee.com/openeuler/raspberrypi/blob/master/documents/树莓派使用.md#gpio

目前已使能串口设备,可以访问 mini-uart,其他硬件特性暂不支持。

2.支持百级嵌入式软件包,软件包功能列表后期会详细提供。

3.支持部署 RT 实时内核,具体信息见前期发布的文章《openEuler Embedded 软实时系统介绍》。

 

 

 

(文章转载自公众号:架构与思维)

标签
已于2022-8-17 16:48:46修改
收藏
回复
举报
回复
    相关推荐