OpenHarmony源码的编译构建

556 阅读3分钟

“我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第1篇文章,点击查看活动详情” OpenHarmony 开发环境搭建

OpenHarmony源码的编译构建

需要工具

ubuntu 20.0.4

vm

windows

第一步,安装虚拟机,安装虚拟机注意的一个地方就是,硬盘建议100G以上

安装好之后,打开虚拟机,打开命令行工具,

安装网络工具

sudo apt-get install net-tools

显示网络配置

ifconfig

image-20220911183136956

安装vim

sudo apt-get install vim

将 Ubuntu Shell 环境修改为 bash

执行如下命令,确认输出结果为 bash。

ls -l /bin/sh

结果发现不是,所以做个修改

sudo dpkg-reconfigure dash

将 Ubuntu shell 由 dash 修改为 bash。选择no

image-20220911184152470

此时修改成功

image-20220911184253938

安装远程工具

具有 SSH、远程登录、RDP、VNC 和 X11 的 MobaX 术语 X 服务器 - 家庭版 (mobatek.net)

连接 192.168.144.128

设置桥接模式

安装ssh

sudo apt-get install ssh

使用如下apt-get命令安装编译所需的必要的库和工具

sudo apt-get install gcc
​
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
​

关于git

生成key

 ssh-keygen -t rsa -C "852851198@qq.com"

然后三次回车即可生成 ssh key,

查看你的 public key,

cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....

添加后,在终端(Terminal)中输入

ssh -T git@gitee.com

若返回

Welcome to Gitee.com, yourname!

则证明添加成功。

安装git

sudo apt-get install git
​
sudo apt-get install git-lfs

配置

git config --global user.name "徐建国" 
git config --global user.email "852851198@qq.com"
git config --global credential.helper store
git config --global  --list

安装curl

sudo apt-get install curl
curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > ./repo 
sudo cp repo /usr/local/bin/repo 

注意,如果没有权限,可下载至其他目录,并将其配置到环境变量中

sudo chmod a+x /usr/local/bin/repo 

安装

​
sudo apt install python3-pip
​
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests

安装码云repo工具,可以执行如下命令。

curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo  
​

注意,如果没有权限,可下载至其他目录,并将其配置到环境变量中

chmod a+x /usr/local/bin/repo
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
​

查看目录

ls -a

下载代码

mkdir openharmony

cd openharmony

mkdir code

cd code

mkdir master

cd master

mkdir master0912

cd master0912

源码获取

方式一:通过repo + ssh下载(需注册公钥,请参考码云帮助中心)。

repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

方式二(个人推荐这个):通过repo + https下载。

 sudo ln -s /usr/bin/python3 /usr/bin/python
​
repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

通过repo获取

建立软连接

 sudo ln -s /usr/bin/python3 /usr/bin/python

方式一(推荐) :通过repo + ssh 下载(需注册公钥,请参考码云帮助中心)。

repo init -u git@gitee.com:openharmony/manifest.git -b refs/tags/OpenHarmony-v3.0.1-LTS --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

方式二:通过repo + https 下载。

repo init -u https://gitee.com/openharmony/manifest.git -b refs/tags/OpenHarmony-v3.0.1-LTS --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

以下是主干代码的下载方式,但是主干代码可能会不稳定,不推荐大家使用,推荐大家使用TLS版本

安装hb 在源码根目录下载运行如下命令安装hb

python3 -m pip install build/lite

设置环境变量

vim ~/.bashrc
​

将以下命令拷贝到.bashrc文件的最后一行,保存并退出。

export PATH=~/.local/bin:$PATH

执行如下命令更新环境变量。

source ~/.bashrc
​

执行"hb -h",界面打印以下信息即表示安装成功:

hb -h
usage: hb
​
OHOS build system
​
positional arguments:
  {build,set,env,clean}
    build               Build source code
    set                 OHOS build settings
    env                 Show OHOS build env
    clean               Clean output
​
optional arguments:
  -h, --help            show this help message and exit

Hi3861开发环境

最好参考官方文档: Hi3861开发环境 这里做下记录

(1)安装编译依赖基础软件(仅Ubuntu 20+需要) 执行以下命令进行安装:

sudo apt-get install build-essential gcc g++ make zlib* libffi-dev

(2)安装Scons 运行如下命令,安装SCons安装包。

python3 -m pip install scons
​

运行如下命令,查看是否安装成功。如果安装成功,查询结果下图所示。

scons -v
​

image-20220912135905249 图 1 SCons安装成功界面,版本要求3.0.4以上

(3)安装python模块 运行如下命令,安装python模块setuptools。

pip3 install setuptools
​

(4)安装GUI menuconfig工具(Kconfiglib),建议安装Kconfiglib 13.2.0+版本,任选如下一种方式。

命令行方式:

sudo pip3 install kconfiglib
​

(5)安装pycryptodome,任选如下一种方式。

安装升级文件签名依赖的Python组件包,包括:pycryptodome、six、ecdsa。安装ecdsa依赖six,请先安装six,再安装ecdsa。

命令行方式:

sudo pip3 install pycryptodome
​

(6)安装six,任选如下一种方式。

命令行方式:

sudo pip3 install six --upgrade --ignore-installed six
​

(7)安装ecdsa,任选如下一种方式。

命令行方式:

sudo pip3 install ecdsa
​

(8)安装gcc_riscv32(WLAN模组类编译工具链) 下载以下交叉编译工具链: 交叉编译工具链下载

安装samba

sudo apt-get update
​
sudo apt-get install samba
sudo apt-get install samba-common

修改 samba 配置文件

​
sudo vim /etc/samba/smb.conf
​

在最后加入如下内容:

[work]
comment = samba home directory
path = /home
public = yes
browseable = yes
public = yes
writeable = yes
read only = no
valid users = hihope #用户名和你的主机一致
create mask = 0777
directory mask = 0777
#force user = nobody
#force group = nogroup
available = yes

用tab键

保存退出后,输入如下命令,设置 samba,建议 123456 即可

sudo smbpasswd -a hihope

重启 samba 服务

sudo service smbd restart

image-20220912141721101

输入用户名密码登录

进入到OpenHarmony,创建tools文件夹

压缩包复制进来

请先执行以下命令将压缩包解压到根目录:

tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~
vim ~/.bashrc
​

将以下命令拷贝到.bashrc文件的最后一行,保存并退出。

export PATH=~/gcc_riscv32/bin:$PATH

生效环境变量。

source ~/.bashrc
​

Shell命令行中输入如下命令,如果能正确显示编译器版本号,表明编译器安装成功。

riscv32-unknown-elf-gcc -v

image-20220912142459932

源码目录 下载完代码后,大家可以进入代码目录