大家好,我是 孙杰 。
一直在做嵌入式系统、边缘设备和 AI 应用相关工作,也持续分享一些技术学习和项目实践中的经验。这套课程的内容,主要也是基于这些年的系统开发和项目积累整理出来的。

最近我和 与非网、贸泽电子 合作,做了一套 Jetson 边缘嵌入式实战课程。这套课程不是单独讲某一个工具,也不是只讲某一个 demo,而是希望把 Jetson 平台相关内容按更清晰的脉络梳理出来,从硬件、系统到应用,尽量形成一个完整的学习路径。
这套课程讲什么
这套课程以 NVIDIA Jetson 平台 为核心,内容会围绕边缘嵌入式开发中的几个关键部分展开,包括:
-
Linux 系统定制
-
驱动加载
-
设备安全
-
AI 防护
-
视频管线
-
AI 计算框架集成
-
性能分析与优化
Jetson 平台集成了 CPU、GPU、ISP、NVDLA 等多种异构计算单元,既具备嵌入式系统的可定制性,也具备边缘 AI 推理和视频处理能力。
所以这套课程关注的,不只是某一个知识点,而是希望把实际开发过程中的关键问题串起来,让整个学习过程更系统一些。
为什么第三讲讲 L4T 与系统架构
第一讲讲的是 Jetson 硬件平台怎么选,第二讲讲的是 JetPack 和 SDK Manager。
到了第三讲,内容就进入到了 Jetson 更底层的系统基础部分:L4T 与 Jetson 系统架构。
很多人在前两讲之后,都会继续遇到这些问题:
-
L4T 到底是什么?
-
L4T 和 JetPack 是什么关系?
-
Jetson 系统到底由哪些部分组成?
-
Bootloader、Kernel、设备树、RootFS 分别负责什么?
-
为什么 Jetson 和一般 ARM 平台的 BSP 差异这么大?
这些问题如果没有先理清,后面在系统定制、驱动适配、摄像头接入、多媒体加速和性能分析时,就容易停留在"会用"的阶段,很难真正理解系统是怎么工作的。

所以第三讲的重点,就是把 L4T、Jetson 系统架构以及启动流程 这条主线讲清楚。
第三讲主要讲什么
这一讲主要围绕三个部分展开:
-
L4T 是什么,它和 JetPack 的关系是什么
-
Jetson 系统架构由哪些部分组成
-
Jetson 的启动流程和典型 ARM 平台有什么不同
1. L4T 是什么
对学习嵌入式系统的同学来说,可以把 L4T(Linux for Tegra) 理解为 Jetson 平台的官方 BSP 套件。它负责启动流程、硬件驱动、系统运行环境,以及为 AI 推理和多媒体加速提供底层支持,是 Tegra / Jetson 系列开发的根基。
从组成上看,L4T 主要包含:
-
内核
-
引导加载程序
-
GPU 与多媒体驱动栈
-
基于 Ubuntu LTS 构建的 RootFS
也就是说,L4T 更接近于 Jetson 设备真正运行的"系统底座"。

L4T 和 JetPack 的关系
这一部分是第三讲里一个很重要的基础点。
可以简单理解为:
-
L4T:决定 Jetson 设备实际运行的系统底座
-
JetPack:决定开发时使用的软件环境和工具链
每一个 JetPack 版本都会绑定一个对应的 L4T 版本。L4T 负责提供底层系统、驱动和 RootFS,而 JetPack 则在此基础上提供 CUDA、TensorRT、多媒体能力以及 SDK Manager 等开发工具。
2. L4T 版本怎么理解
第三讲里也会把 L4T 的版本演进顺一遍,这部分对理解 Jetson 平台的发展很有帮助。
大致可以这样看:
-
L4T 32.x:对应 JetPack 4.x,主要服务于 Nano、TX2、Xavier 等较早期平台,内核为 4.9,Ubuntu 18.04,适合教学入门、基础机器人和轻量视觉应用。
-
L4T 34.x:对应 JetPack 5.0 DP,属于 Orin 的过渡预览阶段,开始从旧体系向新体系迁移。
-
L4T 35.x:对应 JetPack 5.1.x,开始统一 Xavier 与 Orin 的软件栈,增强多媒体和相机链路的稳定性。
-
L4T 36.x:对应 JetPack 6.x,完整面向 Orin 全系列,进一步强化安全、功耗管理和容器环境支持。
从这个演进过程可以看出,L4T 并不只是一个版本号,它对应的是 Jetson BSP、内核、Ubuntu 版本以及硬件支持能力的一整套变化。
3. Jetson 系统架构由哪些部分组成
这一讲会把 Jetson Linux 的系统架构拆开来看。整体上,它大致可以分成四层:
3.1 Boot 阶段
Boot 阶段负责完成最基础的硬件准备,包括电源、DDR、时钟和启动配置,确保系统具备进入内核的运行条件。
3.2 Kernel 层
Kernel 层负责主要硬件驱动的加载和管理。Linux-Tegra 内核中集成了 GPU、ISP、NVDEC、NVENC、PCIe 等驱动,是 Jetson 各类硬件能力的核心来源。
3.3 设备树与驱动层
这一层决定硬件是否能被识别、是否能正常工作。
设备树负责描述引脚和外设拓扑,驱动模块则负责实际访问硬件。两者共同决定了系统最终能不能正确识别板级资源。
3.4 RootFS 与用户态库
RootFS 提供 Ubuntu 用户空间,而 CUDA、TensorRT、VPI 等用户态库则提供 AI 和多媒体加速能力,共同组成 Jetson 的上层运行环境。
如果从开发者的角度去理解,这四层可以简单对应成:
-
Bootloader:把机器启动起来
-
Kernel:把硬件能力接起来
-
Device Tree:把板级资源描述清楚
-
RootFS:把系统环境和应用环境搭起来
4. Jetson 的启动流程为什么值得单独讲
第三讲里,一个很重要的部分就是 Jetson 系统启动流程。
Jetson 的启动流程并不是很多人熟悉的传统 U-Boot 结构,而是一条多阶段固件链:
BootROM -> MB1 -> MB2 -> UEFI -> Kernel
这条启动链会在内核启动之前,完成很多关键硬件初始化工作,比如:
-
DDR
-
PMIC
-
时钟树
-
分区选择
-
Secure Boot 校验
-
GPIO / Pinmux 等基础配置
也就是说,Jetson 的很多底层板级配置并不是在 Linux 内核里才开始处理,而是在更早期的 Boot 阶段就已经完成了。
这也是 Jetson 和很多 i.MX、Rockchip 平台在 BSP 结构上的一个明显区别。第三讲里也专门对比了 Jetson Bootloader 和典型 i.MX / Rockchip + U-Boot 架构之间的差异,比如:
-
Jetson 的多阶段固件链更复杂
-
板级配置更前置
-
大量信息依赖 BCT
-
支持 A/B、BUP、UEFI Capsule 等更新机制
-
安全链路更严格、更细致
5. Jetson Kernel 的几个核心特点
这一部分是第三讲里最有价值的内容之一,因为它直接关系到后面做驱动、相机、多媒体和系统适配时的理解深度。
Jetson Kernel 有几个很典型的特点:
5.1 NVIDIA OOT 闭源模块
Jetson 的 GPU、ISP、CSI、NVENC 等核心能力,很大程度上依赖 NVIDIA 提供的闭源 OOT 模块。这些模块是 Jetson 获得高性能 AI 和多媒体能力的重要基础。
5.2 分层模块化设计
Linux 主线驱动负责通用外设和基础控制,NVIDIA OOT 模块负责 GPU、ISP、编解码等加速能力。二者是协同关系,但版本匹配要求很严格。
5.3 多层设备树结构
Jetson 采用多层 DTB 结构,包括:
-
SoC DT
-
Module DT
-
Carrier DT
这种分层方式决定了硬件拓扑和资源描述的组织方式,但也意味着任意一层配置错误,都可能导致外设无法正常工作。
5.4 Linux-Tegra 的复合代码结构
Jetson Kernel 并不是单纯的主线内核,而是由主线内核、NVIDIA 特有补丁、闭源模块和固件共同构成。只有这些部分完整协同,Jetson 的全部硬件能力才能真正被启用。
这一讲的重点和难点
这一讲真正的重点,不只是认识几个概念,而是建立一个对 Jetson BSP 的基本认识。
我觉得可以归纳成这几个点:
-
理解 L4T 是 Jetson 的系统底座
-
理解 JetPack 和 L4T 的对应关系
-
理解 Bootloader、Kernel、DTB、RootFS 之间的协同关系
-
理解 Jetson Kernel 为什么和普通 ARM Linux 内核不太一样
从课程本身来看,这一讲的难点也很明确:
核心难点在于理解 Jetson Kernel 的闭源 OOT 模块依赖、严格的版本匹配要求,以及多层设备树结构。这些内容决定 GPU、摄像头、多媒体等能力能不能真正工作起来,也是 Jetson 和其他 ARM 平台差异最大的地方。
这一讲适合谁看
如果你已经开始接触 Jetson,或者正准备从"会刷机、会跑 demo"走向真正理解系统,这一讲会很适合你。
尤其是下面这些情况,建议先把这一讲看完:
-
还不清楚 L4T 和 JetPack 的关系
-
想搞清楚 Jetson 系统到底由哪些部分组成
-
想理解 Bootloader、Kernel、RootFS 的分工
-
准备做设备树、驱动、载板适配或系统定制
-
想从系统层面真正理解 Jetson 平台
课程入口
B站视频入口
与非网课程入口
我想分享的内容
我一直觉得,边缘嵌入式开发真正有意思的地方,不只是把功能跑起来,而是慢慢把硬件、系统、驱动、接口、视频处理和应用之间的关系真正看清楚。
第三讲往前再走了一步,不再只是讲"怎么选"和"怎么装",而是开始讲 Jetson 系统为什么是现在这个样子,它是怎么被组织起来的。
把这一层看明白,后面的内核、设备树、驱动、多媒体和系统定制,理解起来会顺很多。
如果你对 Jetson 和边缘嵌入式开发感兴趣,也欢迎关注我,后面我会把这个系列继续更新下去。