固件编译工具(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 执行上面命令,即可进入到容器,参考 固件编译 进行编译即可。 相关资源 Docker 官方中文文档