boot_order
To boot HOFI, you need to configure your device to prioritize USB storage during startup. This ensures the board will attempt to boot from the HOFI USB drive before falling back to internal storage (e.g., microSD card, eMMC, or NVMe).
The method for setting USB boot priority depends on the target platform, eg.:
- Raspberry Pi
- x64-Based SBCs
- Jetson Orin Nano
Edit the bootloader configuration using:
sudo -E rpi-eeprom-config --edit
Set BOOT_ORDER
so that 4
(USB) comes first. For example:
BOOT_ORDER=0xf164
→ USB → NVMe → SD card (repeat)BOOT_ORDER=0xf14
→ USB → SD card (repeat)
Save the changes and reboot the Pi.
👉 Learn more in the Raspberry Pi bootloader configuration guide
During boot, press the key required to enter BIOS or UEFI settings — commonly ESC
, F2
, or F12
depending on the board. Then change the boot order to prefer USB devices.
USB boot is usually enabled by default. If HOFI doesn't boot:
- Connect an HDMI display and USB keyboard to the Jetson
- Power it on and press
ESC
during boot - Select Boot Manager and set USB as the first boot device
⚠️ Jetson Orin Boot Firmware
Boot firmware
If you want to install and boot Husarion’s customized Ubuntu system images on a Jetson SBC using HOFI, you’ll first need to update the device’s firmware. This guide follows the steps outlined in the official Ubuntu installation instructions for NVIDIA Jetson.
Before flashing an OS image, you must update the boot firmware on the Jetson Orin Nano.
Preparing the Host Computer (Linux)
First, install required tools and download the Jetson Linux firmware package:
cd ~
sudo apt update
sudo apt install lbzip2
wget https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v4.3/release/Jetson_Linux_r36.4.3_aarch64.tbz2
tar -xf Jetson_Linux_r36.4.3_aarch64.tbz2
Install the required dependencies:
sudo apt install -y python3 mkbootimg bzip2 cpp device-tree-compiler
cd ~/Linux_for_Tegra/
sudo ./tools/l4t_flash_prerequisites.sh
Flashing the Boot Firmware
To flash the Jetson Orin Nano’s boot firmware:
- Short the
FC REC
andGND
pins on the Jetson - Connect the Jetson's USB-C port to your laptop using a USB-A to USB-C cable
- Power on the Jetson
- On your laptop, run the firmware flashing script:
cd ~/Linux_for_Tegra/
sudo ./flash.sh p3768-0000-p3767-0000-a0-qspi internal
- Wait ~8 minutes until you see a confirmation like:
[ 508.5119 ] Flashing completed
[ 508.5120 ] Coldbooting the device
[ 508.5125 ] tegrarcm_v2 --chip 0x23 0 --ismb2
[ 508.5130 ] MB2 version 01.00.0000
[ 508.6113 ] Coldbooting the device
[ 508.6121 ] tegrarcm_v2 --chip 0x23 0 --reboot coldboot
[ 508.6127 ] MB2 version 01.00.0000
*** The target generic has been flashed successfully. ***
Reset the board to boot from internal eMMC.
- Disconnect power from the Jetson, remove the jumper between
FC REC
andGND
, and unplug the USB cable.