> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.stereolabs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.stereolabs.com/_mcp/server.

# Flash your ZED Box Orin with Real-Time Kernel

> **Warning**
>
> This guide is only for **Advanced users** who want to flash the ZED Box Orin with a Real-Time Kernel. If you are not familiar with flashing devices, you do not require real-time capabilities, or you do not know what we are talking about, it is recommended to not follow this guide.

The **ZED Box Orin** can run a **Real-Time Kernel** (RT Kernel) for applications that require low-latency processing and high determinism. This is particularly useful for robotics, industrial automation, and other time-sensitive applications.

> **Note**
>
> If you are looking for the guide to install the Real-Time Kernel on the **NVIDIA® Jetson™ AGX Orin**, please refer to the NVIDIA® documentation ([L4T 36.3](https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/SD/Kernel/KernelCustomization.html#real-time-kernel-using-ota-update) / [L4T 36.4](https://docs.nvidia.com/jetson/archives/r36.4/DeveloperGuide/SD/Kernel/KernelCustomization.html#real-time-kernel-using-ota-update)).

## Prerequisites

* Ubuntu 22.04 or 20.04 Linux host machine
* At least 30GB free disk space on the host machine
* A [ZED Box Orin](https://www.stereolabs.com/store/products/zed-box-orin) device (Orin NX or Orin Nano series)

### Download the flashing script

We provide ready scripts to flash the ZED Box Orin with a Real-Time Kernel:

* [NVIDIA® JetPack 6.0 / L4T 36.3](https://download.stereolabs.com/scripts/rt_zedbox_onx_usb_flash_r363.sh)
* [NVIDIA® JetPack 6.2 / L4T 36.4.3](https://download.stereolabs.com/scripts/rt_zedbox_onx_usb_flash_r364.sh)

#### What the Script Does

The script will perform the following actions:

1. **Downloads** required NVIDIA and StereoLabs files automatically
2. **Extracts** and sets up build environment
3. **Builds** RT kernel with ZED Box optimizations
4. **Flashes** the device or **creates** a bootable USB Key

## Flash the ZED Box Orin with Real-Time Kernel

1. Set the workspace directory:

   ```bash
   export BSP_ROOT=$(pwd)/J62RT
   ```

2. Make the script executable:

   ```bash
   chmod +x rt_zedbox_onx_usb_flash_rXYZ.sh
   ```

   *Replace `XYZ` with the version you downloaded, e.g., `364` for L4T 36.4.*

3. \[Optional] Set a custom hostname for the ZED Box:

   ```bash
   export ZBOX_NAME=my-zedbox-name
   ```

   *If not set, the default hostname will be used.*

4. Put your ZED Box in recovery mode. You can follow the instructions in the [ZED Box Orin Flashing Guide](/docs/products/embedded/zed-box-orin/reset-update/#force-the-zed-box-in-recovery-mode).

5. Connect the ZED Box to your host machine via USB.

6. Run the script:

   ```bash
   ./rt_zedbox_onx_usb_flash_rXYZ.sh
   ```

   *Replace `XYZ` with the version you downloaded, e.g., `364` for L4T 36.4.*

   The process will take a long time to complete; please be patient.

7. Boot the ZED Box Orin

8. **Hold the dependencies before running any `sudo apt update` or `sudo apt upgrade` commands**:

   ```bash
   sudo apt-mark hold nvidia-l4t-display-kernel nvidia-l4t-kernel nvidia-l4t-kernel-dtbs nvidia-l4t-kernel-headers nvidia-l4t-kernel-oot-headers nvidia-l4t-kernel-oot-modules  
   ```

   > **Note**
   >
   > *This will prevent the system from updating the kernel and overwriting the real-time patches. For detailed information please [read here](https://elinux.org/Jetson/L4T/r36.4.x_patches#Kernel_Customization).*

### Script Process

The script will ask you to confirm the following steps:

* **Flash with RT kernel? (y/n)** - Answer `y` to flash your device; Answer `n` to build the kernel without flashing

## Create a bootable USB Key

If you do not want to flash the ZED Box Orin, you can create a bootable USB key with the Real-Time Kernel. This allows you to boot the ZED Box Orin from the USB key without flashing the internal storage. This is useful for testing or development purposes.

1. Insert USB drive (16GB+ recommended)

2. Set USB device:

   ```bash
   export SDX=sda  
   ```

   *Replace `sda` with the name of your USB device (e.g., `sdb` for `/dev/sdb`).*

3. Set the workspace directory:

   ```bash
   export BSP_ROOT=$(pwd)/J62RT
   ```

4. Make the script executable:

   ```bash
   chmod +x rt_zedbox_onx_usb_flash_rXYZ.sh
   ```

   *Replace `XYZ` with the version you downloaded, e.g., `364` for L4T 36.4.*

5. Run the script:

   ```bash
   ./rt_zedbox_onx_usb_flash_rXYZ.sh
   ```

   *Replace `XYZ` with the version you downloaded, e.g., `364` for L4T 36.4.*

   The process will take a long time to complete, depending on your USB drive speed.

## Troubleshooting

If you encounter issues during the flashing process:

* Review the `logs` directory for detailed error messages and troubleshooting information.
* Ensure that you have sufficient disk space on your host machine.
* Double-check that your [ZED Box Orin is properly in recovery mode](/docs/products/embedded/zed-box-orin/reset-update/#force-the-zed-box-in-recovery-mode).
* Check the USB cable and, if necessary, replace it with a shorter one to avoid connection issues.
* If problems persist, collect the relevant log files and contact StereoLabs support at [support@stereolabs.com](mailto:support@stereolabs.com) for further assistance.