概述
本文介绍的用于构建 HybridOS rootfs 的相关脚本,其主要部分是基于 Buildroot 实现的。
建议使用最新的 Linux 长期支持版本,例如 Ubuntu Linux LTS 18.04 or 20.04 来进行构建。
在《构建 HybridOS rootfs》中我们讲述了构建的方法,今天这篇文章讲述如何添加软件包。
添加软件包
该部分内容将介绍如何将一个新的软件包加入到 Build HybridOS rootfs 。
应用目录
配置文件
config BR2_PACKAGE_HYBRIDOS_LITE_DEMO
bool "HybridOS lite samples (556 KB)"
select BR2_PACKAGE_MINIGUI
select BR2_PACKAGE_MGPLUS
select BR2_PACKAGE_MGEFF
select BR2_PACKAGE_HIDRMDRIVERS
select BR2_PACKAGE_HICAIRO
select BR2_PACKAGE_HIBOX
select BR2_PACKAGE_HIBUS
select BR2_PACKAGE_HIDOMLAYOUT
select BR2_PACKAGE_HISVG
select BR2_PACKAGE_LIBGLIB2
help
The sample codes are for HybridOS Lite version,
mginit and some samples are inclusive.
It illustrates how to build an entire project, which runs in HybridOS Lite.
https://gitlab.fmsoft.cn/hybridos/hybridos-lite
config XXX : 定义唯一标识,用于标识一个软件包,一般使用 BR2_PACKAGE_ + 软件包名大写 组成,用下划线连接。 bool XXX : 表示这是一个可选包,XXX 是提示信息,在 make menuconfig 里显示为菜单选项。
select XXX : 表示如果选中当前包,则会自动选中 XXX 包。
help XXX : 帮助信息,在 make menuconfig 时,使用 ? 可以显示该信息。
.mk 文件
HYBRIDOS_LITE_DEMO_SITE = https://gitlab.fmsoft.cn/hybridos/hybridos-lite
HYBRIDOS_LITE_DEMO_VERSION = 654478f97a699b1fd0a4985f09b1b14018fbd291
HYBRIDOS_LITE_DEMO_SITE_METHOD = git
HYBRIDOS_LITE_DEMO_INSTALL_STAGING = YES
HYBRIDOS_LITE_DEMO_DEPENDENCIES = libglib2 minigui mgeff hicairo hicairo hisvg
$(eval $(cmake-package))
HYBRIDOS_LITE_DEMO_SITE : 源码的下载地址。 HYBRIDOS_LITE_DEMO_VERSION : 版本信息,对于 git 来说,这里可以使用 tag name 或者 commit。
HYBRIDOS_LITE_DEMO_SITE_METHOD : 源码获取方式,支持多种方式: wget, scp, svn, cvs, git, hg, bzr, file, local。
HYBRIDOS_LITE_DEMO_INSTALL_STAGING: 是否安装到 staging 目录,如果该软件包会被别的软件包依赖,比如头文件,则该选项需要为 YES。
HYBRIDOS_LITE_DEMO_DEPENDENCIES : 配置依赖包,系统保证依赖包优先编译。
$(eval $(cmake-package)) : 表示该软件包使用 cmake 进行编译。支持 autotools, cmake, python, meson 等编译工具。
加入编译菜单
source "app/user/hybridos-lite-demo/Config.in"
至此,已经完成将软件包加入到 Build HybridOS rootfs。
使用 Build HybridOS rootfs 构建 Build HybridOS rootfs 增加了 build 目录,用于存放相关构建脚本。 Build HybridOS rootfs 增加了 lunch 命令,用于列出支持的构建目标菜单,便于选择。 Build HybridOS rootfs 移除了 Buildroot 中不需要的软件包。 Build HybridOS rootfs 重新组织了 make menuconfig 主菜单。 支持 全志 R818 开发板。 支持 瑞芯微 PX30 开发板。
更多有关 HybridOS 设备侧 R2106 信息,可以阅读《HybridOS 设备端 R2106 发布》。
将设备用 usb 连接到 PC 上。 在 PC 终端使用 adb 命令将 HybridOS R818 软件包推送到设备上 /mnt/UDISK 目录。
$ adb push r818_rootfs_hybridos.tar.gz /mnt/UDISK/
在PC终端使用adb命令打开设备的控制台。
$ adb shell
root@TinaLinux:/#
在设备控制台执行以下命令进行安装和运行。
root@TinaLinux:/# cd /mnt/UDISK
root@TinaLinux:/mnt/UDISK# tar zxvf r818_rootfs_hybridos.tar.gz # 解压后会看到一个rootfs目录
root@TinaLinux:/mnt/UDISK# cd rootfs
root@TinaLinux:/mnt/UDISK/sysroot# . ./run.sh # 运行
PX30
将 px30_rootfs_hybridos.tar.gz 放到主板 userdata 目录下。
# tar zcvf px30_rootfs_hybridos.tar.gz
# cd px30_rootfs_hybridos
# . ./setup.sh
# reboot
源代码仓库
https://gitlab.fmsoft.cn/hybridos/build-hybridos-rootfs
附:商标声明
1. 飛漫

2. FMSoft

3. 合璧


4. HybridOS

5. HybridRun

6. MiniGUI

7. xGUI

8. miniStudio

9. HVML

10. 呼噜猫

11. Purring Cat





