我的环境是Debian13+xfce,但是Windows中也可以参考到docker的部分
部分内容参考公众号文章,但是这里补充了一下其他里面没提及的部分
部分配置(Docker,github)需要使用代理,请确保网络状态良好
首先下载对应的d1s包,解压后进入对应的文件夹
# 进入你的 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
这时候应该有类似的提示
正克隆到 '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'
然后创建Docker文件,这部分和百问网不同,但是使用上还是一样的,这里需要注意的是最好选择20.04的版本,因为说明中提到的其他版本解决依赖问题比较棘手
# 设置非交互模式,防止安装过程中弹出配置向导
ENV DEBIAN_FRONTEND=noninteractive
# 设置语言环境,防止中文日志乱码
ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8
# 安装编译依赖
# 修复了原文件中缺失的反斜杠 (\)
RUN apt-get update && 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
&& apt-get clean && rm -rf /var/lib/apt/lists/*
# 全志 SDK 编译通常需要此环境变量
ENV FORCE_UNSAFE_CONFIGURE=1
WORKDIR /work
将以上内容复制为Docker文件,然后创建以下脚本实现自动化挂载和一键启动
#!/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"
保存后运行,等待一段时间,应该有这样的提示
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#
这里放出我的运行结果参考一下.

下一步我正在尝试 sunxi-tools 来进行img文件的下载
请问各位大佬有何指点,感谢