L4T是什么
L4T是Linux for Tegra的缩写,因为jetson系列用的是Tegra架构,因此L4T可以理解为jetson定制的Linux操作系统,具体的来说就是ubuntu定制款。
为什么要编译内核
通常来说编译内核的工作是为了客户基于jetson产品自己定制一些功能,比如增加一些硬件设备的驱动。
内核源码和操作系统的关系
简单来说我们使用的Linux操作系统是通过源码编译出来的,有写代码经验的朋友应该知道源码和可执行文件之间的关系,当然操作系统远比普通的可执行文件程序复杂,但可以用这个思路理解,所以如果你想要给你的系统增加底层的功能,你需要更改kernel源码,然后重新编译,然后把一些生成的文件刷进你当前的系统中,就实现了操作系统的更新。
编译内核的意义
编译内核是你更改系统的最基础的操作,必须要会。
怎么编译
NVIDIA给我们提供了每个版本的源码文件。
首先下载这些源码,然后选择一个平台进行编译。
具体来说有两种思路:
1.直接在jetson上编译(也叫目标平台编译,因为我们编译出来的文件是要刷到这个机器上的,所以叫目标平台)
优点是不跨平台,编译命令简单,缺点是慢,真的慢
2.交叉编译(就是在一台x86 PC上编译,因为我们是在一个硬件上编译出来给另一个硬件用,相当于跨平台了)
优点是速度快,不会把目标平台搞乱,缺点是需要进行交叉编译配置
个人推荐在交叉平台上编译。下一节会讲一下如何在x86 PC上进行交叉编译环境的配置