zoukankan      html  css  js  c++  java
  • 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操作系统:
    • 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
    

      

    例如,编译内核:

    $ 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
    

      

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



    相关资源

     



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

     

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

     

    更多信息请关注Firefly公众微信号fireflytee:
     
    ———————————————
    Firefly官网:http://www.t-firefly.com

    Firefly开源社区:http://developer.t-firefly.com
  • 相关阅读:
    【Linux】Linux服务器(centos7)安装配置 redis
    【java】使用 starter 的方式在 SpringBoot 中整合 Shiro
    【Docker】使用 Docker 基于centos7 构建 java 环境容器
    c#经典三层框架中的SqlHelper帮助类
    SOD框架的Model、连接数据库及增删改查
    用bat文件更改ip地址
    postgresql 创建并使用uuid作为唯一主键
    postgresql 查询字符串中是否包含某字符的几种写法
    pycharm激活码
    c# DataTable第二行改为各列标题字段
  • 原文地址:https://www.cnblogs.com/TeeFirefly/p/10699937.html
Copyright © 2011-2022 走看看