准備工作
版本: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下的原有文件。