Trying to build Kernel image in orin nano board, download the latest nvidia 36.4.3 and did the following steps
tar -xvf public_sources.tbz2
L4T_RELEASE_PACKAGE=Jetson_Linux_R36.4.3_aarch64.tbz2
SAMPLE_FS_PACKAGE=Tegra_Linux_Sample-Root-Filesystem_R36.4.3_aarch64.tbz2
BOARD=jetson-orin-nano-devkit
echo $L4T_RELEASE_PACKAGE
echo $SAMPLE_FS_PACKAGE
echo $BOARD
cd Linux_for_Tegra/source/
tar xf kernel_src.tbz2
tar xf kernel_oot_modules_src.tbz2
tar xf nvidia_kernel_display_driver_source.tbz2
cd kernel/kernel-jammy-src/
Applied patches(custom) in this directory using the following command:
git am
once Applied made changes in menuconfig in the same directory
make menuconfig
make savedefconfig
cp defconfig arch/arm64/configs/tegra_pceax_defconfig
Go to Source Directory
Linux_for_Tegra/source
export KERNEL_DEFCONFIG=tegra_pceax_defconfig
./generic_rt_build.sh “enable”
export CROSS_COMPILE=/home/user/l4t-gcc_latest/aarch64–glibc–stable-2022.08-1/bin/aarch64-buildroot-linux-gnu-
make -C kernel
Unable to build the kernel image its failing at last like this
make: *** [Makefile:33: kernel] Error 2
make: Leaving directory ‘/home/user/nvidia_orin_nano/Linux_for_Tegra/source/kernel’
Attaching error log for reference
orin_nano_error_log.txt (231.4 KB)
You shouldn’t use make on everything. Start by restricting to:
make -C kernel Image
If that succeeds, then “make -C kernel modules”.
I also recommend that you use the “make -C kernel O=/some/temp/location ...target...” to avoid contaminating the source code itself. If you do that, then every build line (except possibly mrproper) would use the “O=/some/temp/location/”. If you’ve built anything directly in the kernel source, then I’ll recommend you remove all of that via the “make -C kernel mrproper” (no “O=/some/temp/location/”)
Also, I’m not sure about the configuration steps which might be ok. However, if you ran menuconfig without first setting to a known default configuration (such as the defconfig target in L4T R36.x+, or tegra_defconfig for L4T R35.x or earlier…see “head -n 1 /etc/nv_tegra_release”), then the menuconfig is not valid. There has to be a starting sane default configuration.
when using this command im unable to build the imagemake -C kernel Image
make -C kernel Image
make: Entering directory ‘/home/user/nvidia_orin_nano/Linux_for_Tegra/source/kernel’
make: *** No rule to make target ‘Image’. Stop.
make: Leaving directory ‘/home/user/nvidia_orin_nano/Linux_for_Tegra/source/kernel’
Is the full kernel source code available in the “./kernel/” subdirectory where you’ve run the command? If the source code is present, then this tends to imply there is no configuration.
Just to be sure that the source is pristine, and to verify the source code is there, try removing all configuration (you should really be putting configuration in an empty location outside of the source code, which I can say more about later):
make -C kernel mrproper
(makes the source code of a kernel in the “./kernel/” subdirectory pristine without configuration)
If this fails, then what do you see from “ls -AF” when you’ve actually used cd to go to the “kernel/” subdirectory?