Unable to build the modules, kernel and device tree

These are the logs that am getting when am trying to build the modules.
Does someone knows how to solve this??

make[1]: Entering directory '/home/developer/l4t-sources-Xavier-NX/Linux_for_Tegra/source/public/build'
/home/developer/l4t-sources-Xavier-NX/Linux_for_Tegra/source/public/kernel/kernel-5.10/Makefile:675: include/config/auto.conf: No such file or directory
/home/developer/l4t-sources-Xavier-NX/Linux_for_Tegra/source/public/kernel/kernel-5.10/Makefile:719: include/config/auto.conf.cmd: No such file or directory
make[1]: Leaving directory '/home/developer/l4t-sources-Xavier-NX/Linux_for_Tegra/source/public/build'
make[1]: Entering directory '/home/developer/l4t-sources-Xavier-NX/Linux_for_Tegra/source/public/build'
*** Configuration file ".config" not found!
*** Please run some configurator (e.g. "make oldconfig" or
*** "make menuconfig" or "make xconfig").

Are you compiling natively on the Jetson, or are you using cross compile from the host PC? This changes procedures. Also, you need to be careful to download the NVIDIA source code and not the mainline kernel. The NVIDIA download includes out-of-tree content which is missing if you configure for a Jetson while building on mainline.

A kernel contains a lot of programs and drivers. Each configuration should be considered its own program as the mix can cause one part to change another part, to fail, or to succeed. Most of the tools have this theme:

  1. Start with a base configuration (e.g., the “tegra_defconfig” target is what Jetsons ship with).
  2. Edit whatever customization with a dependency-aware editor, e.g., the menuconfig or nconfig target (the latter is my favorite because it has a symbol search).
  3. Propagate the configuration. There are a number of ways to do this. If you build the kernel itself via the Image target, then the configuration propagates. If you skip the Image target, then you have to propagate the configuration via the modules_prepare target before building modules.

For terminology, L4T is what is actually flashed to a Jetson. This is just Ubuntu plus NVIDIA drivers. You can find the L4T release via “head -n 1 /etc/nv_tegra_release”. The correct source code is available based on the L4T release. JetPack/SDKM is just a GUI front end to the flash software intended for use on a host PC during flash (or sometimes adding optional packages). L4T and JetPack/SDKM releases are tied together, so if you’ve picked one, then you’ve picked the other. You can check for the correct content by matching up either on one of these URLs:

There is also official documentation with that content. The official documents cover cross compile. Basically the “kernel customization” part. Installation of updates is often easier if you don’t follow those documents, although building software is pretty simple with those documents. Install is something you could ask about if you don’t want to flash the system. You’ve mentioned installing a new module, and this is basically the simplest thing if you correctly copy the original source configuration, then edit with a config editor like nconfig, propagate the configuration, and then build modules. The result is a file you can simply copy over instead of flashing.

You can ask more specific questions here if you want, but here are some URLs to more detailed information (especially for native compile on the Jetson):

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