Skip to main content

Initial Setup Guide

The Husarion OS Flasher Image (HOFI) is a USB stick–based minimal operating system designed specifically for flashing Husarion robots. It runs a lightweight OS tailored for this purpose and includes a dedicated os_images partition for storing the target system images.

It supports x64-based computers, Raspberry Pi 4 / 5 / CM4 / CM5, and NVIDIA Jetson Orin platforms.

Follow this guide to prepare a HOFI USB drive, which you can use to install or update the operating system on your robot at any time.

Step 1: Download the Right Image

Choose the correct Husarion OS Flasher Image for your device:

🕥 Previous versions

Raspberry Pi 4 / 5 / CM4 / CM5:

husarion-os-flasher-rpi-20250327.img

x64-based computers:

husarion-os-flasher-x64-20250327.img

💡 Which Image Do I Need?
RobotTarget SBCHOFI version
PantherUser Computer (ASUS NUC, Lenovo ThinkStation)x64
User Computer (Jetson Orin)tegra
Built-in Computerrpi
LynxUser Computer (ASUS NUC, Lenovo ThinkStation)x64
User Computer (Jetson Orin)tegra
Built-in Computerrpi
ROSbot XLIntel NUCx64
Raspberry Pi 5 / Raspberry Pi 4rpi
Jetson Orin Nanotegra
ROSbot 3 / 3 PRORaspberry Pi 5rpi
ROSbot 2RRaspberry Pi 4rpi
ROSbot 2 PROUP Boardx64

Step 2: Create a Bootable USB Drive

Recommended USB Flash Drives for HOFI

Many embedded boards (including the UP Board) load their bootloader and kernel with a very small, legacy USB stack. These firmwares expect a drive that:

  • enumerates as USB Mass-Storage / Bulk-Only-Transport (BOT), and
  • reports 512-byte logical sectors (or “512e”).
🔍 How to check it?

You can check your pendrive by connecting your pendrive and typing lsusb -t command. If your devices show as Class=Mass Storage, Driver=usb-storage, everything should works fine.

🤔 Why this matters?

Modern high-performance sticks such as the Kingston DataTraveler Max ship in UASP-only mode and use native 4 KiB sectors. Because the firmware has no driver for UASP and cannot address 4 K sectors, the device is simply invisible at boot time—even though it works perfectly once Linux has loaded.

Use drives that fall back to BOT + 512 B sectors

CapacityProven models¹Notes
16 – 64 GBSanDisk Ultra Fit USB 3.2 Gen 1, Samsung Fit PlusTiny, inexpensive; ideal for installer sticks.
64 – 128 GBSanDisk Extreme Pro (USB-A), Transcend JetFlash 920Much better sustained writes than “nano” drives.
128 – 256 GBSanDisk Extreme Pro USB 3.2, Samsung Bar PlusHighest capacity that still presents BOT/512e on most batches.

Drives to avoid for boot media

  • Kingston DataTraveler Max (all capacities) — UASP only, 4 K sectors
  • Most “USB SSD” sticks advertised ≥ 600 MB/s — same limitations
  • Any flash drive that advertises itself as “NVMe over USB”

Sticking with the recommended models above keeps the boot process simple and reliable on all boards we support.

  1. Download and install Etcher.
  2. Format the USB Flash Drive.
  3. Flash the downloaded image onto a USB flash drive using Etcher.

Step 3: First Boot ("Dummy Start")

Preparing Your SBC for USB Boot

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.:

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

  1. Insert the USB drive into your Single Board Computer (SBC).
  2. Turn the SBC on – wait ~30 seconds - HOFI will automatically create the os_images partition (exFAT file system) to use all remaining space on the USB Flash Drive.
🙋 How can I tell if HOFI is ready to use?

You can verify that HOFI (Husarion OS Flasher Image) is ready using one of the following methods:

  1. HDMI Display Connect a display to the SBC's HDMI port. Once HOFI boots, the Terminal User Interface (TUI) should appear on the screen.

  2. SSH via Ethernet Connect your PC to the SBC via Ethernet. HOFI runs a DHCP server, so no manual IP configuration is required. Then, SSH into the system:

    ssh 192.168.77.2
  3. Web Interface Connect your PC to the SBC via Ethernet and open the HOFI web interface in your browser at: http://192.168.77.2:8080

    HOFI web user interface after 1st boot

  1. Turn the SBC off – The USB drive is now ready for use!

After plugging the HOFI USB drive into your laptop, open your Disk Utility to check if the os_images partition has been created. This is the partition where you'll copy your target system images (for SBCs):

HOFI disk usage after 1st boot

As shown above, HOFI is a minimal Linux distribution. In the example shown (x64 version), it uses only around 300 MB in total (29.7 MB + 225 MB + 46.1 MB) to run. The remaining disk space — 61.22 GB in this case — is allocated to the os_images partition, formatted with the exFAT filesystem.


You're Done! 🎉

Your USB drive is now set up with Husarion OS Flasher Image. You can use it anytime to install a new OS on your robot. 🚀

👉 Next Step: Learn how to add OS images to your HOFI USB and install them on your robot!