根据官方资料,Linux编译服务器有3种方式:虚拟机、云服务器和PC服务器,Linux开发这一块一直使用的X86平台的纯Linux环境,所以这次测评也使用这种方式,至于虚拟机,有时间会搭一个Linux编译环境出来。
目前使用的Linux环境为ubuntu18.04,python3.7.5,因此只需再安装小熊派编译所必须的相关软件即可。
根据官方资料的说明,先准备好Linux编译服务器和windows烧写环境所必须的软件。
Linux编译服务器所需的软件如下:
1、执行编译脚本工具 python3.7+
下载地址:https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz
Python官网下载软件较慢,可从国内镜像服务器直接下载安装,具体方法后面会提及。
2、产生ninja编译脚本工具 gn
下载地址:https://repo.huaweicloud.com/harmonyos/compiler/gn/1523/linux/gn.1523.tar
3、执行ninja编译脚本工具 ninja
下载地址:https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar
4、编译工具链 gcc_riscv32
下载地址:https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-34042/linux/ gcc_riscv32-linux-7.3.0.tar
Windows开发工具:
1、USB转串口驱动
下载地址:http://www.wch.cn/search?q=ch340g&t=downloads
文件名是ch341ser.exe
2、镜像文件烧写工具 hiburn
3、串口终端
使用的还是传统的超级终端。
上述软件除了可以去官网下载外,小熊派还提供了百度网盘的下载,也很方便。
所需的软件准备好之后,接下来就是安装软件,搭建开发环境。Windows环境相对比较简单,hiburn不用安装,可以直接使用。USB转串口驱动需要安装,在上一篇文章已有提及。
安装Linux编译服务器其实也很简单,可以直接在现有的用户下安装,也可以新建一个专门的用户来操作。
1、将Linux shell改为bash
ubuntu18.04缺省shell为dash,必须改为bash,否则编译要出错。
改为bash的方法:
sudo rm –rf /bin/sh
sudo ln –s /bin/bash /bin/sh
2、安装python环境
官方资料给出的建议是python安装3.7以上版本,我的系统里已经安装了3.7.5版本,所以这一步可以省略。(Ubuntu18.04缺省安装的python版本是3.6.9。)
安装需要的几个模块:setuptools、Kconfiglib、pycryptodome、six、ecdsa。
可以使用百度的镜像服务器来快速安装,方法如下:
pip3 install setuptools –i https://mirror.baidu.com/pypi/simple
pip3 install kconfiglib –i https://mirror.baidu.com/pypi/simple
pip3 install pycryptodome –i https://mirror.baidu.com/pypi/simple
pip3 install six –i https://mirror.baidu.com/pypi/simple
pip3 install ecdsa –i https://mirror.baidu.com/pypi/simple
这样安装的另一个好处是系统自动下载安装相匹配的版本。
3、安装编译工具环境
使用下面的命令,将前面下载的编译环境包解压到当前用户目录下:
tar –xvf gn.1523.tar –C ~/
tar –xvf ninja.1.9.0.tar –C ~/
tar –xvf gcc_riscv32-linux-7.3.0.tar –C ~/
修改环境变量:
vi ~/.bashrc
在文件最后加入以下各行:
export PATH=~/gn:$PATH
export PATH=~/ninja:$PATH
export PATH=~/gcc_riscv32/bin:$PATH
生效环境变量:
source ~/.bashrc
4、安装scons
从官网下载scons软件包,下载地址:
https://scons.org/pages/download.html
我下载的是最新稳定版本4.0.1,把这个源码包解压到任意目录,然后使用下面的命令安装即可:
sudo python3 setup.py install
查看是否安装成功可以使用命令 scons -v 来检查。
5、安装源码包
先从以下地址下载源码包bearpi-hm_nano-master
https://gitee.com/bearpi/bearpi-hm_nano
解压到当前用户目录下:
unzip bearpi-hm_nano-master
注意:从代码仓库压缩下载的是zip格式,因此在ubuntu下解压要用unzip命令,如果没有的话可以安装一下相应的软件包。
最后一步,源码包编译。
输入以下命令:
python3 build.py BearPi-HM_Nano
很不幸,最后一步还是出问题了:
赶快使用万能的internet,一查才知道,国产某rtos编译的时候也遇到过同样的编译错误,解决方法是删除项目根目录下的.sconsign.dblite文件,通过find命令一查找,在~/vendor/hisi/hi3861/hi3861目录下还真有这个隐藏文件,果断删除,再次编译,OK了!
在out/BearPi-HM_Nano目录下会有编译生成的所有烧写调试文件:
那这个挖坑的文件哪来的呢?windows下查看下载的源码包,同样的目录下还真有这货:
请问小熊派的工程师,是发布前漏删了这货?