暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Build HybridOS rootfs——添加软件包

开源操作系统百家谈 2021-07-11
728
飞漫软件发表此文章的目的是用于向开发者解释 Build HybridOS rootfs 的使用方法在未获得飞漫软件书面许可之前,任何人不得复制或者分发本文档的全部或部分内容,或利用本文档描绘的技术思路申请专利、撰写学术论文等。
本文涉及到的飞漫软件或其合作伙伴的注册商标或商标,有关其详细列表,请查阅文档末尾。

概述

本文介绍的用于构建 HybridOS rootfs 的相关脚本,其主要部分是基于 Buildroot 实现的。

建议使用最新的 Linux 长期支持版本,例如 Ubuntu Linux LTS 18.04 or 20.04 来进行构建。

构建 HybridOS rootfs中我们讲述了构建的方法,今天这篇文章讲述如何添加软件包。

添加软件包

该部分内容将介绍如何将一个新的软件包加入到 Build HybridOS rootfs 。

应用目录

首先,需要在 app/user/ 目录下建立目录,以 hybridos-lite-demo 为例,在 app/user/ 下建建名为 hybridos-lite-demo 的目录。

配置文件

创建配置文件 Config.in 以便于将新的应用加入到软件包管理体系。该配置文件使用 Kconfig 语言来描述,可以参考文件 Kconfig Language。下面以 hybridos-lite-demo 为例来说明,其配置文件内容如下:
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 文件

创建以 软件包 + .mk 命名的文件,该文件使用 Makefile 语法来描述。它主要描述了如何下载、配置、构建、安装软件包。以 hybridos-lite-demo.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 等编译工具。

加入编译菜单

编译配置文件 app/user/Config.in 使用 source 命令将新软件包的 Config.in 引入,之后就可以在 make menuconfig 菜单中看到该软件包,方法如下:
source "app/user/hybridos-lite-demo/Config.in"

至此,已经完成将软件包加入到 Build HybridOS rootfs。

HybridOS 设备侧 R2106
在最新发布的 HybridOS R2106 中,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 发布》

运行在 R818 及 PX30 上
Build HybridOS rootfs 在全志 R818 及 瑞芯 PX30 开发板上的安装说明。
R818
R818 提供两种方式,第一种方式使用完整刷机包直接刷机即可,刷机包的下载地址如下:
第二种方式使用软件包,下载地址如下:
以 HybridOS rootfs 为例说明如何运行:
  • 将设备用 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 暂时只提供软件包的方式,下载地址如下:
以 HybridOS rootfs 为例说明如何安装运行:
  • 将 px30_rootfs_hybridos.tar.gz 放到主板 userdata 目录下。
# tar zcvf px30_rootfs_hybridos.tar.gz
# cd px30_rootfs_hybridos
# . ./setup.sh
# reboot


当 PX30 开发板重新启动后,既可以看见 HybridOS 界面,并可以通过触摸屏进行操作。

源代码仓库

要尝试 Build HybridOS rootfs,请访问源代码仓库:

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

文章转载自开源操作系统百家谈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论