說(shuō)明:
-
作者環(huán)境:主機(jī)MacBook Pro 2015(16G),Docker Desktop for Mac(官方)
-
以下所有操作過(guò)程,經(jīng)過(guò)實(shí)測(cè)驗(yàn)證;
-
只要啟用了docker環(huán)境,那么與主機(jī)是什么系統(tǒng)就沒有關(guān)系,確保docker內(nèi)的操作按照以下文檔來(lái)即可
-
涉及設(shè)備和驗(yàn)證:
-
HiSpark AI Camera:一次全新建立docker環(huán)境編譯小型版和標(biāo)準(zhǔn)版均成功
-
DAYU200:二次全新建立docker環(huán)境編譯標(biāo)準(zhǔn)版均均成功
感謝:
-
李工做小白鼠反復(fù)測(cè)試驗(yàn)證,提供建議
-
連志安老師提供幫助指導(dǎo)
一、編譯環(huán)境創(chuàng)建:使用docker
docker環(huán)境準(zhǔn)備:
-
核心:至少分配4核,更多更好
-
內(nèi)存:至少分配4G,更大更好
-
磁盤:至少分配100g
運(yùn)行鏡像:【耗時(shí)較長(zhǎng),請(qǐng)耐心等待】
# 根據(jù)實(shí)際情況,切換到主目錄,并使用openharmony目錄作為工作目錄
cd ~
mkdir openharmony
cd openharmony
# 拉取最新openharmony編譯環(huán)境docker鏡像,鏡像較大,拉取時(shí)間較長(zhǎng),請(qǐng)耐心等待
docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:1.0.0
# 啟動(dòng)鏡像
docker run --name ohos_build -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:1.0.0
# 啟動(dòng)成功后,顯示如下:
root@4464960a58ab:/home/openharmony#
#輸入 cat /etc/issue,回車,顯示如下:
root@4464960a58ab:/home/openharmony
root@4464960a58ab:/home/openharmony#
(左右移動(dòng)查看全部?jī)?nèi)容)
后續(xù)操作,都在docker環(huán)境內(nèi)執(zhí)行
-
如退出或者重啟過(guò)docker服務(wù),可通過(guò)如下方式重新進(jìn)入:
# 進(jìn)入對(duì)應(yīng)docker的bash環(huán)境:
docker exec -it ohos_build bash
#如上一步執(zhí)行沒有進(jìn)入,那執(zhí)行下一步:
docker start ohos_build -i
(左右移動(dòng)查看全部?jī)?nèi)容)
二、準(zhǔn)備環(huán)境并獲取源碼:以下操作在docker環(huán)境內(nèi)執(zhí)行
設(shè)置時(shí)間:
apt update
apt-get install -y tzdata iputils-ping
# 安裝完成后,根據(jù)提示,設(shè)置為6.Asia、70.Shanghai
(左右移動(dòng)查看全部?jī)?nèi)容)
設(shè)置ssh秘鑰:
方式1:已在gitee設(shè)置過(guò)公鑰【不清楚或者找不到個(gè)人私鑰那就直接用方式2】
#方式1:如果你已經(jīng)在主機(jī)上訪問(wèn) https://gitee.com/profile/sshkeys 并設(shè)置過(guò)公鑰
#請(qǐng)將主機(jī)上該公鑰對(duì)應(yīng)的個(gè)人私鑰(通常為用戶根目錄下的.ssh/id_rsa)的全部?jī)?nèi)容復(fù)制到docker中來(lái)
#該個(gè)人私鑰以-----BEGIN RSA PRIVATE KEY-----開頭,以-----END RSA PRIVATE KEY-----結(jié)尾
#此處為docker環(huán)境內(nèi)操作
mkdir ~/.ssh
vim ~/.ssh/idrsa # 打開文件后,直接輸入i,然后將復(fù)制的內(nèi)容粘貼進(jìn)來(lái),再按ESC,再輸入:wq!回車保存即可
-----BEGIN RSA PRIVATE KEY-----
【請(qǐng)將該公鑰對(duì)應(yīng)的個(gè)人秘鑰idrsa的全部?jī)?nèi)容復(fù)制粘貼到~/.ssh/id_rsa這里】
-----END RSA PRIVATE KEY-----
#保存后,設(shè)置其權(quán)限:
chmod 0400 ~/.ssh/id_rsa
chmod 0600 ~/.ssh
(左右移動(dòng)查看全部?jī)?nèi)容)
方式2:生成一個(gè)新的秘鑰,可參考生成/添加SSH公鑰 - Gitee官方指導(dǎo)
#方式2:你也可以直接生成一個(gè)新的秘鑰生成
#新的秘鑰:用如下的rsa或者按照官方指導(dǎo)用ed25519均可,不用糾結(jié)
ssh-keygen -t rsa
#生成后,設(shè)置其權(quán)限:
chmod 0400 ~/.ssh/id_rsa
chmod 0600 ~/.ssh
請(qǐng)拷貝以下內(nèi)容,將公鑰(~/.sss/id_rsa.pub)給設(shè)置到 https://gitee.com/profile/sshkeys 這個(gè)頁(yè)面
cat ~/.ssh/id_rsa.pub
(左右移動(dòng)查看全部?jī)?nèi)容)
驗(yàn)證ssh賬戶狀態(tài):
# 測(cè)試git賬戶:沒錯(cuò),就是 git@gitee.com ,不用改,也不能改
ssh -T git@gitee.com
# 執(zhí)行上述命令后,應(yīng)顯示如下信息,表示可以使用git@ssh;如提示yes/no,直接輸入yes回車
Hi 你在gitee的姓名! You've successfully authenticated, but GITEE.COM does not provide shell access.
(左右移動(dòng)查看全部?jī)?nèi)容)
設(shè)置git:
# 設(shè)置git
apt-get install -y git git-lfs
git config --global user.name "你在gitee的用戶名"
git config --global user.email "你在gitee的郵箱名"
git config --global credential.helper store
(左右移動(dòng)查看全部?jī)?nèi)容)
安裝repo:
# 安裝repo
curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 -o /usr/local/bin/repo
chmod a+x /usr/local/bin/repo
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
(左右移動(dòng)查看全部?jī)?nèi)容)
下載源碼:【耗時(shí)較長(zhǎng),請(qǐng)耐心等待】
# 使用 /home.dist 為源碼和編譯工作目錄,加快編譯速度
mkdir -p /home/dist/OpenHarmony-v3.1-Release
cd /home/dist/OpenHarmony-v3.1-Release
# 獲取3.1 Release分支代碼:拉取時(shí)間教程,請(qǐng)耐心等待
repo init -u git@gitee.com:openharmony/manifest.git -b refs/tags/OpenHarmony-v3.1-Release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
# 重復(fù)一遍,確保執(zhí)行成功,沒有失敗
repo sync -c
repo forall -c 'git lfs pull'
(左右移動(dòng)查看全部?jī)?nèi)容)
預(yù)編譯工具包:【耗時(shí)較長(zhǎng),請(qǐng)耐心等待】
# 預(yù)編譯工具包:下載和編譯時(shí)間較長(zhǎng),請(qǐng)耐心等待
./build/prebuilts_download.sh
(左右移動(dòng)查看全部?jī)?nèi)容)
三、編譯代碼:以下操作在docker環(huán)境內(nèi)執(zhí)行【耗時(shí)較長(zhǎng),請(qǐng)耐心等待】
編譯輕量版:
-
WiFi-IoT(Hi3861)- hispark_pegasus:
-
wifiiot_hispark_pegasus
# 執(zhí)行后,上下按鍵,選擇wifiiot_hispark_pegasus
hb set
# 執(zhí)行編譯:加 -f 參數(shù),表示強(qiáng)制重新編譯所有
hb build
# 編譯完成,顯示如下信息:
[OHOS INFO] wifiiot_hispark_pegasus build success
[OHOS INFO] cost time: 編譯時(shí)間很短
# 編譯完成后,刷機(jī)鏡像文件位于:
(左右移動(dòng)查看全部?jī)?nèi)容)
編譯小型版:
-
Hi3516DV300-hispark_taurus:
-
ipcamera_hispark_taurus
# 執(zhí)行后,上下按鍵,選擇ipcamera_hispark_taurus
hb set
# 執(zhí)行編譯:加 -f 參數(shù),表示強(qiáng)制重新編譯所有
hb build
# 編譯完成,顯示如下信息:
[OHOS INFO] ipcamera_hispark_taurus build success
[OHOS INFO] cost time: 編譯時(shí)間不長(zhǎng)
# 編譯完成后,刷機(jī)鏡像文件位于:
# TODO:初次刷機(jī)后,需要設(shè)置啟動(dòng)參數(shù)
(左右移動(dòng)查看全部?jī)?nèi)容)
-
ipcamera_hispark_taurus_linux
# 執(zhí)行后,上下按鍵,選擇ipcamera_hispark_taurus_linux
hb set
# 執(zhí)行編譯:加 -f 參數(shù),表示強(qiáng)制重新編譯所有
hb build
# 編譯完成,顯示如下信息:
[OHOS INFO] ipcamera_hispark_taurus_linux build success
[OHOS INFO] cost time: 編譯時(shí)間不長(zhǎng)
# 編譯完成后,刷機(jī)鏡像文件位于:
(左右移動(dòng)查看全部?jī)?nèi)容)
編譯標(biāo)準(zhǔn)版:編譯過(guò)程較長(zhǎng),可能長(zhǎng)達(dá)數(shù)小時(shí)
-
Hi3516dv300:
-
Hi3516DV300
# 執(zhí)行編譯腳本:如首次編譯不成功,且不是下述錯(cuò)誤,如出現(xiàn)MkImages類似錯(cuò)誤,可考慮多次運(yùn)行編譯腳本(李工經(jīng)驗(yàn)3~4次)
./build.sh --product-name Hi3516DV300 --ccache
# 如編譯失敗,提示curl目錄下的問(wèn)題,則可以如下處理,然后繼續(xù)編譯:
cd third_party/curl/
git stash
cd ../../
# 編譯完成,顯示如下信息:
[OHOS INFO] Hi3516DV300 build success
[OHOS INFO] cost time: 編譯時(shí)間很長(zhǎng)
# 編譯完成后,刷機(jī)鏡像文件位于:
(左右移動(dòng)查看全部?jī)?nèi)容)
-
DAYU200:
-
rk3568:
# 執(zhí)行編譯腳本:如首次編譯不成功,且不是下述錯(cuò)誤,可考慮再次運(yùn)行
./build.sh --product-name rk3568 --ccache
# 如編譯失敗,提示curl目錄下的問(wèn)題,則可以如下處理,然后繼續(xù)編譯:
cd third_party/curl/
git stash
cd ../../
# 編譯完成,顯示如下信息:
[OHOS INFO] rk3568 build success
[OHOS INFO] cost time: 編譯時(shí)間很長(zhǎng),作者環(huán)境初次4小時(shí)以上
# 編譯完成后,刷機(jī)鏡像文件位于:
(左右移動(dòng)查看全部?jī)?nèi)容)
未完待續(xù):后面的文章將會(huì)為大家詳細(xì)講解燒錄過(guò)程以及體驗(yàn)過(guò)程~
原文標(biāo)題:OpenHarmony 3.1 Release docker編譯指南
文章出處:【微信公眾號(hào):HarmonyOS官方合作社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
macbook
+關(guān)注
關(guān)注
0文章
496瀏覽量
41689 -
編譯環(huán)境
+關(guān)注
關(guān)注
0文章
12瀏覽量
8554 -
Docker
+關(guān)注
關(guān)注
0文章
458瀏覽量
11856
原文標(biāo)題:OpenHarmony 3.1 Release docker編譯指南
文章出處:【微信號(hào):HarmonyOS_Community,微信公眾號(hào):電子發(fā)燒友開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論