# Flashing Jetson using system image (alternative)

{% hint style="info" %}
DroneCore.Suite is by default shipped with the Jetson flashed with the current version of the system image. This image evolves over time, so the need to re-flash the Jetson system image may arise. This section describes how to flash the Jetson with the provided system image.
{% endhint %}

{% hint style="info" %}
To check the currently flashed system image release number, type: `printenv SYSIMG_RELEASE`
{% endhint %}

### Instructions:

**Creating working directory for device:**

* In the following steps, the Jetson is disconnected from the host PC
* Download and install the NVIDIA SDK Manager [official web](https://developer.nvidia.com/nvidia-sdk-manager)
* Open SDK manager
* Choose "Target Hardware" and "Linux" according to which system the image is intended for. (Jetson Xavier NX modules / JetPack4.6 used in this example)
* Continue through all the steps (with the Jetson disconnected)
* If the SDK Manager show flash dialog, click on "Skip".
* If installation is complete, click on "FINISH AND EXIT".
* Now the working directory for the target is created in the '/nvidia/nvidia\_sdk/' folder. (JetPack\_4.6\_Linux\_JETSON\_XAVIER\_NX\_TARGETS in this example)

**Download custom\_system.img and copy to the working folder:**

* Download `custom_system.img.raw` from [storage](https://airvolute.com/download/Jetson_system/).
* Backup the original system.img and system.img.raw in .../Linux\_for\_Tegra/bootloader/ directory
* Move `custom_system.img.raw` to `/nvidia/nvidia_sdk/$target_working_directory/Linux_for_Tegra/bootloader` as `system.img` (`sudo mv custom_system.img.raw .../JetPack_4.6_Linux_JETSON_XAVIER_NX_TARGETS/Linux_for_Tegra/bootloader/system.img`)

**Run Jetson in Recovery mode**

* The use of the complete DroneCore.Suite is assumed
* Power-off board (pressing the button on .Power board to turn off DroneCore is enough)
* On DroneCore.Pilot interconnect FC\_REC with the GND pin on CONTROL pin header.
* Connect the micro USB cable from the host PC to the USB\_DEV connector on the .Pilot board
* Power-on (don't forget to turn on the DroneCore with the button on the .Power board)

**Flash the board with flash.sh script:**

* Open the terminal window in the `.../$target_working_directory/Linux_for_Tegra/` directory
* Execute `sudo ./flash.sh -r jetson-xavier-nx-devkit-emmc mmcblk0p1` (for Xavier NX and internal EMMC)
* For other options with flash script, see [Flashing and Booting the Target Device](https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/flashing.html)

{% hint style="info" %}
If you are using 16GB Xavier NX with J.P. 4.6.0 and flashing is not successful, please use the Nvidia patch (Overlay to support Jetson Xavier NX 16GB).&#x20;

The patch can be downloaded from here: <https://developer.nvidia.com/xnx-16gb-r3261-overlaytbz2>

To apply the patch, decompress it into HOME/nvidia/nvidia\_sdk/JetPack\_4.6\_Linux\_JETSON\_XAVIER\_NX\_TARGETS
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://test-airvolute.gitbook.io/test-airvolute-docs/autopilots/getting-started/flashing-jetson-using-system-image-alternative.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
