OpenHarmony—Docker编译环境

这篇具有很好参考价值的文章主要介绍了OpenHarmony—Docker编译环境。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Docker环境介绍

OpenHarmony为开发者提供了两种Docker环境,以帮助开发者快速完成复杂的开发环境准备工作。两种Docker环境及适用场景如下:

  • 独立Docker环境:适用于直接基于Ubuntu、Windows操作系统平台进行版本编译的场景。
  • 基于HPM的Docker环境:适用于使用HPM工具进行发行版编译的场景。

表1 Docker镜像介绍openharmony docker环境,服务器,linux,运维,harmonyos,华为,鸿蒙

环境准备

在使用Docker环境前,需要准备源码和一些基本工具,以Ubuntu为例,您需要执行以下步骤:

  1. 安装Docker
  2. 在Ubuntu中,可以使用下面的命令来安装Docker
    sudo apt install docker.io
  3. 其他系统的Docker安装请参考Docker指导。
  4. 1.获取OpenHarmony源码

    2.获取使用权限

    为了能够使用Docker,请使用具备root权限的用户,或已被授予Docker使用权限的用户进行后续操作。在Ubuntu系统中,通常可以通过在命令前加sudo来获取root权限。在Windows系统中,您可能需要在管理员模式下运行cmd或PowerShell。

    独立Docker环境

    Docker镜像是包含了运行环境和应用程序的轻量级、可执行的软件包,OpenHarmony的Docker镜像托管在HuaweiCloud SWR上。开发者可以通过该镜像在很大程度上简化编译前的环境配置。这一部分将引导您如何在Docker环境中配置和使用OpenHarmony,下文将介绍具体使用步骤。

    搭建Docker环境(轻量系统和小型系统)

  5. 获取Docker镜像
  6. 获取小型系统镜像的命令为:

    docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_small:3.2

    获取轻量系统镜像的命令为:

    docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_mini:3.2

    2.进入Docker构建环境

    在获取了镜像之后,您需要创建一个新的Docker容器,并进入该容器中。进入OpenHarmony源码根目录执行如下命令,从而进入Docker构建环境。

  7. Ubuntu系统

    # 进入小型系统Docker构建环境
    docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_small:3.2
    
    # 进入轻量系统Docker构建环境
    docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_mini:3.2

    Windows系统(假设源码目录为D:\OpenHarmony):

    # 进入小型系统Docker构建环境
    docker run -it -v D:\OpenHarmony:/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_small:3.2
    
    # 进入轻量系统Docker构建环境
    docker run -it -v D:\OpenHarmony:/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_mini:3.2

    说明:
    docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_small:3.2 这个命令的含义是,创建并运行一个新的OpenHarmony的Docker容器,这个容器运行在交互模式下,并且将当前目录映射到容器的/home/openharmony目录。

    编译源码(轻量系统和小型系统)

  8. 启动编译脚本
  9. 执行docker run命令进入Docker容器后(此时位于/home/openharmony路径下),您可以通过如下编译脚本启动轻量系统类设备(参考内存≥128KiB)和小型系统类设备(参考内存≥1MiB)的编译。

    python3 build.py -p {product_name}@{company}

    其中,{product_name}为当前版本支持的平台,{company}为{product_name}对应的公司名。

    举个例子,如果您要编译的产品为hisilicon下的ipcamera_hispark_taurus,您可以输入以下命令来启动编译:

    python3 build.py -p ipcamera_hispark_taurus@hisilicon

    同样,如果您要编译的产品是ohemu下的qemu_small_system_demo,那么您可以输入以下命令来启动编译:

    python3 build.py -p qemu_small_system_demo@ohemu

    2.查看编译结果

    在编译结束后,编译所生成的文件都会被存放在out/{device_name}/目录下,结果镜像输出在out/{device_name}/packages/phone/images/目录下。

    说明:
    如需退出Docker,执行exit命令即可。这个命令会停止当前的Docker容器,并返回到您的操作系统。

    搭建Docker环境(标准系统)

  10. 获取Docker镜像
  11. 在搭建标准系统的Docker环境前,我们也需要先获取对应的Docker镜像。具体的命令如下:

    docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_standard:3.2

    2.进入Docker构建环境

    与之前的步骤相同,我们需要创建一个新的Docker容器,并进入该容器中。进入openharmony源码根目录执行如下命令,从而进入Docker构建环境。

  12. Ubuntu系统
    docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_standard:3.2

    Windows系统(假设源码目录为D:\OpenHarmony)

    docker run -it -v D:\OpenHarmony:/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_standard:3.2

    编译源码(标准系统)

  13. 启动编译脚本
  14. 执行docker run命令进入Docker容器后(此时位于/home/openharmony路径下),您可以通过如下编译脚本启动标准系统类设备(参考内存≥128MB)的编译。

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

    {product_name}为当前版本支持的平台。例如,您要编译的产品是rk3568,那么您可以输入以下命令来启动编译:

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

    2.查看编译结果
    编译所生成的文件都归档在out/{device_name}/目录下,结果镜像输出在out/{device_name}/packages/phone/images/目录下。

    说明:
    如需退出Docker,执行exit命令即可。这个命令会停止当前的Docker容器,并返回到您的操作系统。

    基于HPM的Docker环境

    docker_dist是一个HPM系统中的模板组件,能够帮助用户快速初始化HPM工程,利用docker镜像来快速编译OpenHarmony发行版,在很大程度上简化了编译前的环境配置。开发者在配置好Ubuntu和hpm-cli开发环境后,可以通过以下步骤来使用我们提供的Docker环境。

    搭建Docker环境

  15. 初始化安装模板
  16. 在任意工作目录中执行以下命令

    hpm init -t @ohos/docker_dist

    2.修改publishAs

    因为获取到的是模板类型的包,要把包的类型改为需要的类型。 在当前目录下打开bundle.json文件,把"publishAs"字段的值由"template"改为"distribution"。

    获取及编译源码

    执行编译。自动安装docker只能在Ubuntu环境下执行,如果其他环境,需要用户自行安装docker,然后拉取镜像,执行编译。

  17. 自动安装docker(Ubuntu环境)
    以下命令可以帮助用户自动安装docker, 拉取镜像,并且在容器中开始运行对应解决方案的拉取和编译。
  18. 方式一:
  19. 命令后接参数指定解决方案,格式如下:
    hpm run docker solution={product}

    {product}为需编译的解决方案,如:@ohos/hispark_taurus、@ohos/hispark_aries、@ohos/hispark_pegasus。

    方式二:

    设置环境变量来选择解决方案,再执行编译命令。

  20. 选择解决方案。
    export solution={product}

    {product}为需编译的解决方案,如:@ohos/hispark_taurus、@ohos/hispark_aries、@ohos/hispark_pegasus。

  21. 获取源码及执行编译。
    hpm run docker

    以上两种方式以@ohos/hispark_taurus为例,执行成功结果如下:

    ......
    ohos ipcamera_hispark_taurus build success!
    @ohos/hispark_taurus: distribution building completed.

    自行安装docker(非Ubuntu环境)
    自行安装docker相关操作如下:文章来源地址https://www.toymoban.com/news/detail-838630.html

    # 拉取镜像 
    docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:0.0.3# linux环境下的编译 
    hpm run distWithDocker solution={product}
    # windows下的编译,需要配置gitbash 
    hpm config set shellPath "gitbash路径"
    hpm run distWithDocker solution={product}

到了这里,关于OpenHarmony—Docker编译环境的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • OpenHarmony4.0系列(一)编译环境搭建+代码上库

    1. VMware + Ubuntu20.04 + 内存8G+ + 硬盘150G+ 2. Ubuntu20.04 Server + 内存64G + 硬盘24T 3. Ubuntu20.04 + 内存16G+ + 硬盘1T 4. Windows 10 通过子系统方式安装Ubuntu20.04 四种方案,推荐方案四。 VMware下载: Vmware Workstation pro 15.5.5 清华开源镜像站: ubuntu-20.04.6-desktop-amd64.iso 开源USB启动盘制作工具: Rufus-

    2024年01月22日
    浏览(57)
  • Openharmony在RK3568X环境搭建编译及运行-快速上手

    OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目, 目标是面向全场景、全连接、全智能时代、基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展 。 针对openharmony板级开发需要准备以下环境: TB-RK3568X开发

    2023年04月19日
    浏览(93)
  • Openharmony的L0与L2系统环境搭建编译烧录

    获取源有四种方式,如下所述,常用采用方式1与方式3。以下主要讲解通过第1种方式获取的步骤和注意事项。 获取方式1:从码云代码仓库获取。通过repo或git工具从代码仓库中下载,此方式可获取最新代码。 获取方式2:通过DevEco Marketplace网站获取。访问DevEco Marketplace网站,

    2023年04月16日
    浏览(41)
  • OpenHarmony模块化编译

    OpenHarmony版本:OpenHarmony 4.0 Release 编译环境:WSL2 Ubuntu 18.04 平台设备:RK3568 OpenHarmony 代码构建有build.sh和hb两种方式: 下拉的4.0代码无法直接使用hb命令 可参考搭建开发环境-安装编译工具 进行hb安装和环境配置。 在源码目录执行\\\"hb help\\\",界面打印以下信息即表示安装成功。 注

    2024年02月03日
    浏览(43)
  • Openharmony 编译框架概述

    编译构建子系统提供了一个基于Gn和ninja的编译构建框架。根据产品配置,编译生成对应的镜像包。其中编译构建流程为 preloader-loader-gn-ninja build文件夹下的subsystem_config.json文件,主要包含子系统名称与路径信息,在preloader阶段被加载,根据子系统名称和路径信息查找该路径下

    2024年02月05日
    浏览(44)
  • 【服务器】安装Docker环境

    目录 🌺【前言】 🌼1. 打开Xshell软件 🌻2. 安装Docker环境 🌷2.1 方式一 脚本安装 Doceker安装失败解决方法 🌷2.2 方式二 宝塔安装 Docker是一种开源的容器化平台,其主要用途包括: 应用程序隔离: Docker容器将应用程序及其所有依赖项封装在一个独立的容器中,实现了应用程

    2024年01月24日
    浏览(54)
  • openharmony 编译LLVM编译器基础架构

    third_party_llvm-project: 管理员 liwentao_uiw dhy308 huanghuijin (1) 缺少依赖,一次安装好几个依赖 (2) case in的语法识别不了 实际上case in是没有问题的,主要是结尾需要改成Unix结尾

    2024年01月19日
    浏览(48)
  • 如何编译OpenHarmony自带APP

    作者:王石 概述 OpenHarmony 的主干代码是开源社区的重要学习资源,对于想进行应用开发和熟悉 OpenHarmony 能力的同学主干代码是非常重要的资源,在主干代码的 applications 目录里聚集了很多原生的应用实现,那么如何编译这些代码就是我们这篇文章的主要议题。 使用 DevEco 导

    2024年04月12日
    浏览(37)
  • OpenHarmony源码学习之编译框架

    云将东游,过扶摇之枝,而适遭鸿蒙。—《庄子·在宥》 OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代、基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。

    2024年02月01日
    浏览(48)
  • OpenHarmony源码学习之编译构建

    云将东游,过扶摇之枝,而适遭鸿蒙。—《庄子·在宥》 OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代、基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。

    2024年02月04日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包