jetson tx2内核编译步骤与方法

1.准备工作

版本:jetpack4.5.1,L4T R32.5.1,TX2
drivers:驱动包,并不是平时意义上的内核驱动,后续这里面的镜像,设备树被新编译的替换。里面有烧写脚本
source:源代码
以上两部分都要下载,传递到ubuntu主机

2.编译脚本

在此之前要先建立rootfs,否则编译会报错,参考建立rootfs以及NFS挂载
并且主机需要安装一些库

build_kernel.sh内容如下,可以统计耗时
#!/bin/sh
SYSTEM_TIME_START=$(date +%s.%N)
TARGET_KERNEL_OUT=~/output #输出路径,避免污染内核
export LOCALVERSON=-tegra
export CROSS_COMPILE=/usr/local/arm/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
export ARCH=arm64

mkdir -p $TARGET_KERNEL_OUT
make distclean
make O=$TARGET_KERNEL_OUT tegra_defconfig
make O=$TARGET_KERNEL_OUT menuconfig
make O=$TARGET_KERNEL_OUT -j8

SYSTEM_TIME_END=$(date +%s.%N)
USE_TIME_SECOND=$(echo 'scale=2; ('$SYSTEM_TIME_END '-' $SYSTEM_TIME_START')/1' | bc)
USE_TIME_MIN=$(echo 'scale=2; ('$USE_TIME_SECOND '/60)/1' | bc)
echo "编译耗时:" $USE_TIME_MIN "min" $USE_TIME_SECOND "s"

3.拷贝与替换

进入内核根目录下,执行以上脚本即可
到指定编译生成路径下: /arch/arm64/boot
拷贝Image文件替换Jetpack安装包目录 /64_TX2/Linux_for_Tegra_tx2/kernel下的该原文件

到指定编译生成路径下: /arch/arm64/boot/dts
拷贝所有的dtb文件替换Jetpack安装包目录 /64_TX2/Linux_for_Tegra_tx2/kernel/dtb下的原有文件

执行以下语句安装模块

sudo make ARCH=arm64 O=$TEGRA_KERNEL_OUT modules_install \ INSTALL_MOD_PATH=<top>/Linux_for_Tegra/rootfs/

到刚刚指定安装modules的目录下打包文件:

cd <modules_install_path>
tar --owner root --group root -cjf kernel_supplements.tbz2 lib/modules

拷贝打包文件替换Jetpack安装包目录 /64_TX2/Linux_for_Tegra_tx2/kernel下的原有文件

4.烧写

进入此目录Linux_for_Tegra_tx2(驱动包)

sudo ./flash.sh jetson-tx2 mmcblk0p1  #烧录
sudo ./flash.sh -r -k APP -G system.img jetson-tx2 mmcblk0p1  #备份镜像

#烧写备份的镜像时,需要将system.img文件复制到Liunx_for_Tegra/bootloader/目录下,在Liunx_for_Tegra目录下执行
sudo ./flash.sh -r jetson-xxx mmcblk0p1
#-r选项会使用bootloader下存在的镜像
sudo ./flash.sh -k kernel jetson-tx2 mmcblk0p1#单独更新kernel,不一定有用,可以试试-K <Image完整路径+Image>
#设备树文件在Linux_for_Tegra/kernel/dtb目录下,更改之后需要让工具重新执行编译烧录才会生效
sudo ./flash.sh -r -k kernel-dtb jetson-tx2 mmcblk0p1  #单独烧写dtb,

5.参考资料

参考链接
英伟达社区
jetson系列更新
更新内核成功
学习资料汇总
最新刷固件

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值