03-设备开发
1. 环境搭建
安装Ubuntu,推荐使用20.04版本。用户名不能包含中文。
1.1 改sh为bash
1ls -l /bin/sh #如果显示为“/bin/sh -> bash”则为正常,否则请按以下方式修改:
2sudo dpkg-reconfigure dash #然后选择no
1.2、安装OpenHarmony依赖包
11. sudo apt-get update && sudo apt-get install binutils git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3.8 python3-pip ruby openjdk-8-jdk python3-distutils dosfstools mtools libssl-dev libelf-dev genext2fs
22. pip3 install setuptools kconfiglib
3
4#安装编译hi3861需要的pip包
51. pip3 install scons ecdsa pycryptodome
62. pip3 install --upgrade --ignore-installed six
7
8具体所需要的依赖包详细网址可以参考:https://repo.huaweicloud.com/harmonyos/os/2.0/tool_chain/Standard_System.md
1.3、安装python3.8和pip
11. which python3.8 #查看python3.8的安装位置
2输出: /usr/bin/python3.8 #比如我的安装目录
32. cd /usr/bin #进入python的目录
43. sudo rm python #删除python
54. sudo ln -s /usr/bin/python3.8 python #将python链接到python3.8
65. python --version
7
8OpenHarmony源码一般推荐的编译的环境是ubuntu18.04版本,主要原因是 Ubuntu20.04后,系统动态库版本更新更名。PyTorch 在引入时调用动态库找不到对应的库进而报错。解决方案是设置一个软连接,让系统在查找低版本动态库时,自动打开高版本动态库。操作如下。
9
10首先输入下面命令查询当前动态库版本。根据找不到的动态库名自行更改。
11
121. ls /lib/x86_64-linux-gnu/libtinfo.so.*
132. /lib/x86_64-linux-gnu/libtinfo.so.6 /lib/x86_64-linux-gnu/libtinfo.so.6.2
14
15可以看到我们 Ubuntu 20.04 的系统上只有 6 这个版本,而 python 在查找 5 当然找不到。我们设置一个 5 到 6 的软连接即可。
16
173. sudo ln -s /lib/x86_64-linux-gnu/libtinfo.so.6 /lib/x86_64-linux-gnu/libtinfo.so.5
184. sudo apt-get install -y libncursesw5
注意:如果pip下载慢,配置pip包下载源,加速国内安装pip包:
11. mkdir~/.pip/
22. vim ~/.pip/pip.conf
3#输入以下内容,改变默认下载的网址
4[global]
5index-url = https://mirrors.huaweicloud.com/repository/pypi/simple
6trusted-host = mirrors.huaweicloud.com
7timeout = 120
2. 下载源码
Ubuntu环境搭建完成之后开始在码云下载源代码(注册码云账号)。
2.1 配置git
1git config --global user.name "XXXXXXX" #填写自己的用户名称
2git config --global user.email "XXXXXX" #填写自己的用邮箱
3git config --global credential.helper store
4git config --list #查看git配置是否无误
2.2 生成/添加SSH公钥
1ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
2cat ~/.ssh/id_ rsa.pub
2.3 安装码云repo工具
1curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo #如果没有权限,可以用 sudo -i 切换到root,安装完成后在切换回去
2chmod a+x /usr/local/bin/repo #设置repo文件 a+x就是全部用户可执行
3pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
源码获取
1repo init -u https://gitee.com/robots778/manifest -b refs/tags/OpenHarmony-v5.0.0-Release_3568HA --no-repo-verify
2repo sync -c
3repo forall -c 'git lfs pull'
3. 编译源码
3.1 执行prebuilts
1bash build/prebuilts_download.sh
2# 如果出现ssl校验失败,可以加上 --skip-ss
3./build/prebuilts_download.sh --skip-ssl
3.2 编译
1./build.sh --product-name rk3568 --ccache