Firefly开源社区

标题: ROC-RK3308-CC固件编译工具——Docker 方式 [打印本页]

作者: Firefly    时间: 2019-4-12 15:21
标题: ROC-RK3308-CC固件编译工具——Docker 方式
说明

SDK编译工具 - Docker 方式,通过 Firelfy 定制的Ubuntu 16.04 Docker镜像,快速搭建SDK所需的编译环境。

我们已经在Docker镜像内配置好了编译SDK所需的依赖环境,无需在本地配置编译环境,进入对应的docker容器内进行SDK编译即可。

目前暂时只支持
ROC-RK3308-CC Buildroot SDK的编译。


安装 Docker CE

Docker CE 支持以下版本的Ubuntu操作系统:

各种环境下的安装指南,官网文档都有介绍。

我们主要在Ubuntu环境下测试和使用,其他系统环境下待验证。


使用 DKCook 进行编译


DKCook是Firefly为了方便使用写的一个简单脚本,放在了SDK的FFTools/DockerCook/目录下。


如果没找到FFTools/,请更新最新的SDK。


DKCook默认使用的docker镜像是tchip/buildroot-builder,在使用的时候会自动到Docker Hub下载,不需要其他额外的操作。


其使用方式很简单,在原有的编译命令前面加上./FFTools/DockerCook/DKCook即可。



例如,参考固件编译,SDK全编译:

  1. $ cd SDK/
  2. $ ./FFTools/DockerCook/DKCook  ./build.sh
复制代码


例如,编译内核:

  1. $ cd SDK/
  2. $ ./FFTools/DockerCook/DKCook  ./build.sh kernel
复制代码


或者进入到kernel目录编译内核:

  1. $ cd SDK/kernel/
  2. $ ../FFTools/DockerCook/DKCook make arch=arm64 firefly-rk3308_linux_defconfig
  3. $ ../FFTools/DockerCook/DKCook make arch=arm64 rk3308-roc-cc-dmic-pdm_emmc.img
复制代码


同时,如果需要进入到容器里面进行操作,可以执行命令:
  1. $ cd SDK/
  2. $ ./FFTools/DockerCook/DKCook --bash
复制代码
注意:

如果之前在 Docker 容器中编译,后面想转到 PC 上编译,或者之前在 PC 上编译,后面想转到 Docker 容器中编译,那么由于环境已经改变,你需要重新编译整个SDK(主要针对buildroot,删掉目录SDK/buildroot/output/),否则会出现编译错误。

进阶

如果对 Docker 比较熟悉,可以参考下面,自定义 Docker 操作。

获取Docker镜像

该 Docker 镜像获取方式有两种:


通过 Dockerfile 生成镜像


Github 地址: https://github.com/T-Firefly/buildroot-builder


从github拉取源码:


  1. $ git clone https://github.com/T-Firefly/buildroot-builder.git
复制代码


执行命令:

  1. $ cd DockerCook/
  2. $ docker build -t buildroot-builder .
复制代码


通过 Docker Hub 下载镜像

Docker Hub 上的搜索: tchip/buildroot-builder即可找到。

命令行获取Docker镜像:

  1. $ docker pull tchip/buildroot-builder:latest
复制代码

命令行使用

容器默认的工作目录是/home/project,可将这个目录作为挂载点,挂载自己当前的工作目录。然后操作容器,例如:

  1. docker run -it --rm \
  2.             -e USER_ID=$UID \
  3.             --mount type=bind,source="$PWD",target="/home/project" \
  4.             buildroot-builder \
  5.             /bin/bash
复制代码

执行上面命令,即可进入到容器,参考固件编译进行编译即可。


相关资源


Docker 官方中文文档


进入Firefly维基教程,了解更多内容

进入Firefly商城,购买ROC-RK3308-CC主板




———————————————

更多信息请关注Firefly公众微信号fireflytee:

———————————————
Firefly官网:http://www.t-firefly.com

Firefly开源社区:http://developer.t-firefly.com
















作者: ryanchang    时间: 2019-5-9 09:44
請問何時有支持ROC-RK3308-CC?
作者: zhansb    时间: 2019-5-9 10:19
上面讲的就是ROC-RK3308-CC啊
作者: xmh800813    时间: 2019-8-23 12:45
比较好用




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1