news 2026/8/4 20:44:38

OpenHarmony 标准/小型/轻量 系统编译

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OpenHarmony 标准/小型/轻量 系统编译

云将东游,过扶摇之枝,而适遭鸿蒙。—《庄子·在宥》

本文详细介绍了OpenHarmony 标准(standard/L2)、小型(small/L1)、轻量(mini/L0) 系统代码下载及编译方法。

1.编译环境要求

  • 编译环境需要Ubuntu18.04及以上版本。笔者环境为WSL2 + Ubuntu20.04。

2.代码下载

2.1最新代码下载(最新代码已切到gitcode,建议按照2.2章节下载)

  • 官方路径:https://gitee.com/openharmony,进入以后在公告栏有最新版本路径,例如:“社区已于2025-01-22发布OpenHarmony-v5.0.2-Release版本, 详情请参考https://gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/OpenHarmony-v5.0.2-release.md”。

  • 进入最新版本路径“https://gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/OpenHarmony-v5.0.2-release.md”按照指示下载代码。

  • 建议选择 通过repo获取->方式一(推荐)->从版本发布Tag节点获取源码。可获取与版本发布时完全一致的源码。如下图:

2.2历史归档代码下载

  • 路径:https://gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/Readme.md
    选择对应版本点击进入详细信息,并下载代码
  • 建议选择 通过repo获取->方式一(推荐)->从版本发布Tag节点获取源码。可获取与版本发布时完全一致的源码。如下图:

3.代码编译

进入源代码目录执行下面命令下载编译工具链,编译 标准/小型/轻量 都需要执行。

bashbuild/prebuilts_download.sh --skip-ssl

3.1标准系统编译

3.1.1安装命令:
apt-getupdate-yapt-getinstall-y# 如果是ubuntu20.04系统请直接安装python3.9,如果是ubuntu18.04请改为安装python3.8apt-getinstall-yapt-utils binutils bison flexbcbuild-essentialmakemtd-utils gcc-arm-linux-gnueabi u-boot-tools python3.9 python3-pipgitzipunzipcurlwgetgcc g++ ruby dosfstoolsmtoolsdefault-jre default-jdk scons python3-distutils perl openssl libssl-dev cpio git-lfs m4 ccache zlib1g-devtarrsyncliblz4-tool genext2fs binutils-dev device-tree-compiler e2fsprogs git-core gnupg gnutls-bin gperf lib32ncurses5-dev libffi-dev zlib* libelf-dev libx11-dev libgl1-mesa-dev lib32z1-dev xsltproc x11proto-core-dev libc6-dev-i386 libxml2-dev lib32z-dev libdwarf-devapt-getinstall-ygrsync xxd libglib2.0-dev libpixman-1-dev kmod jfsutils reiserfsprogs xfsprogs squashfs-tools pcmciautilsquotappp libtinfo-dev libtinfo5 libncurses5 libncurses5-dev libncursesw5 libstdc++6 gcc-arm-none-eabivimsshlocales doxygenapt-getinstall-ylibxinerama-dev libxcursor-dev libxrandr-dev libxi-dev# python需要安装以下模块pip3install--trusted-host https://repo.huaweicloud.com-ihttps://repo.huaweicloud.com/repository/pypi/simple requests setuptools pymongo kconfiglib pycryptodome ecdsa ohos-build pyyamlprompt_toolkit==1.0.14 redis json2html yagmail python-jenkins pip3installesdk-obs-python --trusted-host pypi.org pip3installsix--upgrade--ignore-installed six# 安装nodejs npmapt-getinstall-ynodejsnpm# 如果提示node版本不够,可以按照下面安装指定版本curl-o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh|bashsource~/.bashrc nvm list-remote nvminstallv20.16.0

详见:https://docs.openharmony.cn/pages/v5.0/zh-cn/device-dev/subsystems/subsys-build-all.md

3.1.2执行编译命令

./build.sh --product-name {product_name} --ccache

./build.sh --product-name rk3568--ccache

3.2小型/轻量系统编译

3.2.1安装命令:
apt-getupdate-yapt-getinstall-y# 如果是ubuntu20.04系统请直接安装python3.9,如果是ubuntu18.04请改为安装python3.8apt-getinstall-yapt-utils binutils bison flexbcbuild-essentialmakemtd-utils gcc-arm-linux-gnueabi u-boot-tools python3.9 python3-pipgitzipunzipcurlwgetgcc g++ ruby dosfstoolsmtoolsdefault-jre default-jdk scons python3-distutils perl openssl libssl-dev cpio git-lfs m4 ccache zlib1g-devtarrsyncliblz4-tool genext2fs binutils-dev device-tree-compiler e2fsprogs git-core gnupg gnutls-bin gperf lib32ncurses5-dev libffi-dev zlib* libelf-dev libx11-dev libgl1-mesa-dev lib32z1-dev xsltproc x11proto-core-dev libc6-dev-i386 libxml2-dev lib32z-dev libdwarf-devapt-getinstall-ygrsync xxd libglib2.0-dev libpixman-1-dev kmod jfsutils reiserfsprogs xfsprogs squashfs-tools pcmciautilsquotappp libtinfo-dev libtinfo5 libncurses5 libncurses5-dev libncursesw5 libstdc++6 gcc-arm-none-eabivimsshlocales doxygenapt-getinstall-ylibxinerama-dev libxcursor-dev libxrandr-dev libxi-dev# python需要安装以下模块pip3install--trusted-host https://repo.huaweicloud.com-ihttps://repo.huaweicloud.com/repository/pypi/simple requests setuptools pymongo kconfiglib pycryptodome ecdsa ohos-build pyyamlprompt_toolkit==1.0.14 redis json2html yagmail python-jenkins pip3installesdk-obs-python --trusted-host pypi.org pip3installsix--upgrade--ignore-installed six# 安装nodejs npmapt-getinstall-ynodejsnpm# 如果提示node版本不够,可以按照下面安装指定版本curl-o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh|bashsource~/.bashrc nvm list-remote nvminstallv20.16.0

详见:https://docs.openharmony.cn/pages/v5.0/zh-cn/device-dev/subsystems/subsys-build-all.md

3.2.2安装hb工具:
  • OH3.2 安装:
python3-mpipinstall--userohos-build==0.4.6
  • OH4.x/5.x 安装:
python3-mpipinstall--userbuild/hb

备注:需要在源码根目录执行python3 -m pip install --user build/hb

3.2.3执行编译命令

hb set选择编译目标,通过上下箭头进行选择。

hbset


选择mini系统中->wifiiot_hispark_pegasus目标,如下图:

回车选中对应编译目标,如下图:

hb build 编译产品、开发板或者部件

hb build

本例中 mini系统中wifiiot_hispark_pegasus为Hi3861芯片,Hi3861为risc-v内核,需要安装risc-v编译环境,通常上述编译会报错误“[OHOS ERROR] ccache: error: Could not find compiler “riscv32-unknown-elf-gcc” in PATH”。解决办法详见:https://docs.openharmony.cn/pages/v4.1/zh-cn/device-dev/quick-start/quickstart-pkg-3861-tool.md

3.2.4采用build.sh编译轻量和小型系统

轻量和小型系统也可以使用build.sh进行编译,最终也是调用hb进行编译,但采用build.sh没有下拉选择项,需要输入正确的product name。

  • 轻量系统wifiiot_hispark_pegasus编译命令
./build.sh --product-name wifiiot_hispark_pegasus--ccache--no-prebuilt-sdk
  • 小型系统ipcamera_hispark_taurus_linux编译命令
./build.sh --product-name ipcamera_hispark_taurus_linux--ccache--no-prebuilt-sdk

附录一:hb工具使用说明:

hb set:设置要编译的产品 hb env:查看当前设置信息 hb clean:清除 out 目录对应产品的编译产物,仅保留 args.gn、build.log hb build:编译产品、开发板或者部件 hb build 后无参数,会按照设置好的代码路径、产品进行编译,编译选项使用与之前保持一致。-f 选项将删除当前产品所有编译产品,等同于 hb clean + hb build。 hb build{component_name},基于设置好的产品对应的单板、内核,单独编译组件,例如:hb build kv_store。 hb build-pipcamera@hisilicon,免set编译产品,该命令可以跳过set步骤,直接编译产品。

附录二:编译成功log如下:

[OHOS INFO]---------------------------------------------[OHOS INFO]end hpmcommand[OHOS INFO]start run hpmcommand[OHOS INFO]end hpmcommand[OHOS INFO]start run hpmcommand[OHOS INFO]unrecognized ninja log format, we need# ninja log v5[OHOS INFO][OHOS INFO]end hpmcommand[OHOS INFO]start run hpmcommand[OHOS INFO]c targets overlap rate statistics[OHOS INFO]subsystem files NO. percentage builds NO. percentage overlap rate[OHOS INFO]commonlibrary10.1%10.1%1.00[OHOS INFO]communication28738.4%28738.4%1.00[OHOS INFO]developtools60.8%60.8%1.00[OHOS INFO]hiviewdfx172.3%172.3%1.00[OHOS INFO]security19526.1%19526.1%1.00[OHOS INFO]startup263.5%263.5%1.00[OHOS INFO]systemabilitymgr152.0%152.0%1.00[OHOS INFO]test304.0%304.0%1.00[OHOS INFO]thirdparty14519.4%14519.4%1.00[OHOS INFO]updater40.5%40.5%1.00[OHOS INFO]xts304.0%304.0%1.00[OHOS INFO][OHOS INFO]c overall build overlap rate:1.00[OHOS INFO][OHOS INFO][OHOS INFO]end hpmcommand[OHOS INFO]wifiiot_hispark_pegasus build success[OHOS INFO]Cost Time:0:00:37
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/4 20:43:51

OnPostRender事件:渲染谢幕后的“最后回眸“

引子:一场演出的谢幕时刻 想象一场盛大的音乐会。 灯光渐暗,最后一个音符消散在空气中。 掌声雷动。 演奏家鞠躬致谢——这是演出的正式结束。 但——故事还没完全结束。 在观众离场之前,还有一些"幕后动作"要完成: 指挥拍拍首席小提琴的肩膀:“这段拉得漂…

作者头像 李华
网站建设 2026/8/4 20:41:59

自托管 Grist 关系电子表格,Docker 容器部署全过程记录

【Docker项目实战】使用Docker部署Grist关系型电子表格工具一、Grist介绍1.1 Grist简介1.2 主要特点二、本次实践规划2.1 本地环境规划2.2 本次实践介绍三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本四、下载Grist镜像五、部署Grist应…

作者头像 李华
网站建设 2026/8/4 20:33:44

YOLOv11改进 | 主干/Backbone篇 | 大核心卷积UniRepLknet目标检测网络(适配yolov11全系列轻量化)

开始讲解之前推荐一下我的专栏,本专栏的内容支持(分类、检测、分割、追踪、关键点检测),专栏目前为限时折扣,欢迎大家订阅本专栏,本专栏每周更新3-5篇最新机制,更有包含我所有改进的文件和交流群提供给大家。 一、本文介绍 本文给大家带来的改进机制是特征提取网络UniRep…

作者头像 李华
网站建设 2026/8/4 20:32:39

config/cronotab.rb终极配置指南:掌握Rails定时任务调度语法

config/cronotab.rb终极配置指南:掌握Rails定时任务调度语法 【免费下载链接】crono A time-based background job scheduler daemon (just like Cron) for Rails 项目地址: https://gitcode.com/gh_mirrors/cr/crono Crono是一款专为Rails设计的基于时间的后…

作者头像 李华
网站建设 2026/8/4 20:32:20

如何快速掌握AKShare:面向金融数据获取的完整指南

如何快速掌握AKShare:面向金融数据获取的完整指南 【免费下载链接】akshare AKShare is an elegant and simple financial data interface library for Python, built for human beings! 开源财经数据接口库 项目地址: https://gitcode.com/gh_mirrors/aks/akshar…

作者头像 李华
网站建设 2026/8/4 20:32:02

GitHub Brasil Meetup完全指南:如何参与并从中获益

GitHub Brasil Meetup完全指南:如何参与并从中获益 【免费下载链接】brasil Recursos e informaes do GitHub para a comunidade tech do Brasil. 项目地址: https://gitcode.com/gh_mirrors/br/brasil GitHub Brasil Meetup是由巴西开发者为本地技术社区打造…

作者头像 李华