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