玩转NVIDIA Jetson AGX Xavier(12)--- L4T内核kernel编译之在jetson上编译kernel

在Jetson平台上直接编译内核的好处是不存在交叉编译,编译非常顺利。但是慢!

适用于想在Jetson平台上一步到位,干所有事的玩家
本期内核版本L4T 32.1,使用Jetpack4.2刷机
官网教程有点confuse,因为没说明白是在哪编译,对于初学者不太友好,老规矩放上官网教程
https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%2520Linux%2520Driver%2520Package%2520Development%2520Guide%2Fkernel_custom.html%23

  1. 下载内核源码
    官网上有通过git获取源码的方式,这里我不建议这么做,直接到网站上下载更好。
    打开NVIDIA Jetson的下载中心
    https://developer.nvidia.com/embedded/downloads
    在这里插入图片描述
    进入下载中心后确认一下版本和产品,32.1,JAX and TX2。
    这个版本一定要和你手上的Jetson上运行的版本一致,不然会搞挂你jetson上的系统。
    以后的新版本源码下载也是如此,版本号和产品务必对应。
  2. 解压源码
    把下载好的文件拷到一个位置,我建议新建一个存放源码的文件夹,并且固定下来不要移动
    在新建目录下,解压第一层文件,下载的文件不一样文件名也不一样
tar -xjf JAX-TX2-public_sources.tbz2

第一层解压之后会出现一个public_sources的文件夹,继续解压第二层文件

tar -xjf public_sources/kernel_src.tbz2

解压完这层以后,目录下会出现kernel的文件夹,这个就是源码了。打开kernel会看到kernel-4.9 nvgpu nvidia三个文件,kernel-4.9是Linux4.9的源码。

注意:后边所有的步骤要在一个terminal下完成!不要打开多个命令窗

  1. 配置.config文件
    设置编译输出路径,我在这里用的是 /home/xavier/kernel 随便搞一个就行
    这个目录将会存储你从kernel编译出来的所有内容
TKOUT=/home/xavier/okernel

检查一下路径设置的对不对,注意下面代码里的$是要写上的

$TKOUT

会显示TKOUT=/home/xavier/okernel is a directory,意味着你的路径设置成功了,其实这个主要是为了后边写make参数时更方便,所以用变量代替。

打开源码路径

cd /home/xavier/kernel/kernel-4.9

确认一下编译输出路径

sudo mkdir -p $TKOUT

配置.config文件

sudo make ARCH=arm64 O=$TKOUT tegra_defconfig

成功后会提示你生成了.config文件。
注意,tegra_defconfig在每个版本或者每个产品里叫法都不一样,TX2好像是tegra18_defconfig

  1. 编译内核
    还是在kernel-4.9的目录下,使用
sudo make ARCH=arm64 O=$TKOUT -j4

j4是选择用几个核进行编译,Xavier有4个核,如何查询核的数量可以看我的前边的一篇jetson常用命令的博文。

漫长的等待,在jetson上编译大概需要1-2个小时的时间,编译完成后到okernel下边,就可以找到你想要的.ko或者其他系统升级文件了。

  • 6
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gaosiy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值