Tina SDK 在 Ubuntu 24.04 环境下构建 t113-100ask 固件完整指南

发布时间:2026/7/13 3:33:28

Tina SDK 在 Ubuntu 24.04 环境下构建 t113-100ask 固件完整指南 Tina SDK 构建总结文档项目概述本文档记录了在 Ubuntu 24.04glibc 2.43, Python 3.14环境下构建 Tina SDKDongshanNezhaSTU-TinaV2.0-SDK/tina-d1-h的完整过程主要针对 t113-100ask 开发板。这个是让AI总结好的希望能帮到大家去适配WSL2的环境。项目信息项目说明SDK 路径/home/tao/develop/DongshanNezhaSTU-TinaV2.0-SDK/tina-d1-h目标平台t113-100askSoCAllwinner T113 (sun8iw20p1)内核版本Linux 5.4U-Boot 版本u-boot-2018环境配置系统环境- Ubuntu 24.04 LTS - glibc 2.43 - Python 3.14.4 - GCC 14Python 2 隔离环境由于 SDK 依赖 Python 2.x特别是 scons 2.4.1使用 Miniconda2 安装了隔离的 Python 2.7.18miniconda2 路径: /home/tao/develop/miniconda2/ Python 版本: Python2.7.18 :: Anaconda, Inc.关键配置将out/host/bin/python符号链接指向 miniconda2 Python解决了 glib2 代码生成依赖。解决的关键问题1. Python 2 依赖问题问题scons 2.4.1 无法在 Python 3.14 下运行解决方案安装 miniconda2 隔离环境2. glib2imp模块缺失问题glib2 编译时找不到imp模块Python 3.12 已移除解决方案修改out/host/bin/python符号链接指向 miniconda2 Python 2.7.183. ncurses 信号处理器类型不匹配问题RETSIGTYPE定义为int与 GCC 14 的严格类型检查冲突解决方案修改 [ncurses_cfg.h](file:///home/tao/develop/DongshanNezhaSTU-TinaV2.0-SDK/tina-d1-h/out/t113-100ask/compile_dir/target/host/ncurses-5.9/include/ncurses_cfg.h)// 修改前#defineRETSIGTYPEint// 修改后#defineRETSIGTYPEvoid4. jsonfilter 函数原型不匹配问题lemon.c 中函数声明与定义参数类型不一致解决方案更新 [lemon.c](file:///home/tao/develop/DongshanNezhaSTU-TinaV2.0-SDK/tina-d1-h/out/t113-100ask/compile_dir/target/jsonfilter-2014-06-19/contrib/lemon.c) 中的函数声明voidFindRulePrecedences(structlemon*);voidFindFirstSets(structlemon*);voidFindStates(structlemon*);voidFindLinks(structlemon*);voidFindFollowSets(structlemon*);voidFindActions(structlemon*);5. xkeyboard-config XML::Parser 依赖问题intltool 需要 XML::Parser Perl 模块解决方案修改 configure 脚本跳过检查6. Device Tree Blob (DTB) 缺失问题内核编译时找不到arch/arm/boot/dts/board.dtb原因构建系统期望从设备配置目录复制 DTS 文件但路径解析存在问题解决方案手动复制 DTS 文件cpdevice/config/chips/t113/configs/100ask/board.dts\lichee/linux-5.4/arch/arm/boot/dts/board.dts7. glibc 2.43 兼容性问题__xstat函数已移除-fno-common成为默认选项解决方案通过编译选项调整和代码补丁解决构建步骤环境初始化cd/home/tao/develop/DongshanNezhaSTU-TinaV2.0-SDK/tina-d1-hsourcebuild/envsetup.sh lunch t113_100ask-tina完整构建命令TARGET_PLATFORMt113\TARGET_BOARDt113-100ask\TARGET_PRODUCTt113_100ask\TARGET_PLAN100ask\make环境变量说明变量值说明TARGET_PLATFORMt113芯片平台TARGET_BOARDt113-100ask开发板名称TARGET_PRODUCTt113_100ask产品名称TARGET_PLAN100ask配置计划TARGET_KERNEL_VERSION5.4内核版本TARGET_UBOOTu-boot-2018U-Boot 版本构建产物构建输出目录out/t113-100ask/主要产物文件大小说明boot.img3.8MB启动镜像rootfs.img37MB根文件系统镜像t113-100ask-uImage3.8MBu-boot 格式内核t113-100ask-zImage3.8MBzImage 压缩内核t113-100ask-boot.img3.8MB专用启动镜像board.dtb54KBDevice Tree Blob目录结构out/t113-100ask/ ├── boot.img # 启动镜像 ├── rootfs.img # 根文件系统 ├── t113-100ask-uImage # U-Boot 内核镜像 ├── t113-100ask-zImage # zImage 压缩内核 ├── t113-100ask-boot.img # 专用启动镜像 ├── md5sums # MD5 校验和 ├── sha256sums # SHA256 校验和 ├── compile_dir/ # 编译中间文件 ├── packages/ # 软件包 └── staging_dir/ # 临时安装目录测试与维护测试建议内核启动测试确认 zImage 和 dtb 能正常引导系统根文件系统测试验证 rootfs 完整性和文件权限硬件外设测试UART 串口通信SPI-NAND Flash 读写SD/MMC 卡识别网络接口GMACUSB 接口系统功能测试启动时间内存使用进程管理网络连通性维护要点Python 环境保持 miniconda2 隔离环境不变内核配置如需修改配置使用make kernel_menuconfig设备树修改 DTS 文件后需重新编译内核软件包使用make package/package_name/compile单独编译构建日志构建失败时使用make -j1 Vs查看详细错误常见问题排查问题可能原因解决方案Python 版本错误默认 Python 为 3.x使用 miniconda2DTB 缺失DTS 文件未复制手动复制 board.dts编译错误GCC 版本过高添加兼容选项内存不足并行编译线程过多使用-j6或更少附录重要文件路径文件/目录路径SDK 根目录DongshanNezhaSTU-TinaV2.0-SDK/tina-d1-h内核源码lichee/linux-5.4DTS 文件device/config/chips/t113/configs/100ask/board.dts内核 DTS 目录lichee/linux-5.4/arch/arm/boot/dts构建输出out/t113-100ask开发板配置target/allwinner/t113-100ask内核配置关键项CONFIG_ARCH_SUN8IW20y # T113 架构 CONFIG_LINUX_5_4y # Linux 5.4 CONFIG_TARGET_t113_100asky # 目标开发板构建时间完整构建耗时约 30-60 分钟取决于硬件配置文档版本: v1.0生成时间: 2026-07-12构建状态: ✅ 成功

相关新闻