[OpenHarmony5.0][Docker][环境]OpenHarmony5.0 Docker编译环境镜像下载以及使用方式

embedded/2024/11/25 8:27:47/

0. 制作过程

如果你想知道这个镜像是如何制作的,请看下面的教程,如果你只想拿到镜像。那就往下看就好了

链接:

1. 获取源码

源码下载请参考:OHOS_5.0中的[源码下载]章节,建议使用镜像站点下载。

image-20241123223700213

2. 获取镜像

云盘上下载我封装好的Docker包

链接:https://www.alipan.com/s/4LMB32qsPWC

3. 导入镜像

Docker的安装请参照其他教程,较为简单,这里不再赘述

sudo docker import ohos_5.0_v0.2.docker <your own new image name>

4. 运行容器

启动的时候要顺便把源码通过Volume映射到Ubuntu里面

下面的-v内容一定要特别注意!!!

你的映射必须要到源码的上一级目录,把源码再加一层文件夹,也就是说你要映射为如下结构!!!

OHOS_5/(应该映射的是这一层,也就是`-v`参数后面写的东西,映射到Docker里也应该是这个层级)├── OHS_5 (源码真正存放的目录)├── openharmony_prebuilts (如果你是repo同步源码,这个东西后面才会有)
sudo docker run --name ohos_5_v0.1 -ti -v /home/vernon/OpenHarmony-v5.0.0-Release:/mnt/OHOS_5 -p 10022:22 ohos_5_v0.1 /bin/bash

5. 切换用户(重要)

su taxue

超级用户密码是123456

后续的工作请务必使用这个普通用户,每次进入容器之前,都要切换到这个用户!!!

6. 准备编译

6.1 clean

执行一次clean

hb clean

6.2 预编译工具

需要为你的下载的源码重新过一下编译工具

bash build/prebuilts_download.sh

6.3 拉取最新源码

如果你在获取源码的时候就是使用的repo,那么你可以跳过本节。

配置git,git-lfs

sudo apt install git git-lfs

配置用户信息

git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper store

拉取代码

repo sync -c

6.3 设置编译目标

hb set

这里我选择的是RK3568,对应DAYU200的板子

image-20241121182126875

6.4 开始编译

hb build

编译结果:

F. 参考

200的板子

[外链图片转存中…(img-OxUw5uHo-1732462233108)]

6.4 开始编译

hb build

编译结果:

F. 参考

https://blog.csdn.net/zedelei/article/details/90208183


http://www.ppmy.cn/embedded/140339.html

相关文章

C++设计模式之工厂模式

动机 在软件系统中&#xff0c;经常面临着创建对象的工作&#xff1b;由于需求的变化&#xff0c;需要创建的对象的具体类型经常变化。 如何应对这种变化&#xff1f;如何绕过常规的对象创建方法&#xff08;new&#xff09;&#xff0c;提供一种封装机制来避免客户程序和这种…

Vue前端进阶面试题目(二)

虛拟 DOM 的解析过程是怎样的? 虚拟DOM&#xff08;Virtual DOM&#xff09;是Vue等现代前端框架为了提高页面渲染性能而采用的一种技术。其解析过程大致如下&#xff1a; 创建虚拟DOM树&#xff1a;当应用的状态发生变化时&#xff0c;会生成一个新的虚拟DOM树&#xff0c;…

Unity ShaderLab --- 实现局部透明

首先准备一张局部透明度的贴图 实现局部透明原理&#xff1a; 采样准备好的贴图&#xff0c;在片元着色中&#xff0c;将返回颜色的a值乘上采样后的a值 代码&#xff1a; fixed4 frag (v2f i) : SV_Target{fixed4 col i.color;col.a * tex2D(_MainTex, i.texcoord).a;return…

=computed() =ref()

computed() ref() 在 Vue 中&#xff0c;computed() 和 ref() 是 Vue 3 组合式 API 的核心工具&#xff0c;它们分别用于 计算属性 和 响应式数据。以下是它们的区别和用法&#xff1a; 1. ref() 作用 用于创建响应式的单一数据。可以是基本类型&#xff08;如字符串、数字、…

RocketMQ 消息示例-延迟消息

生产者在确定一定时间间隔之后&#xff0c;这个消息才会被发送。其实也就是不会马上将消息发送出去&#xff0c;希望过一段时间以后再发送出去。 生产者在发送message的时候设置了一个延迟时间的等级&#xff0c;这里的3描述的是时间延迟的等级。这个消息会被延迟10s的时间 mes…

LeetCode-632. Smallest Range Covering Elements from K Lists [C++][Java]

目录 题目描述 解题思路 【C】 【Java】 LeetCode-632. Smallest Range Covering Elements from K Listshttps://leetcode.com/problems/smallest-range-covering-elements-from-k-lists/description/ 题目描述 You have k lists of sorted integers in non-decreasing o…

Vscode进行Java开发环境搭建

Vscode进行Java开发环境搭建 搭建Java开发环境(Windows)1.Jdk安装2.VsCode安装3.Java插件4.安装 Spring 插件5.安装 Mybatis 插件5.安装Maven环境6.Jrebel插件7.IntelliJ IDEA Keybindings8. 收尾 VS Code&#xff08;Visual Studio Code&#xff09;是由微软开发的一款免费、开…

STM32完全学习——使用标准库完成PWM输出

一、TIM2初始化 我这里使用的是STM32F407ZGT6这个芯片&#xff0c;我这里使用的是定时器TIM2来完成PWM输出&#xff0c;由于这里没有使用中断&#xff0c;因此不需要初始化NVIC&#xff0c;下面先来进行定时器的相关初始化 TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;R…