1.准备工作
版本:jetpack4.5.1,L4T R32.5.1,TX2 drivers:驱动包,并不是平时意义上的内核驱动,后续这里面的镜像,设备树被新编译的替换。里面有烧写脚本 source:源代码 以上两部分都要下载,传递到ubuntu主机
2.编译脚本
在此之前要先建立rootfs,否则编译会报错 并且主机需要安装一些库
build_kernel.sh内容如下
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
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.烧写
j进入此目录Linux_for_Tegra_tx2(驱动包)
sudo ./flash.sh -r -k APP -G my_backup.img jetson-tx2 mmcblk0p1
sudo ./flash.sh -r -k kernel-dtb jetson-tx2 mmcblk0p1
5.参考资料
参考链接 英伟达社区
|