鸿蒙环境构建&源码下载编译
目录
一.虚拟机及系统安装配置
1.VMware下载安装
2.下载Ubuntu18.04的镜像
3.在VMware虚拟机上安装Ubuntu18.04系统
4.替换Ubuntu软件源
二.将Linux shell改为bash
三.安装Python基础环境
1.更新系统软件资源
2.安装python3.8
3.安装Python包管理工具和setuptools
四.安装文件打包工具
1.安装mkfs.vfat
2.安装mcopy
3.安装mkfs.jffs2
五.安装编译工具环境
1.安装gn
2.安装ninja
3.安装LLVM编译工具链
4.安装hc-gen
六.源码下载
1.环境配置
(1)注册码云gitee账号。
(2)注册码云SSH公钥
(3)安装git客户端并配置用户信息。
(4)安装码云repo工具
2.下载操作
3.源码根目录简介
七.源码编译
1.项目支持
2.编译指令
3.编译结果
4.out目录生成
八.补充待续......
一.虚拟机及系统安装配置
首先在VMware虚拟机上安装一个Ubuntu18.04版本的系统,官方建议是Ubuntu16.04以上的系统
1.VMware下载安装
官网下载链接:https://www.vmware.com/cn.html
点上面下载->Workstation Pro,选择版本下载安装即可,我安装的是15.0的版本,最新的是16.0版本,看个人选择
2.下载Ubuntu18.04的镜像
官网下载链接:https://ubuntu.com/download/desktop
或者通过百度网盘链接下载也可以
链接:https://pan.baidu.com/s/1WjX84BAFqVITSqLFsiPfww
提取码:r3mo
3.在VMware虚拟机上安装Ubuntu18.04系统
下图是我安装好的虚拟机配置,看个人选择自行配置,具体安装过程不详细描述大家都懂,如果你是新手的话自行百度一下。
4.替换Ubuntu软件源
1.在官网源https://mirrors.ustc.edu.cn/repogen/下载对应版本最新的源,比如我是18.04版本的ubuntu,对应下载的是这个
2.下载sources.list完成之后,先备份一下原有软件源文件,然后再将新的软件源拷贝到对应的位置将原文件覆盖
#备份原有软件源 sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup #替换成新的软件源 sudo cp sources.list /etc/apt
温馨提示:如果你不替换软件源的话,会出现执行apt-get update也报一堆链接失败等错误,还有就是安装python3.8等软件时提示找不到或者失败等等,这些坑都是我踩过的,所以事先提醒下,你也可以自己先踩踩。
二.将Linux shell改为bash
查看shell是否为bash,在终端运行如下命令
ls -l /bin/sh
如果终端显示为/bin/sh -> bash则为正常,否则请按以下方式修改:
(1)方法一:在终端运行如下命令,然后选择 no。
sudo dpkg-reconfigure dash
(2)方法二:先删除sh,再创建软链接
rm -rf /bin/sh sudo ln -s /bin/bash /bin/sh
三.安装Python基础环境
1.更新系统软件资源
如果不事先更新系统软件的话有可能会导致后面软件安装失败或找不到。
sudo apt-get update
2.安装python3.8
Ubuntu18.04自带的python版本是3.6.9版本,不符合官方建议的python3.8+版本,可以通过python --version查看版本号
sudo apt-get install python3.8
3.安装Python包管理工具和setuptools
#安装pip和setuptools sudo apt-get install python3-setuptools python3-pip -y #升级pip3运行 sudo pip3 install --upgrade pip
4.安装GUI menuconfig工具
sudo pip3 install kconfiglib
官方建议安装Kconfiglib 13.2.0+版本,Ubuntu默认安装的是kconfiglib 14.1.0版本,如图
四.安装文件打包工具
1.安装mkfs.vfat
终端运行"mkfs.vfat",如果未找到该命令,请运行"sudo apt-get install dosfstools",正确提示如下
2.安装mcopy
终端运行"mcopy",如果未找到该命令,请运行"sudo apt-get install mtools",正确提示如下
3.安装mkfs.jffs2
终端运行"mkfs.jffs2",如果未找到该命令,请运行"sudo apt-get install mtd-utils",正确提示如下
五.安装编译工具环境
在home目录创建一个hm_env文件夹用来存放编译工具,名字根据自己喜好取
mkdir ~/hm_env
默认系统没有vim,需要安装vim,方便修改系统配置文件
sudo apt-get install vim
1.安装gn
(1)下载gn工具 (http://tools.harmonyos.com/mirrors/gn/1523/linux/gn.1523.tar)
(2)解压gn安装包至“~/hm_env/gn“路径下
tar -xvf ~/下载/gn.1523.tar -C ~/hm_env/
(3)设置环境变量:"vim ~/.bashrc", 新增:""。
vim ~/.bashrc #新增 export PATH=~/hm_env/gn:$PATH
(4)生效环境变量
source ~/.bashrc
2.安装ninja
(1)下载ninja工具 (http://tools.harmonyos.com/mirrors/ninja/1.9.0/linux/ninja.1.9.0.tar)
(2)解压ninja安装包至~/hm_env/ninja路径下。
tar -xvf ~/下载/ninja.1.9.0.tar -C ~/hm_env/
(3)设置环境变量。
vim ~/.bashrc #新增 export PATH=~/hm_env/ninja:$PATH
(4)生效环境变量:"source ~/.bashrc"。
3.安装LLVM编译工具链
(1)下载LLVM工具 (http://tools.harmonyos.com/mirrors/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar)
(2)解压LLVM安装包至~/hm_env/llvm路径下。
tar -xvf ~/下载/llvm-linux-9.0.0-34042.tar -C ~/hm_env/
(3)设置环境变量
vim ~/.bashrc #新增 export PATH=~/hm_env/llvm/bin:$PATH
(4)生效环境变量:"source ~/.bashrc"。
4.安装hc-gen
(1)下载hc-gen工具 (http://tools.harmonyos.com/mirrors/hc-gen/0.65/linux/hc-gen-0.65-linux.tar)
(2)解压hc-gen安装包到Linux服务器~/hm_env/hc-gen路径下。
tar -xvf ~/下载/hc-gen-0.65-linux.tar -C ~/hm_env/
(3)设置环境变量
vim ~/.bashrc#新增 export PATH=~/hm_env/hc-gen:$PATH
(4)生效环境变量:"source ~/.bashrc"。
最终工具存放目录如下:
官方提示:
- “HPM组件方式”或“HPM包管理器命令行工具方式”获取源码,不需要安装gn、ninja、LLVM、hc-gen编译工具。
- “镜像站点方式”或“代码仓库方式”获取源码,需要安装gn、ninja、LLVM、hc-gen编译工具。安装gn、ninja、LLVM、hc-gen编译工具时,请确保编译工具的环境变量路径唯一。
六.源码下载
1.环境配置
(1)注册码云gitee账号。
直接登录官网https://gitee.com/,用邮箱或者手机号注册即可
(2)注册码云SSH公钥
请参考码云帮助中心的公钥管理:https://gitee.com/help/articles/4181
成功添加公钥之后终端执行ssh -T git@gitee.com会出现如下提示,说明成功完成添加
(3)安装git客户端并配置用户信息。
#安装git客户端 sudo apt-get install git#配置用户信息 git config --global user.name "yourname" git config --global user.email "your-email-address" git config --global credential.helper store
(4)安装码云repo工具
可以执行如下命令:
安装curl和repo
sudo apt-get install curl sudo apt-get install repo
安装码云repo
curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo sudo chmod a+x /usr/local/bin/repo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
提示:如果出现repo没有权限访问或者不存在,也可以直接手动touch一个repo文件,然后chmod更改下权限
2.下载操作
先在根目录下创建一个文件夹用来存放源码,如openHarmonyCode
(1)方式一(推荐):通过repo下载
repo init -u https://gitee.com/openharmony/manifest.git -b master repo sync -c
操作截图如下
(2)方式二:通过git clone单个代码仓库(这个方式太麻烦了,要一个一个仓库去clone,不建议)
进入代码仓库主页:https://gitee.com/openharmony,选择需要克隆的代码仓库,执行命令,如:
git clone https://gitee.com/openharmony/manifest.git -b master
3.源码根目录简介
下表是OpenHarmony源码根目录及简单说明:
miracle@miracle-vm:~/openHarmonyCode$ ls -1applications ------应用程序样例,包括wifi-iot,camera等base ------基础软件服务子系统集&硬件服务子系统集build ------组件化编译、构建和配置脚本build.py ------编译脚本入口docs ------文档资料domains------增强软件服务子系统集drivers------驱动子系统foundation ------系统基础能力子系统集kerne ------内核子系统prebuilts ------编译器及工具链子系统test ------测试子系统third_party ------开源第三方组件utils ------常用的工具集vendor------厂商提供的软件
七.源码编译
1.项目支持
源码默认只支持海思系列芯片,如图,当前只支持hi35xx系列,hi3861芯片
如果想在其他芯片上移植鸿蒙系统需要自己修改移植,工作量较大。
目前我购买是韦东山老师的imx6ull鸿蒙开发板,里面有他移植修改鸿蒙的代码,改动很多,可以参考借鉴:http://weidongshan.gitee.io/informationdownloadcenter/boards/Nxp/100ask_imx6ull_mini/index.html
2.编译指令
以默认的ipcamera_hi3518ev300项目为例,编译指令如下
python build.py ipcamera_hi3518ev300 -b debug
3.编译结果
如果中途没什么错误的话,最终会提示success,如下
如果中途有错误的话,会提示return等错误信息,自己去查build.log的具体错误
4.out目录生成
可以看到target目录ipcamera_hi3518ev300生成