OpenHarmony docker环境搭建

本文详细指导如何在Ubuntu虚拟机上安装Docker,配置软件源,安装特定版本,拉取镜像,同步OpenHarmony代码,以及使用VSCode进行开发和连接镜像。还介绍了如何通过SSH远程连接和使用qemu模拟器进行开发板实验。

OpenHarmony docker环境搭建

要求一台安装ubuntu的虚拟机,vscode软件

安装docker

在 Ubuntu 上安装 Docker 非常直接。我们将会启用 Docker 软件源,导入 GPG key,并且安装软件包。

首先,更新软件包索引,并且安装必要的依赖软件,来添加一个新的 HTTPS 软件源:

sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

使用下面的 curl 导入源仓库的 GPG key:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

将 Docker APT 软件源添加到你的系统:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

现在,Docker 软件源被启用了,你可以安装软件源中任何可用的 Docker 版本。

01.想要安装 Docker 最新版本,运行下面的命令。如果你想安装指定版本,跳过这个步骤,并且跳到下一步。

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

02.想要安装指定版本,首先列出 Docker 软件源中所有可用的版本:

sudo apt update
apt list -a docker-ce

可用的 Docker 版本将会在第二列显示。

docker-ce/focal 5:19.03.93-0ubuntu-focal amd64
通过在软件包名后面添加版本=<VERSION>来安装指定版本:

sudo apt install docker-ce=<VERSION> docker-ce-cli=<VERSION> containerd.io
一旦安装完成,Docker 服务将会自动启动。你可以输入下面的命令,验证它:
sudo systemctl status docker
输出将会类似下面这样:

● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2020-05-21 14:47:34 UTC; 42s ago
...

当一个新的 Docker 发布时,你可以使用标准的sudo apt update && sudo apt upgrade流程来升级 Docker 软件包。

拉取镜像

运行 Docker 软件,打开 CMD 命令行或者 PowerShell 终端,使用指令下载
docker 官方镜像:

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

等待下载完成之后,使用 docker images 可以查看到已下载的 docker 镜像
此时镜像名称太长不方便使用,可以使用重命名操作对镜像重命名:

docker image tag swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:1.0.0 openharmony-docker:1.0.0

此时使用 docker images 再次查看镜像,发现多出一个名为
openharmony-docker:1.0.0 的镜像
可以执行

docker rmi swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:1.0.0

删除旧的镜像:
执行

docker run -it openharmony-docker:1.0.0 

指令可以运行镜像可以看到系统直接进入到了/home/openharmony,但是此时仅是容器运行成功了,还没有代码,无法完成开发,接下来需要获取代码

OpenHarmony 代码获取

通过git(不推荐,有时会卡死)

首先要设置git用户名和邮箱,否则拉去代码时会报错

git config --global user.name "Your Name"
git config --global user.email "youremail@yourdomain.com"

拉去代码

repo init -u git@gitee.com:openharmony/manifest.git -b OpenHarmony-3.2-Release -g ohos:mini
repo sync -c
repo forall -c 'git lfs pull'

通过http

repo init -u https://gitee.com/openharmony/manifest.git -b OpenHarmony-3.2-Release -g ohos:mini
repo sync -c
repo forall -c 'git lfs pull'

检验

输入hb -v如果出现版本号代表成功

Vscode 安装

开发板实验需要烧录固件,所以要用到 vscode 编辑器导出固件
到该网址下载最新版的 Visual Studio Code,简称 vscode,下载完成后执行安装. 网址: https://code.visualstudio.com/

安装 vscode 插件

打开安装好的 vscode 编辑器,点击左侧插件图标,输入 remote ssh
image.png
点击安装图标,等待安装完成,安装完成之后左侧会出现下面的图标
然后重复步骤安装入 dev contains
image.png

远程连接服务器

3、添加服务器连接配置
点击该选项卡,会进入SSH TARGETS的添加,如下图所示:

image.png

点击添加按钮,输入远程服务器的地址,账号和ip根据自己的情况进行修改,如下图所示:

image.png

保存之后,会将刚才的连接信息存储在 C:\Users\chaxun.ssh\config 中。

此时就可以在SSH TARGETS中看到添加的远程服务器地址了:

image.png

4、连接服务器
右键选择远程服务器,

如果远程服务器能够连接成功,此时会需要你输入密码:

5、基本操作

例如我点击Open Folder,这里就会让你选择打开的文件目录:

点击ok按钮打开 /home/zhaxun 之后,会需要再次输入密码:

启动和连接镜像

启动镜像的方式可以是终端命令行,如果容器已启动,可以选择 attach 连接容器
点击连接容器之后,会弹出一个新窗口,点击左侧上面第一个图标,会显示该
容器内的文件系统(需要一点缓冲时间)
如果界面同以上截图不一样,而是如下所示:
image.png
就点击打开文件夹,在上方弹出的对话框输入/home/openharmony,再点击确
定, 等待片刻就会显示出文件列表,接下来就可以像操作本地文件一样打开文件
并进行编辑,然后修改一个文件:在顶部菜单栏点击终端,再选择新建终端,可以打开终端:
注意观察弹出来的终端,工作目录是否是/home/openharmony,如果不是请检
查前面的操作是否错误或有遗漏
在终端命令行输入:hb set 指令,再输入回车,到达选择开发板的界面,用鼠标
或键盘上下键选择 qemu_mini_system_demo,再敲回车:

  1. 选择好了开发板,就可以执行构建命令:
    hb build -f
    此时系统开始构建,由于我们使用的是 docker 环境,在制作镜像的时候环境已
    经准备好了,所以不需要配置其他的脚本或者工具即可以达到编译固件的目的. 最后终端会显示编译成功,我们可以在 out 相应的目录下找到对应的固件,输
    入:ls out/arm_mps2_an386/qemu_mini_system_demo
  2. qemu 模拟器的运行
    由于模拟器的运行不涉及到具体的硬件,所以本实验不需要烧录步骤,在
    docker 控制台终端输入./qemu-run,再输入 y 就能运行 qemu 模拟器了,下面是运
    行状态的截图:
    在 qemu 的终端里可以输入 help 命令查看该模拟器支持运行哪些指令:
    同学们可以自行尝试列出来的指令
  3. 退出模拟器的运行:
    按住 Ctrl+a 然后同时放开,再按一下 x 键即可退出 qemu 终端可以看出,系统此处退出了 qemu 模拟器回到了 doc
<think>我们正在处理一个关于OpenHarmony开发环境搭建的查询。用户请求教程或指南。根据引用内容,我们有多个相关来源:[^1]提供了环境搭建的四个方面:方案制定、工作平台搭建、编译环境搭建环境验证与调试。[^2]提到了下载、安装步骤、运行HelloWorld。[^3]提到了一些技术点,但未详细描述环境搭建步骤。[^4]提到了使用docker镜像来简化环境搭建,特别是针对qemu编译和运行。由于用户明确要求教程,我们应该整合这些信息,提供一个清晰的步骤指南。注意:我们的回答需要结构化,使用中文,并遵循LaTeX格式要求(行内数学表达式用$...$,独立公式用$$...$$,但此问题可能不涉及数学公式,所以主要关注代码块和结构)。此外,我们需要在末尾生成相关问题。步骤:1.概述:简要介绍OpenHarmony开发环境搭建的主要步骤和注意事项。2.详细步骤:分步骤说明,包括环境准备、工具安装、配置、验证等。3.代码块:如果涉及命令或代码,使用代码块展示。4.引用标识:在引用参考内容的地方添加引用标识。由于引用内容比较分散,我们将整合成一个连贯的教程。注意:引用[1]是最详细的,我们可以以它为主线,结合其他引用补充。教程结构:一、确定搭建方案二、工作平台搭建三、编译环境搭建四、环境验证与调试同时,引用[2]中的运行HelloWorld可以作为验证的一部分,引用[4]中的docker方式可以作为另一种可选方案。我们开始编写回答。</think>### OpenHarmony开发环境搭建教程 OpenHarmony开发环境搭建主要包括以下四个关键步骤,遵循**最小可行原则**选择适合开发场景的方案[^1]: #### 一、环境搭建方案选择 1. **设备开发**:需要交叉编译工具链(如ARM/Linux) 2. **应用开发**:使用JS/ArkTS语言,需IDE支持 3. **模拟器开发**:需QEMU虚拟环境(参考Docker方案[^4]) #### 二、工作平台搭建 1. **操作系统**:Ubuntu 20.04+(推荐)或Windows 10 2. **必备工具**: ```bash # Ubuntu示例 sudo apt install git python3.8 make gcc g++ flex bison ``` 3. **开发工具**:安装DevEco Studio([官网下载](https://gitee.com/openharmony/docs)) #### 三、编译环境搭建(最核心环节) 1. **获取源码**: ```bash repo init -u https://gitee.com/openharmony/manifest.git -b master repo sync -c ``` 2. **安装依赖**: ```bash ./build/prebuilts_download.sh # 下载预编译工具链 ``` 3. **配置环境变量**: ```bash export PATH=~/OpenHarmony/prebuilts/build-tools/linux-x86/bin:$PATH ``` #### 四、环境验证与调试 1. **编译标准系统**: ```bash ./build.sh --product-name Hi3516DV300 # 海思开发板示例 ``` 2. **烧录固件**: - 使用HiTool工具通过USB烧录(设备开发) 3. **运行Hello World**: ```typescript // ArkTS示例 @Entry @Component struct HelloWorld { build() { Text("Hello OpenHarmony").fontSize(50) } } ``` 4. **QEMU模拟器验证**(参考Docker方案[^4]): ```bash docker run -it openharmony-demo /bin/bash qemu-system-arm -kernel zImage ``` > **关键提示**:编译环境对Python版本(需3.8+)、RAM(建议16GB+)和存储空间(建议100GB+)有严格要求,可参考官方[环境检查工具](https://repo.harmonyos.com/#/cn/home)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

过去日记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值