<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[使用Docker编译T113-S3全流程(极速版)]]></title><description><![CDATA[<p dir="auto">我的环境是Debian13+xfce,但是Windows中也可以参考到docker的部分<br />
部分内容参考<a href="https://mp.weixin.qq.com/s/r-Tacd3cOjpOU0gryD2kCA" target="_blank" rel="noopener noreferrer nofollow ugc">公众号文章</a>,但是这里补充了一下其他里面没提及的部分</p>
<p dir="auto">部分配置(Docker,github)需要使用代理,请确保网络状态良好</p>
<p dir="auto">首先下载对应的d1s包,解压后进入对应的文件夹</p>
<pre><code># 进入你的 SDK 存放目录（TinaSDK 的上级目录）
cd /home/dpiner/DockerFiles/TinaSDK

# 克隆补丁仓库
git clone https://github.com/DongshanPI/100ASK_T113-Pro_TinaSDK.git

# 进入补丁目录
cd 100ASK_T113-Pro_TinaSDK

# 初始化子模块（这一步很重要，确保补丁完整）
git submodule update --init
</code></pre>
<p dir="auto">这时候应该有类似的提示</p>
<pre><code>正克隆到 '100ASK_T113-Pro_TinaSDK'...
remote: Enumerating objects: 1554, done.
remote: Counting objects: 100% (1554/1554), done.
remote: Compressing objects: 100% (1008/1008), done.
remote: Total 1554 (delta 520), reused 1455 (delta 421), pack-reused 0 (from 0)
接收对象中: 100% (1554/1554), 9.28 MiB | 2.39 MiB/s, 完成.
处理 delta 中: 100% (520/520), 完成.
子模组 'prebuilt'（https://e.coding.net/weidongshan/100ask_t113-pro/tina_sdk_toolchain.git）已对路径 'prebuilt' 注册
正克隆到 '/home/dpiner/桌面/100ASK_T113-Pro_TinaSDK/prebuilt'...
子模组路径 'prebuilt'：检出 '18d6d58342216cd5d759dce5ce15c5c406923ca3'
</code></pre>
<p dir="auto">然后创建Docker文件,这部分和百问网不同,但是使用上还是一样的,这里需要注意的是最好选择20.04的版本,因为说明中提到的其他版本解决依赖问题比较棘手</p>
<pre><code class="language-FROM">
# 设置非交互模式，防止安装过程中弹出配置向导
ENV DEBIAN_FRONTEND=noninteractive
# 设置语言环境，防止中文日志乱码
ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8

# 安装编译依赖
# 修复了原文件中缺失的反斜杠 (\)
RUN apt-get update &amp;&amp; apt-get install -y \
    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 \
    python python-dev \
    time sudo wget vim rsync \
    libgmp-dev libmpc-dev libmpfr-dev gperf busybox \
    # 如果后续发现缺少 python2，可在此处追加 python2 python2-dev
    &amp;&amp; apt-get clean &amp;&amp; rm -rf /var/lib/apt/lists/*

# 全志 SDK 编译通常需要此环境变量
ENV FORCE_UNSAFE_CONFIGURE=1

WORKDIR /work
</code></pre>
<p dir="auto">将以上内容复制为Docker文件,然后创建以下脚本实现自动化挂载和一键启动</p>
<pre><code>#!/bin/bash

# ================= 配置区域 =================
# 宿主机上 SDK 解压后的根目录路径 (请确保此路径正确)
SDK_PATH="/home/dpiner/software_only_command/T113_tina/TinaSDK/tina-d1-h"

# Docker 镜像名称 (根据您之前 build 的名称)
IMAGE_NAME="tina-sdk"

# 容器名称 (每次运行会复用或重建此名称的容器)
CONTAINER_NAME="tina-compile"

# 容器内工作目录 (对应 Dockerfile 中的 WORKDIR)
WORK_DIR="/work"
# ===========================================

# 1. 检查 SDK 路径是否存在
if [ ! -d "$SDK_PATH" ]; then
    echo "❌ 错误：找不到 SDK 目录: $SDK_PATH"
    echo "请检查路径是否正确，或者先解压 SDK。"
    exit 1
fi

# 2. 检查 Docker 镜像是否存在
if ! docker images | grep -q "$IMAGE_NAME"; then
    echo "❌ 错误：未找到 Docker 镜像 '$IMAGE_NAME'。"
    echo "请先运行：docker build -t $IMAGE_NAME ."
    exit 1
fi

# 3. 清理旧容器 (如果存在同名容器则删除，避免报错)
echo "🧹 正在检查并清理旧的容器实例..."
if [ "$(docker ps -aq -f name=^${CONTAINER_NAME}$)" ]; then
    # 如果容器正在运行，先停止
    if [ "$(docker ps -q -f name=^${CONTAINER_NAME}$)" ]; then
        echo "⏹️  停止运行中的容器..."
        docker stop $CONTAINER_NAME
    fi
    echo "🗑️  删除旧容器..."
    docker rm $CONTAINER_NAME
fi

# 4. 启动新容器
echo "🚀 正在启动 Tina SDK 编译环境..."
echo "📂 宿主机路径：$SDK_PATH"
echo "📂 容器内路径：$WORK_DIR"
echo "----------------------------------------"

docker run -it --name $CONTAINER_NAME \
    -v "$SDK_PATH":"$WORK_DIR" \
    --privileged \
    $IMAGE_NAME \
    /bin/bash

# 5. 退出提示
echo "----------------------------------------"
echo "👋 您已退出容器。"
echo "💡 提示：下次运行此脚本将自动复用配置。"
echo "💡 如需重新进入已停止的容器而不新建，可使用：docker start -ai $CONTAINER_NAME"
</code></pre>
<p dir="auto">保存后运行,等待一段时间,应该有这样的提示</p>
<pre><code>FileLength=25a0000BuildImg 0
Dragon execute image.cfg SUCCESS !
----------image is for nand/emmc----------
----------image is at----------

/work/out/t113-100ask/tina_t113-100ask_uart3.img

pack finish
root@5eba05103a05:/work# 
</code></pre>
<p dir="auto">这里放出我的运行结果参考一下.<br />
<img src="/assets/uploads/files/1772966239947-32ffc116-c5b7-483b-9126-3300e26aa21d-%E5%9B%BE%E7%89%87.png" alt="32ffc116-c5b7-483b-9126-3300e26aa21d-图片.png" class=" img-responsive img-markdown" /><br />
下一步我正在尝试  sunxi-tools 来进行img文件的下载<br />
请问各位大佬有何指点,感谢</p>
]]></description><link>https://bbs.aw-ol.com/topic/6910/使用docker编译t113-s3全流程-极速版</link><generator>RSS for Node</generator><lastBuildDate>Sat, 16 May 2026 17:10:57 GMT</lastBuildDate><atom:link href="https://bbs.aw-ol.com/topic/6910.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 08 Mar 2026 10:43:03 GMT</pubDate><ttl>60</ttl></channel></rss>