固件編譯工具(Docker 方式)
說明
SDK編譯工具 - Docker 方式,通過 Firelfy 定制的 Ubuntu 16.04 Docker鏡像,快速搭建SDK所需的編譯環(huán)境。
我們已經在Docker鏡像內配置好了編譯SDK所需的依賴環(huán)境,無需在本地配置編譯環(huán)境,進入對應的docker容器內進行SDK編譯即可。
目前暫時只支持ROC-RK3308-CC Buildroot SDK的編譯。
安裝 Docker CE
Docker CE 支持以下版本的 Ubuntu 操作系統(tǒng):
Bionic 18.04 (LTS)
Xenial 16.04 (LTS)
Trusty 14.04 (LTS) (Docker CE v18.06 及以下版本)
各種環(huán)境下的安裝指南,官網(wǎng)文檔都有介紹。
我們主要在Ubuntu環(huán)境下測試和使用,其他系統(tǒng)環(huán)境下待驗證。
使用 DKCook 進行編譯
DKCook是Firefly為了方便使用寫的一個簡單腳本,放在了SDK的FFTools/DockerCook/目錄下。
如果沒找到FFTools/,請更新最新的SDK。
DKCook默認使用的docker鏡像是tchip/buildroot-builder,在使用的時候會自動到Docker Hub下載,不需要其他額外的操作。
其使用方式很簡單,在原有的編譯命令前面加上./FFTools/DockerCook/DKCook即可。
例如,參考固件編譯,SDK全編譯:
cd SDK/ ./FFTools/DockerCook/DKCook ./build.sh roc-rk3308-cc_release_BoardConfig.mk ./FFTools/DockerCook/DKCook ./build.sh
注意:由于ROC-RK3308-CC使用的WIFI是AP6236,需要修改buildroot/configs/firefly_rk3308_release_defconfig,關閉BR2_PACKAGE_RKWIFIBT_RTL8188EU,打開BR2_PACKAGE_RKWIFIBT_AP6236。
git diff buildroot/configs/firefly_rk3308_release_defconfig diff --git a/buildroot/configs/firefly_rk3308_release_defconfig b/buildroot/configs/firefly_rk3308_release_defconfig index d64c090..929a55b 100755 --- a/buildroot/configs/firefly_rk3308_release_defconfig +++ b/buildroot/configs/firefly_rk3308_release_defconfig @@ -29,8 +29,8 @@ BR2_PACKAGE_SOFTAPSERVER=y BR2_PACKAGE_WIFIAUTOSETUP=y BR2_PACKAGE_RKWIFIBT=y # BR2_PACKAGE_RKWIFIBT_COMPATIBLE is not set -# BR2_PACKAGE_RKWIFIBT_AP6236 is not set -BR2_PACKAGE_RKWIFIBT_RTL8188EU=y +BR2_PACKAGE_RKWIFIBT_AP6236=y +# BR2_PACKAGE_RKWIFIBT_RTL8188EU is not set BR2_PACKAGE_EQ_DRC_PROCESS=y BR2_PACKAGE_ALSA_LADSPA=y BR2_PACKAGE_ROCKCHIP_TEST=y
例如,編譯內核:
cd SDK/ ./FFTools/DockerCook/DKCook ./build.sh kernel
或者進入到kernel目錄編譯內核:
cd SDK/kernel/ ../FFTools/DockerCook/DKCook make arch=arm64 firefly-rk3308_linux_defconfig ../FFTools/DockerCook/DKCook make arch=arm64 rk3308-roc-cc-dmic-pdm_emmc.img
同時,如果需要進入到容器里面進行操作,可以執(zhí)行命令:
cd SDK/ ./FFTools/DockerCook/DKCook --bash
注意:
如果之前在 Docker 容器中編譯,后面想轉到 PC 上編譯,或者之前在 PC 上編譯,后面想轉到 Docker 容器中編譯,那么由于環(huán)境已經改變,你需要重新編譯整個SDK(主要針對buildroot,刪掉 SDK/buildroot/output/ 目錄),否則會出現(xiàn)編譯錯誤。
進階
如果對 Docker 比較熟悉,可以參考下面,自定義 Docker 操作。
獲取 Docker 鏡像
該 Docker 鏡像獲取方式有兩種:
通過Dockerfile生成鏡像
通過Docker Hub 下載鏡像
通過 Dockerfile 生成鏡像
Github 地址: https://github.com/T-Firefly/buildroot-builder
從github拉取源碼:
git clone https://github.com/T-Firefly/buildroot-builder.git
執(zhí)行命令:
cd DockerCook/ docker build -t buildroot-builder .
通過 Docker Hub 下載鏡像
Docker Hub 上的搜索: tchip/buildroot-builder即可找到。
命令行獲取Docker鏡像:
docker pull tchip/buildroot-builder:latest
命令行使用
容器默認的工作目錄是/home/project,可將這個目錄作為掛載點,掛載自己當前的工作目錄。然后操作容器,例如:
docker run -it --rm \ -e USER_ID=$UID \ --mount type=bind,source="$PWD",target="/home/project" \ buildroot-builder \ /bin/bash
執(zhí)行上面命令,即可進入到容器,參考固件編譯進行編譯即可。
-
Linux
+關注
關注
87文章
11407瀏覽量
212107 -
嵌入式主板
+關注
關注
7文章
6094瀏覽量
36056 -
Firefly
+關注
關注
2文章
540瀏覽量
7303 -
RK3308
+關注
關注
1文章
40瀏覽量
1415
發(fā)布評論請先 登錄
相關推薦
一文詳解RK3308開發(fā)板Qt開發(fā)的流程
淺析RK3308開發(fā)板固件編譯的方法及其步驟
fireflyROC-RK3308B-CC固件編譯工具簡介
微雪電子RK3308主板CC啟動模式介紹
Core 3308Y固件ROC RK3308B CC PLUS Buildroot NoUI

Core 3308Y固件ROC RK3308B CC PLUS Buildroot MiniGUI

Core 3308Y ROC RK3308B CC PLUS Ubuntu Minimal固件

Core 3308Y固件ROC RK3308B CC PLUS Ubuntu Desktop固件

Core 3308Y固件ROC RK3308B CC PLUS支持Docker固件

Core 3308Y固件ROC RK3308B CC Buildroot NoUI固件

ROC RK3308B CC Buildroot Qt Desktop固件

評論