I’m trying to build the kernel and the modules (NVIDIA’s OOT + Display drivers) for the Jetson Linux 36.3 (JP 6.0) in order to run it on a Jetson Orin Nano Developer kit board.
I could built the kernel and modules, install them and boot them on the board. However, the modules nvidia.ko and nvidia_modeset.ko are refusing to load:
[ 256.073942] NVRM: failed to get bpmp data
[ 256.073981] nv_platform: probe of 13800000.display failed with error -1
[ 256.074220] platform 13800000.display:nvdisplay-niso: Removing from iommu group 41
[ 256.074493] NVRM: The NVIDIA probe routine was not called for 1 device(s).
[ 256.074495] NVRM: This can occur when a driver such as:
NVRM: nouveau, rivafb, nvidiafb or rivatv
NVRM: was loaded and obtained ownership of the NVIDIA device(s).
[ 256.074497] NVRM: Try unloading the conflicting kernel module (and/or
NVRM: reconfigure your kernel without the conflicting
NVRM: driver(s)), then try loading the NVIDIA kernel module
NVRM: again.
[ 256.074498] NVRM: No NVIDIA devices probed.
During the boot I’ve got lots of these messsages:
[ 18.697120] nv_platform: probe of 13800000.display failed with error -1
[ 19.169526] nv_platform 13800000.display: Unbalanced pm_runtime_enable!
[ 19.170225] nv_platform: probe of 13800000.display failed with error -1
[ 20.082995] nv_platform 13800000.display: Unbalanced pm_runtime_enable!
[ 20.083839] nv_platform: probe of 13800000.display failed with error -1
I can get rid of these errors if I remove the tegra-drm module (rmmod tegra-drm) and can reach the Xorg server. However, there are many devices missing on /dev and I can’t run a CUDA container.
I’ve fetched the corresponding public_sources.tbz2, checked instructions from Kernel Customization — NVIDIA Jetson Linux Developer Guide 1 documentation and I’ve got no errors during the kernel build. Apparently everything went well. I’m using default config (defconfig) and the kernel version it’s exact the same running from the installed Jetpack on the board (which runs successfully and can load the mentioned modules).
I’m attaching two logs, one for the default kernel from Jetpack (where everything works) and the logs for the kernel I’ve built (where I can’t load nvidia.ko and nvidia_modeset.ko).
Thanks for the reply @KevinFFF, exactly… I’m experiencing these errors only with the the kernel I’ve built… I just built the kernel + modules without any changes. I will try the JP 6.1 and post the results here…
Okay, please let us know the result of JP6.1.
If there’s still the issue, please share the detailed steps and the exact commands you used to build the image and how you apply the change.
@KevinFFF I’ve tested with JP6.1 (Jetson Linux 36.4), the behavior was the same. However, it turns out the issue was the way I was building the kernel and the modules. I was trying to change the output folder for the binaries (so I’ve set KERNEL_OUTPUT apart from the CROSS_COMPILE). Apparently some dependencies were not correct resolved. I realized that looking to the module info… the output below is for the nvidia.ko binary shipped with JP6.0:
Only drm as dependency, so I think we were getting those errors during load because I had all the correct dependencies modules (host1x-nvhost, etc) already loaded…
Anyways, after export only the CROSS_COMPILE, as explained in the guide, I could built successfully the modules and the kernel and it worked.