固件编译工具(Docker 方式)
说明
SDK编译工具 - Docker 方式,通过 Firelfy 定制的 Ubuntu 16.04 Docker镜像,快速搭建SDK所需的编译环境。
我们已经在Docker镜像内配置好了编译SDK所需的依赖环境,无需在本地配置编译环境,进入对应的docker容器内进行SDK编译即可。
目前暂时只支持ROC-RK3308-CC Buildroot SDK的编译。
安装 Docker CE
Docker CE 支持以下版本的 Ubuntu 操作系统:
Bionic 18.04 (LTS)
Xenial 16.04 (LTS)
Trusty 14.04 (LTS) (Docker CE v18.06 及以下版本)
各种环境下的安装指南,官网文档都有介绍。
我们主要在Ubuntu环境下测试和使用,其他系统环境下待验证。
使用 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
同时,如果需要进入到容器里面进行操作,可以执行命令:
cd SDK/ ./FFTools/DockerCook/DKCook --bash
注意:
如果之前在 Docker 容器中编译,后面想转到 PC 上编译,或者之前在 PC 上编译,后面想转到 Docker 容器中编译,那么由于环境已经改变,你需要重新编译整个SDK(主要针对buildroot,删掉 SDK/buildroot/output/ 目录),否则会出现编译错误。
进阶
如果对 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
执行命令:
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
执行上面命令,即可进入到容器,参考固件编译进行编译即可。
-
Linux
+关注
关注
87文章
11372浏览量
211147 -
嵌入式主板
+关注
关注
7文章
6092浏览量
35812 -
Firefly
+关注
关注
2文章
539浏览量
7201 -
RK3308
+关注
关注
1文章
40浏览量
1278
发布评论请先 登录
相关推荐
一文详解RK3308开发板Qt开发的流程
浅析RK3308开发板固件编译的方法及其步骤
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固件

评论