openKylin论坛

标题: openKylin嵌入式版本构建工具开源,手把手教你制作嵌入式镜像 [打印本页]

作者: ivy123    时间: 2023-7-12 09:50
标题: openKylin嵌入式版本构建工具开源,手把手教你制作嵌入式镜像
本帖最后由 ivy123 于 2023-7-12 09:55 编辑

为便利开发者基于openKylin开源操作系统二进制软件包构建嵌入式操作系统镜像,社区Embedded SIG组开发了openKylin嵌入式版本构建工具V1.0。基于此工具,各位开发者可以灵活构建适合自己的openKylin嵌入式版本操作系统。

一、 构建工具介绍
openKylin嵌入式版本构建工具V1.0基于开源debootstrap命令进行封装,可基于openKylin的apt源制作嵌入式操作系统镜像。目前openKylin 1.0版本支持通过参数控制分别生成四款开发板的镜像:ARM64架构(双椒派、树莓派)、RISC-V架构(VisionFive2、Lotus2)镜像。
该工具在debootstrap基础上进行封装,并在制作镜像过程中预留参数,供开发者自行修改现有配置,或者新增配置,便于通过脚本生成所需要的系统镜像。
同时,该工具使用debootstrap生成基础rootfs,由于此时的rootfs是一个基础chroot环境,还不具备在上述4种开发板直接运行的能力,因此Embedded SIG组在此基础上增加了对文件系统定制修改的功能,主要是针对不同类型开发板,向文件系统中安装相应的软件包,并对系统做好相关配置,使制作好的文件系统可以直接在上述4种开发板上运行。

二、 构建工具特性
1.易用性强。openKylin嵌入式版本构建工具V1.0使用shell实现,结合实际项目经验设计构建接口。构建人员可快速构建,验证,发布嵌入式操作系统。

2.扩展性强。openKylin嵌入式版本构建工具V1.0依赖openKylin软件源构建嵌入式操作系统基座,构建人员可通过叠加额外软件源,定制系统文件等方式扩展嵌入式操作系统功能。可扩展性主要体现在以下三个方面:

3.支持多架构。目前已支持ARM64架构(双椒派、树莓派)、RISC-V架构(VisionFive2、Lotus2)开发板的镜像生成。

三、 构建工具原理
主脚本:okbuild.sh

参数配置:prop文件

系统制作:shells目录下的脚本

镜像封装功能函数:functions.sh脚本



四、 构建工具使用说明
1.获取源码
git clone https://gitee.com/openkylin/openkylin-embedded-builder.git

2.检查系统环境
安装必要的命令工具,并将okbuild.sh主脚本软链接到/usr/bin/okbuild.sh,方便后续制作镜像时使用
cd openkylin-embedded-builder ./check-env.sh

3.制作镜像
$ okbuild.sh --helpUSAGEkbuild.sh -p prop_chilliepi   # 双椒派
okbuild.sh -p prop_rpi4b       # 树莓派
okbuild.sh -p prop_vf2         # VisionFive2
okbuild.sh -p prop_lotus2     # Lotus2开发板


五、开发板烧录、启动方法
用户名: openkylin, 密码: openkylin

1.双椒派开发板
1.1 镜像烧录
sudo tar xf openKylin-1.0-chilliepi-arm64.img.tar.gz -O | sudo dd of=/dev/ status=progress
双椒派开发板上推荐使用金士顿SDCard。

1.2 启动系统
setenv bootargs console=ttyAMA1,115200 audit=0 earlycon=pl011,0x2800d000 root=/dev/mmcblk1p2 rootdelay=3 rw;setenv bootcmd 'mmc dev 1;fatload mmc 1:1 0x90000000 e2000d-chilli.dtb;fatload mmc 1:1 0x90100000 Image;booti 0x90100000 - 0x90000000;'saveenv
2.树莓派和VisionFive2开发板
2.1 镜像烧录
sudo tar xf openKylin-1.0.img.tar.gz -O | sudo dd of=/dev/<your sdcard> status=progress
2.2 启动系统
将烧录好的SDCard插入树莓派,插上电源即可启动。

3.Lotus2开发板3.1 镜像烧录
首先将SD卡分区格式化,然后将文件系统解压到SD卡即可,以SD卡设备节点为/dev/sdb 为例:
# 分区、格式化

sudo parted -s /dev/sdb mktable gpt
sudo parted -s /dev/sdb mkpart primary 1 100%
sudo mkfs.ext4 -L system /dev/sdb1
sudo mount /dev/sdb1 /mnt
# 拷贝文件系统
sudo tar xf openKylin-1.0-embedded-lotus2-riscv64.tar.gz -C /mntsync

sudo umount /mnt

# 弹出SD卡
sudo eject /dev/sdb


3.2 启动系统
Lotus2开发板没有图形显示接口,因此需要通过串口连接操作,使用双公头USB线将USB转串口与电脑连接,加电后可通过串口登录系统。

六、后续工作
Embedded SIG致力于打造openKylin嵌入式操作系统,提供常见工控总线、软实时、硬实时、虚拟化、web管理、轻量级、安全性等多种特性,繁荣openKylin系统生态。
非常感谢 Release SIG组zhangtianxiong、RISC-V SIG 组li-zhuohengq、Embedded-SIG组kylin-mayukun在开发过程中给予的帮助。后续,Embedded SIG将在以下方向继续开展工作:
欢迎感兴趣的小伙伴加入我们!

Embedded SIG主页地址:
https://gitee.com/openkylin/community/tree/master/sig/Embedded

openKylin嵌入式版本构建工具V1.0仓库地址:
https://gitee.com/openkylin/openkylin-embedded-builder






欢迎光临 openKylin论坛 (https://forum.openkylin.top/) Powered by Discuz! X3.3