OpenHarmony2.0 Hi3516系列小型系統(tǒng)源碼編譯及燒錄
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)
本文主要介紹在騰訊云服務(wù)器上編譯小型系統(tǒng)以及Windows本地燒錄
一、購買騰訊云服務(wù)器
初始購買界面,Ubuntu的系統(tǒng)版本只能選擇18.04

二、重裝Ubuntu 20.0.4系統(tǒng)
為了避免踩坑,重裝系統(tǒng)為Ubuntu 20.04版本:
三、apt-get以及Python安裝
1、更新apt-get
- sudo apt-get update
2、python版本安裝 (官方要求python3.7以上版本)
先確認python版本
- cd /usr/bin
- ls -l python*
如果沒有達到指定版本,先安裝python 根據(jù)Ubuntu不同版本,安裝python。
如果Ubuntu 版本為18+,運行如下命令。
- sudo apt-get install python3.8
如果Ubuntu版本為16。
a. 安裝依賴包
- sudo apt update && sudo apt install software-properties-common
b. 添加deadsnakes PPA 源,然后按回車鍵確認安裝。
- sudo add-apt-repository ppa:deadsnakes/ppa
c. 安裝python3.8
- sudo apt upgrade && sudo apt install python3.8
3、設(shè)置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
4、安裝并升級Python包管理工具(pip3),任選如下一種方式。
命令行方式:
- sudo apt-get install python3-setuptools python3-pip -y
- sudo pip3 install --upgrade pip
安裝包方式:
- curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
- python get-pip.py
四、 Linux服務(wù)器開發(fā)工具安裝
1、下載gn、ninja、LLVM、hc-gen
- mkdir -p ~/harmonyos/tools
- cd ~/harmonyos/tools
- #下載gn
- wget https://repo.huaweicloud.com/harmonyos/compiler/gn/1717/linux/gn-linux-x86-1717.tar.gz
- #下載ninga
- wget https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar
- # 下載 LLVM
- wget https://repo.huaweicloud.com/harmonyos/compiler/clang/10.0.1-62608/linux/llvm.tar.gz
- #下載hc-gen
- wget https://repo.huaweicloud.com/harmonyos/compiler/hc-gen/0.65/linux/hc-gen-0.65-linux.tar##

2、解壓并配置環(huán)境變量
- 解壓gn安裝包至~/gn路徑下。
- mkdir ~/gn
- tar -xvf gn-linux-x86-1717.tar.gz -C ~/gn
- 解壓ninja安裝包至~/ninja路徑下。
- tar -xvf ninja.1.9.0.tar -C ~/
- 解壓LLVM安裝包至~/llvm路徑下。
- tar -zxvf llvm.tar.gz -C ~/
- 解壓hc-gen安裝包至~/hc-gen路徑下
- tar -xvf hc-gen-0.65-linux.tar -C ~/
設(shè)置環(huán)境變量
- sudo vim ~/.bashrc
- 在末尾添加如下
- export PATH=~/gn:$PATH
- export PATH=~/ninja:$PATH
- export PATH=~/llvm/bin:$PATH
- export PATH=~/hc-gen:$PATH
- 添加之后 source ~/.bashrc

3、安裝hb
(1)安裝命令
- python3 -m pip install --user ohos-build
(2)將以下命令拷貝到.bashrc文件的最后一行,保存并退出。
- export PATH=~/.local/bin:$PATH
執(zhí)行如下命令更新環(huán)境變量。
- source ~/.bashrc
(3)執(zhí)行"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
4、將Linux shell改為bash
查看shell是否為bash,在終端運行如下命令
- ls -l /bin/sh
如果顯示為“/bin/sh -> bash”則為正常,否則請按以下方式修改:
方法一:在終端運行如下命令,然后選擇 no。
- sudo dpkg-reconfigure dash
方法二:先刪除sh,再創(chuàng)建軟鏈接。
- sudo rm -rf /bin/sh
- sudo ln -s /bin/bash /bin/sh
5、安裝編譯依賴基礎(chǔ)軟件(僅Ubuntu 20+需要)
執(zhí)行以下命令進行安裝:
- sudo apt-get install build-essential gcc g++ make zlib* libffi-dev
6、安裝文件打包工具及Java虛擬機環(huán)境
打開Linux編譯服務(wù)器終端
運行如下命令,安裝dosfstools,mtools,mtd-utils,Java運行時環(huán)境(JRE)和Java sdk 開發(fā)工具包。
- sudo apt-get install dosfstools mtools mtd-utils default-jre default-jdk
五、通過repo下載源碼
1、配置 repo 工具
- mkdir ~/bin/
- sudo apt install curl
如果沒有 curl 命令需要先下載
- sudo apt install curl
- curl 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
- #添加環(huán)境變量~/.bashrc
- export PATH=~/bin:$PATH
- source ~/.bashrc
2、安裝git lfs(如未安裝、下載源碼會報錯)
- curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
- sudo apt-get install git-lfs
- git lfs install
3、通過repo下載OpenHarmony-2.0-Canary源碼
首先配置git
- git config --global user.name "yourname"
- git config --global user.email "your-email-address"
- git config --global credential.helper store
下載2.0 Release版本代碼初始化
- cd harmony/openharmony
- repo init -u https://gitee.com/openharmony/manifest.git -b refs/tags/OpenHarmony-2.0-Canary --no-repo-verify
- repo sync -c
- repo forall -c 'git lfs pull'
下載master分支代碼
- cd harmony/openharmony
- repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify
- repo sync -c
- repo forall -c 'git lfs pull'
六、編譯Hi3516(小系統(tǒng))源碼
1、hb set(設(shè)置編譯路徑)

2、選擇ipcamera_hispark_taurus
3、hb build -f(執(zhí)行編譯)
經(jīng)過1個半小時后編譯成功
七、小型系統(tǒng)燒錄
1、連接開發(fā)板,查看串口號
Hi3516開發(fā)板的代碼燒錄支持USB燒錄、網(wǎng)口燒錄和串口燒錄三種方式。我主要將一下串口燒錄
請連接好電腦和待燒錄開發(fā)板,以Hi3516DV300為例,需要同時連接串口、網(wǎng)口和電源,具體可參考Hi3516開發(fā)板介紹。
打開電腦的設(shè)備管理器,查看并記錄對應(yīng)的串口號。
2、打開DevEco Device Tool,在Projects中,點擊Settings打開工程配置界面。
3、在“Partition Configuration”頁簽,設(shè)置待燒錄文件信息,默認情況下,DevEco Device Tool已針對Hi3516系列開發(fā)板進行適配,無需單獨修改。
4、在“hi3516dv300”頁簽,設(shè)置燒錄選項,包括upload_port、upload_partitions和upload_protocol。
- upload_port:選擇步驟2中查詢的串口號。
- upload_protocol:選擇燒錄協(xié)議,固定選擇“hiburn-serial”。
- upload_partitions:選擇待燒錄的文件,默認情況下會同時燒錄fastboot、kernel、rootfs和userfs。


5、所有的配置都修改完成后,在工程配置頁簽的頂部,點擊Save進行保存。
6、打開工程文件,點擊圖標,打開DevEco Device Tool界面,在“PROJECT TASKS”中,點擊hi3516dv300下的Upload按鈕,啟動燒錄。

7、開始燒錄(串口燒錄會比較慢)


8、燒錄成功

9、燒錄注意事項
如果燒錄了boot,此時還不能點亮屏幕
重新寫入引導(dǎo)內(nèi)核啟動的指令和參數(shù)
9.1、單擊Monitor打開串口
9.2、當出現(xiàn)下圖所示時,給開發(fā)版上電, 連續(xù)輸入回車直到串口顯示"hisilicon"9
此時輸入如下四條命令,執(zhí)行完四條命令之后,系統(tǒng)會重啟并點亮屏幕
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)