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