T113的Linux系统调试记录(二)T113 的Linux 编译过程详解
本文基于Ubuntu Server 22.04环境,深度解析 T113 平台 Linux 编译核心三条命令,清晰说明每一步作用与流程。
前言
T113 完整编译系统只需三条核心命令,执行完成后即可打包固件:
source build/envsetup.sh ./build.sh config ./build.sh这三条命令的作用分别是什么?大家有没有思考过?那么我们下面逐条解析命令逻辑与执行效果。
一、source build/envsetup.sh
执行结果
核心作用
- 加载编译工具、脚本、环境变量
- 不设置任何产品信息
- 这一步只是准备环境,不指定芯片和板级板
二、./build.sh config
执行完这条命令后,会出现如下选项:
========ACTION List: mk_config ;======== options : All available platform: 0. android 1. linux Choice [linux]: 1 All available linux_dev: 0. bsp 1. buildroot 2. openwrt Choice [buildroot]: 1 All available ic: 0. t113 1. t113_i 2. t113s2 Choice [t113]: 0 All available board: 0. dev 1. evb1 2. evb1_auto 3. evb1_auto_nor 4. newproject 5. pro Choice [evb1_auto]: 2 All available flash: 0. default 1. nor Choice [default]: 0选择后从打印信息中可以看到如下信息:
生成根目录 .config 文件,.config就是整个系统编译配置
- 从上可以信息可知芯片和板级信息
- 芯片:t113
- 板级:evb1_auto
三、./build.sh(正式编译)
执行结果
从 上图可知:
芯片:t113、
板子:evb1_auto、
内核:Linux-5.4
从而确定设备树路径(最关键的文件,下篇文章讲解)
device/config/chips/t113/configs/evb1_auto/linux-5.4/board.dts解析(官方固定规则)
设备树路径 = 板子目录 / linux-内核版本 / board.dts
所以根据规则定位到:
device/config/chips/t113/configs/evb1_auto/linux-5.4/board.dts
四、完整编译流程
source build/envsetup.sh → 生成加载编译工具、脚本、环境变量 ↓ ./build.sh config → 生成 .config(指定t113+evb1_auto+Linux-5.4) ↓ ./build.sh → 读取 .config ↓ 自动找到 DTS:.../linux-5.4/board.dts ↓ DTS 编译 → DTB ↓ U-Boot + 内核 + DTB + rootfs ↓ 生成镜像下篇预告
- device/config/chips/t113/configs/evb1_auto/linux-5.4/evb1_auto/linux-5.4/board.dts讲解
