当前位置: 首页 > news >正文

T113-i Linux系统完整构建指南:从SDK开箱到内核镜像量产烧录全流程

T113-i Linux系统完整构建指南:从SDK开箱到内核镜像量产烧录全流程


📌 前言
本文以 Tronlong T113-i 工业核心板为例,手把手梳理从 Linux SDK 解压、环境配置、系统编译、到量产镜像替换的完整流程,并深入解释“为什么替换内核不能只靠拷贝文件”。建议收藏,直接照抄即可跑通。


一、环境准备:Ubuntu + 虚拟机

  • 宿主机:Windows 10/11
  • 虚拟机:VMware 15.5.5
  • Linux 版本:Ubuntu 18.04.4 64-bit
  • 网络模式:桥接(方便后续 TFTP/NFS 调试)

二、Linux SDK 下载与解压

1️⃣ 创建工作目录

mkdir -p /home/tronlong/T113

2️⃣ 解压 SDK

tar -zxf /mnt/hgfs/SharedFolders/LinuxSDK-v1.0.tar.gz -C /home/tronlong/T113/
  • 解压后目录结构:
  T113-i_v1.0/├── brandy/          # U-Boot + SPL├── buildroot/       # 文件系统├── kernel/          # Linux 源码├── device/          # 设备树/配置├── platform/        # Qt/驱动└── build.sh         # 编译总入口

三、一键安装依赖与预下载包

cd /home/tronlong/T113/T113-i_v1.0
./install_tools.sh          # 安装交叉编译链、依赖
tar xvf dl.tar.gz -C buildroot/buildroot-201902/  # 加速编译

四、图形化配置:选板型、内核、显示接口

./build.sh distclean        # 先清环境
./build.sh config           # 交互式菜单
  • 推荐配置(可直接回车)

    选项
    Platformlinux
    Boardtlt113-evm-nand
    Outputhdmi
    Kernellinux-5.4
    Rootfsbuildroot-201902
    Floatgnueabi

五、完整编译(约30 min)

./build.sh                  # 全编
./build.sh pack             # 打包成量产镜像
  • 输出文件(位于 out/ 目录)
    • t113_i_linux_tlt113-evm-nand_uart0.img → NAND 启动
    • t113_i_linux_tlt113-evm-nand-sdboot_uart0.img → SD 卡启动

六、局部编译(可选)

目标 命令
仅 U-Boot & SPL ./build.sh brandy && ./build.sh pack
仅内核 ./build.sh kernel && ./build.sh pack
仅文件系统 ./build.sh buildroot && ./build.sh pack


七、内核镜像替换原理 & 量产烧录

❓为什么不能只拷贝文件?

  • Linux 内核在启动介质上有固定分区
  • 系统启动时,BootROM → SPL → U-Boot 按地址直接加载内核分区
  • 仅靠文件拷贝 不会更新分区内容,因此必须用 dd 按块写入

✅ 量产烧录步骤(以 NAND 为例)

  1. 把新内核 boot.fex 传到目标板(U盘/TFTP/NFS)
  2. 在目标板上执行
   dd if=/boot.fex of=/dev/mtdblock8   # NAND 内核分区syncreboot
  1. 如果是 eMMC:
   dd if=/boot.fex of=/dev/mmcblk1p4   # eMMC 内核分区

⚠️ 注意:分区号请用 ls /dev/mtd*ls /dev/mmcblk* 确认,避免写错!


八、常见问题 FAQ

问题 解决
编译报错找不到 ncurses sudo apt install libncurses5-dev libncursesw5-dev
替换内核后启动失败 检查分区号、镜像版本、文件权限
Qt 模块过大 编辑 buildsetup_sf.sh 添加 -skip xxxx


📣 结语

至此,你已经完成:

  • ✅ SDK 环境搭建
  • ✅ 内核/文件系统/Qt 编译
  • ✅ 量产镜像打包
  • ✅ 内核镜像烧录原理与实操

下一步可继续探索 TFTP + NFS 网络启动、设备树定制、驱动开发等高级玩法。

收藏本文,日后照抄即可上线!

### !!!!备注:
📋 配置步骤(文字叙述,分点)

  1. 打开配置界面 在终端中进入 SDK 根目录,执行 ./build.sh config随后会弹出文本菜单,按顺序逐项选择。

  2. 选择平台类型 当提示 All available platform: 时,输入 0选择 linux 平台。

  3. 选择 Linux 设备方案 当提示 All available linux_dev: 时,输入 2选择 longan 方案。

  4. 选择内核版本 当提示 All available kern_ver: 时,输入 0选择 linux-5.4 内核。

  5. 选择芯片型号 当提示 All available ic: 时,输入 1选择 t113_i 芯片。

  6. 选择评估板型号 当提示 All available board: 时,输入 5选择 tlt113-evm-nand 板型(NAND 启动)。

  7. 选择显示接口 当提示 All available output_configs: 时,输入 0选择 hdmi 显示输出。

  8. 选择存储介质 当提示 All available flash: 时,输入 0保持 default(NAND FLASH)。

  9. 选择根文件系统类型 当提示 All available build_root: 时,输入 0选择 buildroot-201902。

  10. 选择浮点 ABI 当提示 All available gnueabi: 时,输入 ```0 `` `选择 gnueabi(软浮点,兼容多媒体功能)。

  11. 确认并开始准备工具链 所有配置完成后,脚本会自动下载并解压交叉编译工具链,等待进度结束即可。

http://www.dtcms.com/a/306661.html

相关文章:

  • 2025年湖北中级注册安全工程师报考那些事
  • docker 用于将镜像打包为 tar 文件
  • 【MySQL学习|黑马笔记|Day3】多表查询(多表关系、内连接、外连接、自连接、联合查询、子查询),事务(简介、操作、四大体系、并发事务问题、事务隔离级别)
  • 【公有云部署模型】yolo模型公有云部署
  • 用聊天方式聊聊msvcr100.dll丢失的解决方法有哪些?msvcr100.dll是什么
  • 7.pcl滤波(一)
  • Python在Web开发领域的崛起与生态探索:从脚本语言到全栈利器
  • Unity Standard Shader 解析(四)之ForwardAdd(简化版)
  • 机器视觉halcon7-缺陷检测
  • SpringCloud -- MQ高级
  • 关于获取某目录及子目录下所有文件且不包含隐藏文件
  • dify + mcp 实现图片 ocr 识别
  • Apache RocketMQ 的核心概念(Core Concepts)
  • 解决 Node.js 托管 React 静态资源的跨域问题
  • SpringBoot之整合SSM步骤
  • 基因组选择育种-2.3多性状与多组学整合GS-GWAS
  • Python 使用pandas库实现Excel字典码表对照自动化处理
  • 从单体到分布式:解锁架构进化密码
  • MS Access 数据库修复:修复损坏的 MDB 文件的快速指南
  • llama factory本地部署常见问题
  • 大模型的开发应用(二十):AIGC原理
  • 从数据到预测:InfluxDB+Prophet时间序列分析案例实战
  • Promise完全体总结
  • 会吸的簸箕专利拆解:迷你真空组件的吸力控制与吸入口设计原理
  • React 编程式导航
  • 基于 Flask 和 MySQL 的期货数据分析系统
  • 5.Origin2021如何绘制柱状+折线双Y轴图?
  • Gemini CLI 怎么保存会话?两个命令解决 AI 失忆问题
  • 嵌入式开发学习———Linux环境下数据结构学习(五)
  • 一个使用共享内存进行进程间通信的程序,主要功能是创建并读取共享内存中的数据。具体作用如下: