What I did:
Defconfig for Jetpack 5.1.2:
- Download the sources for Jetpack 5.1.2
- Open the defconfig file
~/Downloads/jetson_35_4_1_public_sources/Linux_for_Tegra/source/public/kernel/kernel-5.10/arch/arm64/configs/defconfig
- Or download it here: defconfig.jetpack_5_1_2.txt (32.2 KB)
- Search the file to see if the module you are missing in Jetpack 6.0 is present in Jetpack 5.1.2, in my case:
CONFIG_INPUT_UINPUT=y
CONFIG_INPUT_JOYDEV=y
Then sync the kernel sources for Jetpack 6.0 DP following the developer guide:
cd ~/nvidia/nvidia_sdk/JetPack_6.0_DP_Linux_DP_JETSON_ORIN_NANO_TARGETS/Linux_for_Tegra/source
./source_sync.sh -k -t jetson_36.2
- Open the defconfig file
~/nvidia/nvidia_sdk/JetPack_6.0_DP_Linux_DP_JETSON_ORIN_NANO_TARGETS/Linux_for_Tegra/source/kernel/kernel-jammy-src/arch/arm64/configs/defconfig
- For reference, you can download it here: defconfig.jetpack_6_0.txt (30.4 KB)
- Check if the modules that were available for Jetpack 5.1.2 are also present for Jetpack 6.0. If not, add the configs at the bottom of the file and save. In my case I added at the bottom:
CONFIG_INPUT_UINPUT=y
CONFIG_INPUT_JOYDEV=y
Then proceed building the Jetson linux kernel.
In my case, I also needed to install the following packages to build the kernel:
sudo apt install flex bison libssl-dev
Then continue with Flashing the Jetson:
cd ~/nvidia/nvidia_sdk/JetPack_6.0_DP_Linux_DP_JETSON_ORIN_NANO_TARGETS/Linux_for_Tegra
sudo tools/l4t_flash_prerequisites.sh
- Set the Jetson in recovery mode with the jumper cable, connect USB-C cable to host pc, power Jetson.
- Verify on host pc with
lsusb
that Jetson is connected in recovery mode, showing device “NVidia Corp” sudo ./nvsdkmanager_flash.sh