# Flashing Jetson using system image (alternative)

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

{% hint style="info" %}
To check currently flashed system image release number type:

`printenv SYSIMG_RELEASE`
{% endhint %}

### Instructions:

**Creating working directory for device:**

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

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

* download `custom_system.img.raw` from [storage](https://airvolute.com/download/Jetson_system/).
* backup 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 complete DroneCore.Suite is assumed
* power-off board (pressing button on .Power board to turn off DroneCore is enough)
* on DroneCore.Pilot interconnect FC\_REC with GND pin on [CONTROL](/autopilots/dronecore-1/pilot-boards/dcs1.pilot-v1.0/dronecore.pilot-connector-description-and-pins-assignment.md#control) pin header)
* connect micro usb cable from host PC to USB\_DEV connector on .Pilot board
* power-on (don't forget to turn on DroneCore with button on .Power board)

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

* open terminal window in `.../$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 nvidia patch (Overlay to support Jetson Xavier NX 16GB), the patch can be downloaded from here: <https://developer.nvidia.com/xnx-16gb-r3261-overlaytbz2>

To apply the patch just 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://docs.airvolute.com/autopilots/getting-started/flashing-jetson.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.
