說明:
-
作者環(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)境編譯小型版和標準版均成功
-
DAYU200:二次全新建立docker環(huán)境編譯標準版均均成功
感謝:
-
李工做小白鼠反復測試驗證,提供建議
-
連志安老師提供幫助指導
一、編譯環(huán)境創(chuàng)建:使用docker
docker環(huá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服務,可通過如下方式重新進入:
# 進入對應docker的bash環(huán)境:
docker exec -it ohos_build bash
#如上一步執(zhí)行沒有進入,那執(zhí)行下一步:
docker start ohos_build -i
(左右移動查看全部內(nèi)容)
二、準備環(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è)置過公鑰
#請將主機上該公鑰對應的個人私鑰(通常為用戶根目錄下的.ssh/id_rsa)的全部內(nèi)容復制到docker中來
#該個人私鑰以-----BEGIN RSA PRIVATE KEY-----開頭,以-----END RSA PRIVATE KEY-----結(jié)尾
#此處為docker環(huán)境內(nèi)操作
mkdir ~/.ssh
vim ~/.ssh/idrsa # 打開文件后,直接輸入i,然后將復制的內(nèi)容粘貼進來,再按ESC,再輸入:wq!回車保存即可
-----BEGIN RSA PRIVATE KEY-----
【請將該公鑰對應的個人秘鑰idrsa的全部內(nèi)容復制粘貼到~/.ssh/id_rsa這里】
-----END RSA PRIVATE KEY-----
#保存后,設(shè)置其權(quán)限:
chmod 0400 ~/.ssh/id_rsa
chmod 0600 ~/.ssh
(左右移動查看全部內(nèi)容)
方式2:生成一個新的秘鑰,可參考生成/添加SSH公鑰 - Gitee官方指導
#方式2:你也可以直接生成一個新的秘鑰生成
#新的秘鑰:用如下的rsa或者按照官方指導用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賬戶:沒錯,就是 git@gitee.com ,不用改,也不能改
ssh -T git@gitee.com
# 執(zhí)行上述命令后,應顯示如下信息,表示可以使用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 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'
# 重復一遍,確保執(zhí)行成功,沒有失敗
repo sync -c
repo forall -c 'git lfs pull'
(左右移動查看全部內(nèi)容)
預編譯工具包:【耗時較長,請耐心等待】
# 預編譯工具包:下載和編譯時間較長,請耐心等待
./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)容)
編譯標準版:編譯過程較長,可能長達數(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ù):后面的文章將會為大家詳細講解燒錄過程以及體驗過程~
原文標題:OpenHarmony 3.1 Release docker編譯指南
文章出處:【微信公眾號:HarmonyOS官方合作社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
macbook
+關(guān)注
關(guān)注
0文章
500瀏覽量
42179 -
編譯環(huán)境
+關(guān)注
關(guān)注
0文章
13瀏覽量
8637 -
Docker
+關(guān)注
關(guān)注
0文章
512瀏覽量
12752
原文標題:OpenHarmony 3.1 Release docker編譯指南
文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發(fā)燒友開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
鴻蒙OpenHarmony技術(shù):【Docker編譯環(huán)境】

評論