OpenHarmony轻量系统开发【2】源码下载和开发环境 原创 精华

连志安
发布于 2022-1-19 18:57
浏览
3收藏

春节不停更,此文正在参加「星光计划-春节更帖活动」https://harmonyos.51cto.com/posts/9923

摘要:本文简单介绍OpenHarmony开发环境,代码下载、版本更新日志等。
适合群体:想要上手开发OpenHarmony设备

2.1源码下载

关于源码下载的,读者可以直接查看官网:
https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-lite-sourcecode-acquire.md
本文这里做下总结:

(1)注册码云gitee账号。

(2)注册码云SSH公钥,具体可以百度

(3)安装git客户端和git-lfs并配置用户信息。

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

(4)安装码云repo工具,可以执行如下命令。

curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo  

#注意,如果没有权限,可下载至其他目录,并将其配置到环境变量中

chmod a+x /usr/local/bin/repo
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests

以下是主干代码的下载方式,但是主干代码可能会不稳定,不推荐大家使用,推荐大家使用TLS版本。
OpenHarmony主干代码获取

方式一:通过repo + ssh下载(需注册公钥,请参考码云帮助中心)。

repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

方式二(个人推荐这个):通过repo + https下载。

repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

2.2 Release版本下载

OpenHarmony 3.x Releases
OpenHarmony Release Notes
目前已经到了3.1版本,即将更新3.3版本
OpenHarmony轻量系统开发【2】源码下载和开发环境-鸿蒙开发者社区

2.3开发环境

OpenHarmony的开发环境主要分为window、Linux两个。
其中window环境用于编写代码、下载程序等。
Linux环境用于代码下载、编译等。
这里推荐大家只使用Linux环境即可,Linux可以使用Ubuntu 20.04版本。关于Windows环境,大家可装可以不装,编写代码可以使用自己喜欢的IDE、下载的话,不同开发板都会提供不同的下载工具。
Ubuntu的开发环境可以参考官网:
Ubuntu的开发环境

建议直接用我搭建好的环境:
https://gitee.com/lianzhian/OpenHarmony-virtual-machine

本文也会列出来,但是后面官方可能会更新,导致本文不一定适用。
需要注意的是,关于Ubuntu的环境主要分为两部分:
(1)OpenHarmony代码所需的公共部分:这里主要是安装python、hb等,这些都是必须的。
(2)具体开发板所需的开发环境:这个跟具体芯片、开发板相关,例如对应的交叉编译器、或者制作文件系统相关的脚本组件等。这些看自己所需的芯片环境是哪些。

2.3.1 OpenHarmony开发环境

(1)将Ubuntu Shell环境修改为bash。

执行如下命令,确认输出结果为bash。如果输出结果不是bash,请根据步骤2,将Ubuntu shell修改为bash。

ls -l /bin/sh

OpenHarmony轻量系统开发【2】源码下载和开发环境-鸿蒙开发者社区
(2)打开终端工具,执行如下命令,然后选择No,将Ubuntu shell由dash修改为bash。
sudo dpkg-reconfigure dash
OpenHarmony轻量系统开发【2】源码下载和开发环境-鸿蒙开发者社区

(3)使用如下apt-get命令安装编译所需的必要的库和工具

sudo apt-get install gcc

sudo apt-get install build-essential gcc g++ make zlib* libffi-dev e2fsprogs pkg-config flex bison perl bc openssl libssl-dev libelf-dev libc6-dev-amd64 binutils binutils-dev libdwarf-dev u-boot-tools mtd-utils gcc-arm-linux-gnueabi cpio device-tree-compiler

(4)安装hb
在源码根目录下载运行如下命令安装hb

python3 -m pip install build/lite

设置环境变量

vim ~/.bashrc

将以下命令拷贝到.bashrc文件的最后一行,保存并退出。

export PATH=~/.local/bin:$PATH

执行如下命令更新环境变量。

source ~/.bashrc

执行"hb -h",界面打印以下信息即表示安装成功:

usage: hb

OHOS build system

positional arguments:
  {build,set,env,clean}
    build               Build source code
    set                 OHOS build settings
    env                 Show OHOS build env
    clean               Clean output

optional arguments:
  -h, --help            show this help message and exit

2.3.2 Hi3861开发环境

最好参考官方文档:
Hi3861开发环境
这里做下记录

(1)安装编译依赖基础软件(仅Ubuntu 20+需要)
执行以下命令进行安装:

sudo apt-get install build-essential gcc g++ make zlib* libffi-dev

(2)安装Scons
运行如下命令,安装SCons安装包。

python3 -m pip install scons

运行如下命令,查看是否安装成功。如果安装成功,查询结果下图所示。

scons -v

OpenHarmony轻量系统开发【2】源码下载和开发环境-鸿蒙开发者社区
图 1 SCons安装成功界面,版本要求3.0.4以上

(3)安装python模块
运行如下命令,安装python模块setuptools。

pip3 install setuptools

(4)安装GUI menuconfig工具(Kconfiglib),建议安装Kconfiglib 13.2.0+版本,任选如下一种方式。

命令行方式:

sudo pip3 install kconfiglib

(5)安装pycryptodome,任选如下一种方式。

安装升级文件签名依赖的Python组件包,包括:pycryptodome、six、ecdsa。安装ecdsa依赖six,请先安装six,再安装ecdsa。

命令行方式:

sudo pip3 install pycryptodome

(6)安装six,任选如下一种方式。

命令行方式:

sudo pip3 install six --upgrade --ignore-installed six

(7)安装ecdsa,任选如下一种方式。

命令行方式:

sudo pip3 install ecdsa

(8)安装gcc_riscv32(WLAN模组类编译工具链)
下载以下交叉编译工具链:
交叉编译工具链下载
请先执行以下命令将压缩包解压到根目录:

tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~
vim ~/.bashrc

将以下命令拷贝到.bashrc文件的最后一行,保存并退出。

export PATH=~/gcc_riscv32/bin:$PATH

生效环境变量。

source ~/.bashrc

Shell命令行中输入如下命令,如果能正确显示编译器版本号,表明编译器安装成功。

riscv32-unknown-elf-gcc -v

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2022-9-15 15:24:01修改
2
收藏 3
回复
举报
5条回复
按时间正序
/
按时间倒序
Hello_Kun
Hello_Kun

老师您在下载的是哪个版本源码呢? LTS? 还是beta?

 

回复
2022-3-3 22:32:40
连志安
连志安

我用master

 

回复
2022-3-4 10:49:40
Hello_Kun
Hello_Kun 回复了 连志安
我用master

恩呢!

回复
2022-3-4 20:54:01
wx6264c54882d17
wx6264c54882d17

老师龙芯1c300的源代码可以在这个环境下编译吗?

 

回复
2022-5-4 19:52:30
JoyboyCZ
JoyboyCZ

连老师,我出现了这个问题[OHOS ERROR] clang not found, install it please 

可能的解决方法:

安装ohos-build不要直接使用pip库,应该基于源码安装
pip3 install build/lite
找到两个解决方法:

修改源码:https://gitee.com/openharmony/build_lite/pulls/78
配置环境变量PATH,加入llvm/bin, ninja, gn的路径
下载ninja
https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.10.1/linux/ninja-linux-x86-1.10.1.tar.gz
下载gn
https://repo.huaweicloud.com/harmonyos/compiler/gn/latest/linux/gn-linux-x86-1717.tar.gz

llvm
https://repo.huaweicloud.com/harmonyos/compiler/clang/latest/linux/llvm.tar.gz

回复
2022-6-20 11:00:53
回复
    相关推荐