ubuntu如何安装开发环境(Ubuntu下安装OpenHarmony3.0源码及编译环境安装记录)
ubuntu如何安装开发环境(Ubuntu下安装OpenHarmony3.0源码及编译环境安装记录)开发环境:跟我们日常使用的Windows系统差异巨大,要使鸿蒙源码正常编译运行我们需要基于Linux下完成。( 应用程序编码 鸿蒙系统源码 ) => ( python脚本 编译工具 ) => 二进制镜像文件 => ( HiBurn烧录工具 )烧录到芯片 => 运行文件格式:鸿蒙是一种类UNIX系统,跟Linux是同一种系统设计风格,虽然他们很像但是他们不一样。
开发设备:
“没有人能够熄灭漫天星光” Hi Spark 名称寓意 就是面向广大开发者的 鸿蒙接入设备
hispark_pegasus 天马座(Hi3861) hispark_aries 白羊座(Hi3518) hispark_taurus 金牛座(Hi3516)
开发流程:
( 应用程序编码 鸿蒙系统源码 ) => ( python脚本 编译工具 ) => 二进制镜像文件 => ( HiBurn烧录工具 )烧录到芯片 => 运行
文件格式:
鸿蒙是一种类UNIX系统,跟Linux是同一种系统设计风格,虽然他们很像但是他们不一样。
跟我们日常使用的Windows系统差异巨大,要使鸿蒙源码正常编译运行我们需要基于Linux下完成。
开发环境:
现在有很多基于Windows的开发环境搭建方案,但是我通过使用感受要长时间频繁的编译代码,还是基于Linux更稳妥一些。
Linux ( 下载源码 编译环境 ) / Windows ( 代码编辑 烧录工具 )
环境搭建:
Linux下分3大部分
1.
C语言编译
Python语言编译
以及他们配套的工具
2.
鸿蒙源码编译需要的工具
3.
鸿蒙源码下载工具
鸿蒙源码
Windows主要是编辑环境
DevEco Device Tool Visual Studio Code
以及串口芯片驱动 烧录工具
安装过程:
我使用的操作系统是Windows7,版本是有点低的,只满足一般的开发。
下载Ubuntu镜像文件
https://cn.ubuntu.com/download
下载Ubuntu桌面系统 Ubuntu 20.04.3 LTS
安装VM虚拟机
VMware 中国
https://www.vmware.com/cn.html
首页 > 工作空间 > 桌面 Hypervisor > Workstation Player
我下载的版本是15,win7不支持16,win10可以,使用感受没什么区别。
安装Ubuntu
备份Ubuntu安装镜像
/////////////////////////////////////////////////////
编译环境过程 完全是依据官方说明文档
说明指南地址:
https://device.harmonyos.com/cn/docs/documentation/guide/guide-description-0000001054913231
Ubuntu编译环境
****************************************************
1.安装必要的库和工具
更新包列表
sudo apt update
安装build-essential软件包
sudo apt install build-essential
该命令将安装包括gcc,g 和make
gcc -v
查看gcc版本
g --version
查看g 版本
安装相关库和工具
sudo apt-get install build-essential gcc g make zlib* libffi-dev e2fsprogs pkg-config flex bison perl bc openssl libssl-dev libelf-dev libc6-dev-amd64 binutils binutils-dev libdwarf-dev u-boot-tools mtd-utils gcc-arm-linux-gnueabi cpio device-tree-compiler
----
windows7 安装 putty (如果是Windows10自带SSH)
https://www.putty.org/
64-bit x86: putty.exe
64-bit x86: pscp.exe
传输文件
把本地文件file传输到Linxu服务器的目录中。
基本命令格式:pscp 文件 用户名@LinuxIP:目录
使用“ -l ”选项可以指定用户名。
基本命令格式:pscp -l 用户名 文件 LinuxIP:目录
使用“ -r ”选项可以用于传输目录。
基本命令格式:pscp -r 目录 用户名@LinuxIP:目录
或使用命令格式:pscp -l 用户名 -r 目录 LinuxIP:目录
----
安装SSH的客户端和服务端
sudo apt-get install openssh-client
sudo apt-get install openssh-server
启动SSH服务
sudo /etc/init.d/ssh start
检查SSH服务是否已启动
ps -e | grep ssh
----
shell改为 bash
ls -l /bin/sh
sudo dpkg-reconfigure dash
ls -l /bin/sh
******************************************************
//////////
2.设置Python3
查看python版本
python3 --version
Python 3.8.10
设置python和python3软链接为python3.8
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
python --version
----
安装并升级Python包管理工具(pip3)
sudo apt-get install python3-setuptools python3-pip -y
sudo pip3 install --upgrade pip
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 20.0.2
Not uninstalling pip at /usr/lib/python3/dist-packages outside environment /usr
Can't uninstall 'pip'. No files were found to uninstall.
Successfully installed pip-21.3
这个报错可能是因为第一遍安装没有把pip加入到PATH里,但是更新一下后没有任何问题。
pip --version
pip 21.3 from /usr/local/lib/python3.8/dist-packages/pip (python 3.8)
pip3 --version
pip 21.3 from /usr/local/lib/python3.8/dist-packages/pip (python 3.8)
////////
3.安装hb
命令安装hb
python3 -m pip install --user ohos-build
Collecting wcwidth
Downloading wcwidth-0.2.5-py2.py3-none-any.whl (30 kB)
Requirement already satisfied: six>=1.9.0 in /usr/lib/python3/dist-packages (from prompt-toolkit==1.0.14->ohos-build) (1.14.0)
Installing collected packages: wcwidth prompt-toolkit kconfiglib ohos-build
WARNING: The scripts alldefconfig allmodconfig allnoconfig allyesconfig defconfig genconfig guiconfig listnewconfig menuconfig oldconfig olddefconfig savedefconfig and setconfig are installed in '/home/spark/.local/bin' which is not on PATH.
Consider adding this directory to PATH or if you prefer to suppress this warning use --no-warn-script-location.
WARNING: The script hb is installed in '/home/spark/.local/bin' which is not on PATH.
Consider adding this directory to PATH or if you prefer to suppress this warning use --no-warn-script-location.
Successfully installed kconfiglib-14.1.0 ohos-build-0.4.3 prompt-toolkit-1.0.14 wcwidth-0.2.5
吓一跳,主要是要把路径添加到 bashrc PATH
设置环境变量
sudo vi ~/.bashrc
拷贝到.bashrc文件内
#hb
export PATH=~/.local/bin:$PATH
跟新环境变量
source ~/.bashrc
执行"hb -v",查看是否安装成功
//////
********************************************
4.Hi3861开发板环境
SCons3.0.4
python模块:setuptools、kconfiglib、pycryptodome、six、ecdsa
gcc riscv32
----
安装编译依赖
sudo apt-get install build-essential gcc g make zlib* libffi-dev
----
安装Scons
python3 -m pip install scons
Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from scons) (45.2.0)
Installing collected packages: scons
Successfully installed scons-4.2.0
查看是否安装成功
scons -v
----
安装python模块setuptools
pip3 install setuptools
安装testresources
sudo apt install python3-testresources
安装venv
sudo apt-get install python3.8-venv
设置 pip3 源
pip3 config set global.trusted-host repo.huaweicloud.com
pip3 config set global.index-url https://repo.huaweicloud.com/repository/pypi/simple
pip3 config set global.timeout 120
----
安装GUI menuconfig工具(Kconfiglib)
sudo pip3 install kconfiglib
Installing collected packages: kconfiglib
Successfully installed kconfiglib-14.1.0
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
提示需要虚拟环境,但是这系统里只为跑鸿蒙编译,应该不会有冲突问题。
----
安装pycryptodome
sudo pip3 install pycryptodome
----
安装six
sudo pip3 install six --upgrade --ignore-installed six
Installing collected packages: six
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
launchpadlib 1.10.13 requires testresources which is not installed.
Successfully installed six-1.16.0
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
// 大红色警告,太吓银了。提示安装这个 testresources 先无视,出问题再说。
// 还是装上吧
// 在头部已安装
//sudo apt install python3-testresources
//sudo apt-get install python3.8-venv
----
安装 ecdsa
sudo pip3 install ecdsa
----
安装 curl
sudo apt install curl
----
建工具下载目录
sudo mkdir ~/oh_tool
cd 到 oh_tool
下载
gn
sudo curl -O https://repo.huaweicloud.com/harmonyos/compiler/gn/1717/linux/gn-linux-x86-1717.tar.gz
ninja
sudo curl -O https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar
gcc_riscv32
sudo curl -O https://repo.huaweicloud.com/harmonyos/compiler/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz
----
建gn文件夹
sudo mkdir ~/oh_tool/gn
解压文件
sudo tar -xvf gn-linux-x86-1717.tar.gz -C ~/oh_tool/gn
sudo tar -xvf ninja.1.9.0.tar -C ~/oh_tool
sudo tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~/oh_tool
写入配置信息
sudo vi ~/.bashrc
#gn
export PATH=~/oh_tool/gn:$PATH
#ninja
export PATH=~/oh_tool/ninja:$PATH
#gcc_riscv32
export PATH=~/oh_tool/gcc_riscv32/bin:$PATH
配置生效
source ~/.bashrc
查看是否安装成功
riscv32-unknown-elf-gcc -v
**********************************************************************************
OpenHarmony发布版本源码获取方式
https://Gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/Readme.md
////////
5.下载源码
安装 Git
sudo apt install git-all
查看安装是否成功
git --version
----
安装 git-lfs
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
// apt-get install -y --allow-unauthenticated git-lfs
////////
配置Git
git config --global user.name "xxx" // gitee.com 注册的用户名
git config --global user.email "xxx@xxx" // e-mail
git config --global credential.helper store
----
配置 repo 工具
mkdir ~/bin/
sudo vi ~/.bashrc
export PATH=~/bin:$PATH
source ~/.bashrc
curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > ~/bin/repo
chmod a x ~/bin/repo
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
----
直接下载 OpenHarmony 3.0 LTS
先建下载目录
mkdir ~/oh_code
进入下载目录
cd oh_code
----
如果不注册公钥的话,选择 repo https 下载。
然后下载 等待 还是挺快的
repo init -u https://gitee.com/openharmony/manifest.git -b refs/tags/OpenHarmony-v3.0-LTS --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
//bash build/prebuilts_download.sh
/////////////////
hb set
.
选择需要编译的版本“wifiiot_hispark_pegasus”
hb build
出现“wifiiot_hispark_pegasus build success”字样,则证明构建成功
-------------------------------------------
虚拟机备份
00:00:00
putty下载
00:01:30
更新包列表
00:05:00
安装gcc
00:06:00
安装SSH服务端
00:07:30
SSH上传文件演示
00:09:00
安装相关库和工具
00:10:00
shell改为bash
00:11:30
设置Python
00:12:30
安装pip3
00:13:00
安装hb
00:15:30
安装Hi3861编译依赖库
00:18:00
安装Scons
00:18:00
安装依赖工具
00:18:30
安装Kconfiglib
00:20:00
安装pycryptodome
00:20:30
安装six
00:23:30
安装ecdsa
00:24:00
安装curl
00:24:30
下载解压依赖工具
00:24:30
安装Git
00:29:00
安装git-lfs
00:31:30
配置Git
00:34:00
安装repo
00:35:00
下载源码
00:37:00
编译源码
00:57:00
备份虚拟机镜像
00:59:00