Attempting to build the kernel. First step is to build from source without modifications, to make sure I understand the build process. So far, unsuccessful in preparing the source files.
Issue 1
The nvgpu.ko file is missing, which led me to this post:
Issue 2
The apply_binaries.sh script is missing, which I thought should be located in the Linux_for_Tegra directory; however, after unpacking the public_sources.tbz2 archive, the apply_binaries.sh is not found.
https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v4.3/sources/public_sources.tbz2
Hi,
Please refer to
No data from Joystick Logitech-f710 - #10 by DaneLLL
You would need to download and extract the packages first:
Jetson Linux | NVIDIA Developer
Driver Package (BSP)
Sample Root Filesystem
FYI, most of the flash software on the host PC is from the “driver” package. This includes almost everything inside of the “Linux_for_Tegra/
” subdirectory. “Most” of the content of the “Linux_for_Tegra/rootfs/
” content is purely Ubuntu from the “sample root filesystem” package. JetPack/SDK Manager downloads and installs this for you if not using command line. It is the “driver” package which produces the “apply_binaries.sh
” file; running this with sudo
is what copies most NVIDIA content into “rootfs/
”. However, the flash software works with many models and releases, and it is the flash command itself which adds the kernel and some content into the “rootfs/
” prior to using it to create an image to be flashed.
For this latter point, if you look at files “Linux_for_Tegra/jetson*.conf
”, then you will find these are the flash targets if you remove the “.conf
” from the name. Each of these are in turn symbolic links, and if you examine what they point to (with “ls -l jetson*.conf
”) you will find these are just the human-readable names of models of the module and carrier board (sometimes also with a revision). It is within those files (which are flash targets) that the kernel and boot configuration to be used are determined, and this is what makes the final copy into “rootfs/
” for those few items which apply_binaries.sh
does not copy. In other words, apply_binaries.sh
needs to run only once, but the flash target will copy in items like kernel, initrd, and boot specs every flash (technically, these do not need to be copied after the first time if and only if you do not change flash target).
The kernel source itself is not something which gets flashed. This is why it is an optional package within the public sources tarball package. If you did not run “sudo apply_binaries.sh
” once, then I would expect nvgpu.ko
to be missing.