导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页
    1. 主页
    2. liangdi
    3. 最佳
    L
    • 资料
    • 关注 0
    • 粉丝 1
    • 我的积分 870
    • 主题 7
    • 帖子 13
    • 最佳 1
    • 群组 0

    liangdi 发布的最佳帖子

    • 【加精】D1 tina Docker 编译环境制作和使用

      d1 的 tina 环境由于工具链比较老旧, 很多开发者的机器上的环境没法正常使用
      所以,我写一篇使用 Docker 编译 tina 的文章,继续抛砖引玉,欢迎交流.
      PS: 还是希望全志官方升级一下工具链版本

      准备工作

      • 安装好 docker , 执行 docker info 可以查看是否安装正常
      • 下载好 tina sdk 的代码, 参考: tina sdk 下载

      使用 Docker 编译

      # 假设下载的 tina-sdk 目录是 /opt/tina-sdk
      # 执行如下 docker 命令
      docker run  -v /opt/tina-sdk:/sdk -it liangdi/d1-tina-build-env /bin/bash
      # 第一次执行的时候,需要下载镜像,会耗时比较久一点
      # 执行完上面 docker 命令后, 会将本机 /opt/tina-sdk 映射到 docker 中的 /sdk 下,就可以在 docker 中编译 tina 了
      cd /sdk
      source ./build/envsetup.sh
      # 选择编译内容
      lunch
      
      # 需要设置 FORCE_UNSAFE_CONFIGURE 变量解决 root 检测, 后面 -jx  x为配置编译线程数量,可以根据 cpu 数量来配置
      make FORCE_UNSAFE_CONFIGURE=1 -j8
      # 备注: 第一次编译,会编译一批 host 的依赖比较慢,但是编译一次后,下次重新编译就会跳过了,速度会快很多
      
      # 打包
      pack
      
      
      

      以上就可以正常编译 d1 的 tina 了, 编译完成后, 在本机 tina-sdk 目录下的 out 目录中就可以看到编译产物了, 采用路径映射的方式,本机更新代码后,再运行 docker , docker 里面就是最新的代码

      附上 Dockerfile

      # D1 tina build env
      
      FROM ubuntu:14.04
      RUN apt update
      RUN apt install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip lib32z1 lib32z1-dev lib32stdc++6 libstdc++6 -y
      RUN apt install bc busybox wget -y
      

      可以自行修改构建, 完善这个 docker

      发布在 MR Series
      L
      liangdi
    • 1 / 1