Skip to main content

Initial Setup Guide

This guide prepares a HOFI USB stick. You only do it once; after that the same stick installs or updates the operating system on your robot whenever you need it.

HOFI is a small operating system of its own. On its first start it turns the rest of the stick into the hofi_drive partition, which holds the OS images you want to install.

Step 1: Download the right image​

Choose the image for your robot's computer:

The images are xz-compressed, and you do not need to extract them: Etcher flashes .img.xz files directly.

💡 Which image do I need?
RobotRobot computerHOFI image
Panther, LynxBuilt-in Computer (Raspberry Pi)hofi-rpi
User Computer (ASUS NUC, Lenovo ThinkStation)hofi-x64
User Computer (Jetson Orin)hofi-jetson
ROSbot XLRaspberry Pi 5 / Raspberry Pi 4hofi-rpi
Intel NUChofi-x64
Jetson Orin Nanohofi-jetson
ROSbot 3 / 3 PRORaspberry Pi 5hofi-rpi

Step 2: Create a bootable USB stick​

  1. Download and install Etcher.
  2. Flash the downloaded image onto a USB stick with Etcher. This erases everything on the stick.

Any stick of 16 GB or more works. A bigger one just holds more OS images; a compressed OS image takes roughly 2-10 GB.

Choosing a USB stick

Many embedded boards load their bootloader and kernel through a very small, legacy USB stack. That firmware only sees drives that:

  • enumerate as USB Mass Storage, Bulk-Only Transport (BOT), and
  • report 512-byte logical sectors (or "512e").
🔍 How do I check my stick?

Plug the stick into a Linux computer and run lsusb -t. If it shows up as Class=Mass Storage, Driver=usb-storage, it will work.

🤔 Why does this matter?

Fast modern sticks such as the Kingston DataTraveler Max ship in UASP-only mode with native 4 KiB sectors. The boot firmware has no UASP driver and can't address 4 K sectors, so the stick is invisible at boot time, even though it works fine once Linux is running.

Sticks that fall back to BOT and 512 B sectors:

CapacityProven modelsNotes
16-64 GBSanDisk Ultra Fit USB 3.2 Gen 1, Samsung Fit PlusSmall and cheap, good 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 PlusLargest size that still presents BOT/512e on most batches

Sticks to avoid as boot media:

  • Kingston DataTraveler Max (all capacities): UASP only, 4 K sectors
  • most "USB SSD" sticks advertised at 600 MB/s or more, for the same reason
  • anything sold as "NVMe over USB"

Any of the recommended models above boots on every board we support.

Step 3: First 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.:

Raspberry Pi 4 for ROS

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. Plug the USB stick into the robot's computer.

  2. Turn the robot on. On this first start HOFI creates the hofi_drive partition from all the free space on the stick. On Raspberry Pi and x64 this takes well under a minute. NVIDIA Jetson boards start noticeably slower, so give them a few minutes. HOFI does not touch the robot's own disk until you press Flash.

  3. Check that HOFI is up by opening the HOFI screen in one of these ways:

    • Monitor: connect a monitor (HDMI) to the robot's computer and the HOFI screen appears on it.
    • Browser: connect the robot to your router, or straight to your laptop with an Ethernet cable, and open http://hofi-rpi.local (hofi-x64.local / hofi-jetson.local on the other computers). On a direct cable the page can take up to a minute to open. A Linux laptop needs a one-time setup first, described in Open the HOFI screen.

    HOFI main screen in a web browser

  4. You can go straight on to the usage guide and install a system. If you're done for now, select ⏻ Power Off (press it twice to confirm) and unplug the stick.

What is on the stick now

The hofi_drive partition takes up all the remaining space. It is formatted as exFAT, so Windows, macOS and Linux can all open it when you plug the stick into your computer, and while HOFI runs the same partition is shared on the network.

Next step 🎉​

Your HOFI stick is ready. Continue with installing an OS image on your robot.