第一次接触Linux系统,就是基于X86平台的,无论是最早的嵌入式Linux系统裁减、定制,还是后来的ARM平台的开发,都是使用的纯Linux开发环境,从Fedora到ubuntu,莫不如此。所以对窗口环境的虚拟机系统从未使用过。如无例外,今后基于鸿蒙OS的开发也会一直使用X86平台的纯Linux环境。
目前使用的Linux环境为ubuntu18.04,python3.7.5,因此只需再安装鸿蒙OS开发系统所必须的相关软件即可。至于ubuntu18.04如何安装,网上有太多教程,在此略过。
根据鸿蒙OS官网的说明,先准备好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、编译工具链 LLVM
下载地址:https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar
5、驱动配置编译工具 hc-gen
下载地址:https://repo.huaweicloud.com/harmonyos/compiler/hc-gen/0.65/linux/hc-gen-0.65-linux.tar
Windows开发工具:
1、去润和官网下载USB转串口驱动,套件中有1根USB转串口的线,必须安装驱动才可使用。
下载地址:http://www.hihope.org/download/AllDocuments
文件名是USB-to-Serial Comm Port.exe
2、镜像文件烧写工具 HiTool
下载地址:http://www.hihope.org/download/AllDocuments
下载这个软件需要一个什么码,可以问发烧友社区工作人员拿,我的软件直接是群友共享的。
3、串口中断
我使用的是传统的超级终端,根据各人喜好,可以使用不同的串口终端软件。
所需的软件准备好之后,接下来就是安装软件,搭建开发环境。Windows环境相对比较简单,HiTool不用安装,可以解压直接使用。USB转串口驱动需要安装,也是非常简单的。再安装顺手的串口终端软件就可以了。其实HiTool里也自带了串口终端功能,下一篇文章会提及。
安装编译基础环境其实也很简单,可以直接在现有的用户下安装,也可以新建一个专门的用户来操作。
1、将Linux shell改为bash
这一步必须要做,本人因为忽略了这点,走了一点弯路,后来才查出问题出在这里。ubuntu18.04缺省shell为dash,不能正确编译鸿蒙OS系统,出现的错误如下:
改为bash的方法:
sudo rm –rf /bin/sh
sudo ln –s /bin/bash /bin/sh
2、安装python环境
鸿蒙OS官方给出的建议是python安装3.7以上版本,我的系统里已经安装了3.7.5版本,所以这一步可以省略。Ubuntu18.04缺省安装的python版本是3.6.9。
安装需要的2个模块:setuptools和Kconfiglib。
可以使用百度的镜像服务器来快速安装,方法如下:
pip3install setuptools –i https://mirror.baidu.com/pypi/simple
pip3 install kconfiglib –i https://mirror.baidu.com/pypi/simple
这样安装的另一个好处是系统自动下载安装相匹配的版本。
3、安装必要的软件包
sudo apt-get install dosfstools
sudo apt-get install mtools
sudo apt-get install mtd-utils
4、安装编译工具环境
使用下面的命令,将前面下载的编译环境包解压到当前用户目录下:
tar –xvf gn.1523.tar –C~/
tar –xvf ninja.1.9.0.tar–C ~/
tar –xvfllvm-linux-9.0.0-34042.tar –C ~/
tar –xvfhc-gen-0.65-linux.tar –C ~/
修改环境变量:
vi ~/.bashrc
在文件最后加入以下各行:
export PATH=~/gn:$PATH
export PATH=~/ninja:$PATH
export PATH=~/llvm/bin:$PATH
export PATH=~/hc-gen:$PATH
生效环境变量:
source ~/.bashrc
5、安装源码包
先从以下地址下载源码包code-1.0.tar.gz
https://repo.huaweicloud.com/harmonyos/os/1.0/code-1.0.tar.gz
解压到当前用户目录下的hmos子目录:
tar -x*** code-1.0.tar.gz
最后一步,源码包编译。
输入以下命令:
python3.7 build.py ipcamera_hi3516dv300 -b debug
如编译环境搭建无误,系统将自动编译源码包,大约8分钟后(不同的硬件环境会有差异),将在目录out/ipcamera_hi3516dv300下生成烧写所需的3个镜像文件:
OHOS_Image.bin
rootfs.img
userfs.img
到这一步,可谓大功告成:
如果编译失败,系统会给出错误信息,此时我们可以根据out/ipcamera_hi3516dv300下的编译日志文件build.log查找错误原因。