49
edits
Changes
→Flashing the Kernel
= Flashing Standard Firmware =
== SDKManager ==
SDKManager is available only on Linux, and can be installed here: <code>https://developer.nvidia.com/sdk-manager</code>
# Start up the SDKManager
# Put the Jetson into recovery mode. For the AGX, this can be done by pressing the recovery button while powering on the device. For the Nano and NX, however, a jumper will be required.
# Follow the instructions on the application, choosing configurations as necessary.
= Flashing Custom Firmware (For Jetson 36.3) =
== Pre-requisites ==
# Define the Cross-compilation toolchain with the commands <code>export CROSS_COMPILE_AARCH64_PATH=</code>, and <code>export CROSS_COMPILE_AARCH64=/bin/aarch64-buildroot-linux-gnu-</code>. (Potentially deprecated)
# Inside the sources, directory, make an output directory for built kernel files using <code>mkdir kernel_out</code>.
# Build the modules using the command <code>./nvbuild.sh -o kernel_out</code>. This will compile the drivers and device trees for the new kernel.#Navigate out from the <code>sources</code> directory into the <code>Linux for Tegra</code>.# Use the <code>cp</code> to overwrite <code>./rootfs/usr/lib/modules/5.15.136-tegra/updates/nvgpu.ko</code> with <code>./source/kernel_out/nvgpu/drivers/gpu/nvgpu/nvgpu.ko</code>.# Repeat the previous step to replace <code>Linux_for_Tegra/kernel/dtb/</code> with </code>source/kernel_out/kernel/kernel-jammy-src/arch/arm64/boot/dts/nvidia</code>. Ensure that instead of overwriting the directory, only the files are copied over.# Overwrite the Image file in <code>./kernel</code> with <code>./source/kernel_out/kernel/kernel-jammy-src/arch/arm64/boot/Image</code>.# To specify the installation path for the compiled modules, use the command <code>export INSTALL_MOD_PATH=$HOME/nvidia/nvidia_sdk/JetPack_6.0_Linux_JETSON_AGX_ORIN_TARGETS/Linux_for_Tegra/rootfs/</code>. # Install modules using the command <code>./nvbuild -i</code>. The Jetson is now ready to be flashed. == Flashing the Kernel ==Ensure that the target Jetson is connected to the host device and is in recovery mode. Navigate to the <code>Linux for Tegra</code> directory and run <code>sudo ./nvsdkmanager_flash.sh</code>. When prompted, disconnect the Jetson from host device and allow it to boot. Congratulations, you have successfully flashed your Jetson with custom firmware.