This step creates a .config in the “$PWD/kernel_out”: make ARCH=arm64 O=$PWD/kernel_out tegra_defconfig
Then this step edits the “.config” in “$PWD/kernel_out”: make ARCH=arm64 O=$PWD/kernel_out menuconfig
Note that if there is a complaint about: drivers/video/Kconfig:27: can't open file "drivers/video/tegra/Kconfig"
…then it is missing in the source. This should not occur and would not be related to any of your commands. This would probably be an incorrect source download of some sort.
Hello, I just tested it. Using the command you gave, execute “make ARCH=arm64 O=$PWM/kernel_out menuconfig” in the /kernel/kernel-5.10 directory, and it can run successfully. But when I execute make menuconfig in the “$PWD/kernel_out” directory, an error is reported
Is that error the previously mentioned one which I quoted above? If so, from the kernel source top directory, does “drivers/video/tegra/” exist? If so, is there a Kconfig and Makefile in that directory? Is any of this owned by root and not readable without being root?
Incidentally, that is the correct download for the kernel source.
I can verify the source code is missing the required content on this release, but has it on another release. However, if this was intended to be missing, then the Kconfig and Makefile would have required an update to prevent this. So I am thinking NVIDIA will likely need to update the source code download to include that directory.
I extracted just the kernel source via: tar xvfj public_sources.tbz2 Linux_for_Tegra/source/public/kernel_src.tbz2
I then went to subdirectory Linux_for_Tegra/source/public, and unpacked that: tar xvfj kernel_src.tbz2
From there: cd cd kernel/kernel-5.10/drivers/video/
I should have found “tegra/” (which would contain a Kconfig and Makefile, which it did contain in prior releases, and which current Kconfig still refers to), but did not. It is indeed missing.
It sounds like the Kconfig of some feature in the main kernel might be looking in the wrong place.
If I go to “Linux_for_Tegra/source/public/kernel/kernel-5.10/drivers/video”, and examine Kconfig, I see: source "drivers/video/tegra/Kconfig"
…but that is “in tree”, not “out of tree”. The “kernel/nvidia/drivers/video” is out of tree. So I think that Kconfig is wrong to search where it does rather than out of tree, unless there is another Kconfig and that particular one should not be set.
Delete your previously sources folder.
Replace Linux_for_Tegra/source_sync.sh with this one: Jetpack5.0.2 kernel compile error - #12 by ShaneCCC (I haven’t overwrited nvbuild.sh).
Then run ./source_sync.sh and type jetson_35.1 when requested.
It shall create the sources folder.
Then retry with your make commands.
I am currently facing this issue as well. Has there been any update? It seems ShaneCCC’s answer is to fix the sourcing issue while using the GitPulls or download from the download centre. I’ve done both and still have this issue.
Is there any short term fix we can do to bypass this. I just wanted to add some flags so that WireGuard could install properly on the Jetson System.
I tested them. The two methods are modified in the “$PWD/kernel_out” directory Config file, so why can one method succeed and the other method report errors? Is there any other difference
Same boat.
Here is a suggestion:
Tested and it works (Jetpack 5.1.1) Not sure if it helps in your case. It works for me.
Feedback welcome.
make -C kernel/kernel-5.10/ ARCH=arm64 mrproper (to start from a clean config)
make -C kernel/kernel-5.10/ ARCH=arm64 O=$PWD/kernel_out tegra_defconfig
make -C kernel/kernel-5.10/ ARCH=arm64 O=$PWD/kernel_out menuconfig
if you compile with ./nvbuild.sh, it will overwrite again the .config on the kernel_out folder.
Thank you for your suggestion. This approach is indeed possible, but what I don’t understand is why using the ‘make menuconfig’ command directly in the ‘O=$PWD/kernel_out’ directory is not possible
As shown above, execute make menuconfig in the source code directory while specifying the compilation generation directory, instead of directly executing make menuconfig in the compilation generation directory