准备工作
版本:jetpack3.1,R28.1,TX2
虚拟机:ubuntu14.04
编译
主要步骤记载如下:
export CROSS_COMPILE=<crossbin>
export TEGRA_KERNEL_OUT=<outdir>
export ARCH=arm64
<crossbin>是交叉编译工具的路径,如:
<aarch64_toolchain_install>/bin/aarch64-unknown-linux-gnu-
outdir是编译生成文件的目标路径。
进入源码路径:
cd <source path>/kernel/kernel-4.4
依次执行:
make O=$TEGRA_KERNEL_OUT tegra21_defconfig //TX1
make O=$TEGRA_KERNEL_OUT tegra18_defconfig //TX2 make O=$TEGRA_KERNEL_OUT zImage make O=$TEGRA_KERNEL_OUT dtbs make O=$TEGRA_KERNEL_OUT modules make O=$TEGRA_KERNEL_OUT modules_install INSTALL_MOD_PATH=<your_destination>//安装路径
替换
替换Image
到指定编译生成路径下:<path>/arch/arm64/boot
拷贝Image、zImage文件替换Jetpack安装包目录<path>/64_TX2/Linux_for_Tegra_tx2/kernel下的原有文件。
替换dtb
到指定编译生成路径下:<path>/arch/arm64/boot/dts
拷贝所有的dtb文件替换Jetpack安装包目录<path>/64_TX2/Linux_for_Tegra_tx2/kernel/dtb下的原有文件。
替换modules
到刚刚指定安装modules的目录下打包文件:
tar --owner root --group root -cjf kernel_supplements.tbz2 lib/modules
拷贝打包文件替换Jetpack安装包目录<path>/64_TX2/Linux_for_Tegra_tx2/kernel下的原有文件。