# Cannot find Kernel files in

**URL:** <https://forums.developer.nvidia.com/t/cannot-find-kernel-files-in/329429>\
**Category:** Jetson Orin Nano\
**Tags:** kernel\
**Created:** [April 6, 2025, 3:36pm UTC](https://forums.developer.nvidia.com/t/cannot-find-kernel-files-in/329429 "2025-04-06T15:36:13Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![linuxdev](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/linuxdev/32/10243_2.png) [@linuxdev](https://forums.developer.nvidia.com/u/linuxdev)\
**Post date:** [April 6, 2025, 7:44pm UTC](https://forums.developer.nvidia.com/t/cannot-find-kernel-files-in/329429/2 "2025-04-06T19:44:16Z")

</div>

For reference for other people reading this (I’m trying to be a bit general), the L4T release (which you show as R36.4.3) is just Ubuntu plus NVIDIA drivers. The list of software and docs for a given L4T release is here:  
[https://developer.nvidia.com/linux-tegra](https://developer.nvidia.com/linux-tegra)

Your specific case:  
[https://developer.nvidia.com/embedded/jetson-linux-r3643](https://developer.nvidia.com/embedded/jetson-linux-r3643)

Within this you will see one source download for the sample root filesystem, which is the Ubuntu software without NVIDIA drivers. The other source is a package containing packages, and has what you are after:  
[Driver Package (BSP) Sources](https://forums.developer.nvidia.com/t/error-building-gst-nvvideo4linux2-src-from-jetson-linux-35-4-1-driver-package-bsp-sources/263498)

This produces file `public_sources.tbz2`. To see a list of all tar packages within the main tar package:  
`tar --list -f public_sources.tbz2`

To filter for just the kernel software, including out-of-tree:  
`tar --list -f public_sources.tbz2 | egrep -i kernel`

Now let’s say you want just the kernel source itself, which is what most people will want; this is file `kernel_src.tbz2` within that source. The full path is needed, which happens to be “`Linux_for_Tegra/source/kernel_src.tbz2`”. Here we extract just that file (there is more than one way to do this):

```auto
tar xv Linux_for_Tegra/source/kernel_src.tbz2 -jf ~/Downloads/public_sources.tbz2

```

The “`xv`” is verbose extract, and putting a path after this instead of going straight to the original package name implies you are extracting only that subset of files. The “`jf`” means `bzip2` decompression of a file (“`f`”). This extracts the kernel source, but puts it in a relative subdirectory from where you extracted (which presumably would be from the parent directory of “`Linux_for_Tegra/`”):  
`<parent directory of this>/Linux_for_Tegra/source/kernel_src.tbz2`

You would then “`cd /Linux_for_Tegra/source/`” and unpack `kernel_src.tbz2`:  
`tar xvfj kernel_src.tbz2`

If you were to unpack the out-of-tree content from the parent directory of `Linux_for_Tegra/`, then everything would go to the correct place, and you’d again extract sub-packages from the “`Linux_for_Tegra/source/`”.

Note that in R36.x this source is mainline, but no doubt you’ll want to take your running kernel’s config (copy from “`/proc/config.gz`” to somewhere safe, and note “`uname -r`” since the suffix tells you `CONFIG_LOCALVERSION`; this is normally “`-tegra`”) and start with that. The default config from mainline is the “`defconfig`” `make` target, but NVIDIA will ship with some other items enabled (I think there are minor differences, but perhaps not). `config.gz` is a reflection of the running kernel’s exact configuration at the time of build, except that it lacks the `CONFIG_LOCALVERSION`.

---

_[View the full topic](https://forums.developer.nvidia.com/t/cannot-find-kernel-files-in/329429)._
