Can't compile the Jetson Nano kernel

I have the same problem as Cross compile failed - Jetson & Embedded Systems / Jetson Nano - NVIDIA Developer Forums but I cannot understand how the problem was solved by the provided solution.

Hi @aayush.kafle,

It seems like that answer points to create a new folder and start from scratch the kernel compilation on another directory at all.

If that was the case before, can you try before configuring the kernel, by cleaning it to see if it changes something? Something like this:

make ARCH=arm64 O=$TEGRA_KERNEL_OUT mrproper

Roberto Gutierrez,
Embedded SW Engineer at RidgeRun
Contact us:
Developers wiki:

ok, I do the following:

rm -rf kernel_source/
rm -rf jetson_flash/kernel_out/
mkdir kernel_source
mkdir kernel_out
export TEGRA_KERNEL_OUT=/home/<user>/kernel_out
cp public_sources.tbz2 kernel_source/
tar -xjf public_sources.tbz2
cd Linux_for_Tegra/source/public/
tar -xjf kernel_src.tbz2

then patch some files for installing driver,

patch -p1 -i $RELEASE_PACK_DIR/Kernel/e-CAM24_CUNX_JETSON_NANO_L4T32.6.1_kernel.patch --dry-run
patch -p1 -i $RELEASE_PACK_DIR/Kernel/e-CAM24_CUNX_JETSON_NANO_L4T32.6.1_kernel.patch
patch -p1 -i $RELEASE_PACK_DIR/Kernel/e-CAM24_CUNX_JETSON_NANO_L4T32.6.1_dtb.patch --dry-run
patch -p1 -i $RELEASE_PACK_DIR/Kernel/e-CAM24_CUNX_JETSON_NANO_L4T32.6.1_dtb.patch 
patch -p1 -i $RELEASE_PACK_DIR/Kernel/e-CAM24_CUNX_JETSON_NANO_L4T32.6.1_module.patch --dry-run
patch -p1 -i $RELEASE_PACK_DIR/Kernel/e-CAM24_CUNX_JETSON_NANO_L4T32.6.1_module.patch


make ARCH=arm64 O=$TEGRA_KERNEL_OUT Image -j12

which works at this point.
And again,

make ARCH=arm64 O=$TEGRA_KERNEL_OUT modules -j12

which also works.
But then, here it fails:

make ARCH=arm64 O=$TEGRA_KERNEL_OUT dtbs

a bunch of those:

/home//Linux_for_Tegra/source/public/kernel/kernel-4.9/arch/arm64/boot/dts/Makefile:119: target ‘arch/arm64/boot/dts/ddot’ given more than once in the same rule

followed by:

/home//Linux_for_Tegra/source/public/kernel/kernel-4.9/arch/arm64/boot/dts/Makefile:133: warning: overriding recipe for target ‘arch/arm64/boot/dts/ddot

/home//Linux_for_Tegra/source/public/kernel/kernel-4.9/arch/arm64/boot/dts/Makefile:120: warning: ignoring old recipe for target ‘arch/arm64/boot/dts/ddot


/home//Linux_for_Tegra/source/public/kernel/kernel-4.9/arch/arm64/boot/dts/Makefile:132: target ‘arch/arm64/boot/dts/ddot’ given more than once in the same rule

message and finally:

Hi @aayush.kafle,

Does this issue happens without applying any of the patches?


I get the same error when I didn’t patch the files.

update: the kernel compile does not fail after following this solution: Failed to make L4T kernel dts - #9 by mzapart

However, I still have to check if the patching is done correctly.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.