rpiboot (Raspberry Pi USB boot) is a utility program from Raspberry Pi that can put a Compute Module into bootloader mode. This mode is also called Device Mode .

In bootloader mode, the RevPi is recognized by the host PC as an external storage device via a USB connection. This allows an image file (.img) to be transferred to the RevPi so that it then starts with the new operating system.

You require:

✓ RevPi base module

✓ Host PC (Windows or Linux)

✓ USB 2.0 data cable:

  • For RevPi Connect 5: Type-A to USB-C

  • For all other RevPi base modules: Type-A to Micro-USB

1. Installing rpiboot on the Host PC #

Note

▷ Always use the latest version of rpiboot to ensure that the current hardware versions are supported.

  • Windows

  • Linux

▷ Download rpiboot_setup.exe.

▷ Start the .exe to install rpiboot on your PC using the installation wizard. Always use the latest version of rpiboot, i.e. you may have to uninstall an older version.

▷ Clone this repository via Git:

git clone https://github.com/raspberrypi/usbboot

▷ For Linux (Debian), install the following dependencies:

sudo apt install git pkg-config build-essential libusb-1.0-0-dev

▷ Install any missing tools for compiling rpiboot, e.g. make:

sudo apt install make

▷ Change to the directory usbboot:

cd usbboot

▷ Compile the program:

make

❯ rpiboot is then available in the usbboot directory.

2. Shutting Down the RevPi #

▷ If necessary, deactivate an active hardware or software watchdog, as this can interrupt the bootloader mode.

▷ Shut down the RevPi.

▷ Disconnect the RevPi from its power supply.

3. Starting rpiboot #

  • Windows

  • Linux

▷ Open the directory on your PC under which rpiboot was installed.

▷ Start rpiboot.exe.

The Raspberry Pi Foundation is continuously developing rpiboot. The file names of the current version may therefore differ from those listed here. If necessary, select the appropriate variant for your RevPi, e.g. …​ CM5 for a RevPi Connect 5.

❯ A terminal opens on your PC. The message Waiting for BCM…​ appears.

❯ rpiboot is now ready and waiting for the RevPi as an external storage device.

▷ Start rpiboot:

sudo ./rpiboot

❯ The message Waiting for BCM…​ appears.

❯ rpiboot is now ready and waiting for the RevPi as an external storage device.

4. Starting RevPi in Bootloader Mode #

▷ Connect the RevPi to your PC via the USB data cable.

▷ Reconnect the power supply to the RevPi.

❯ The RevPi now starts in bootloader mode.

❯ rpiboot recognizes the Raspberry Pi Compute Module and loads the required files until the RevPi is displayed on your PC as an external storage device.

  • Windows

  • Linux

▷ Select No action to deactivate automatic action for external storage devices.

❯ The RevPi appears in Explorer as a new drive, e.g. D:\.

▷ Check whether the RevPi has been recognized as a block device:

lsblk

❯ The RevPi appears as a new block device, e.g. /dev/sdX.

❯ The RevPi is now ready in bootloader mode for backing up or installing an operating system image, see Saving and Reinstalling the Image.

Troubleshooting #

Problem Cause Solution

RevPi is not recognized as an external storage device.

Wrong order.

Make sure you follow the correct order:

  • Disconnect the RevPi from the power supply.

  • Start rpiboot on the host PC.

  • Connect the USB data cable.

  • Reconnect the RevPi to the power supply.

Wrong USB cable used.

Use an OTG-capable USB cable that supports data transfer. A power-only USB charging cable is not suitable.

Outdated version of rpiboot used.

Uninstall rpiboot and install the latest version.

Wrong version of rpiboot used.

Several versions of rpiboot may be available under Windows.

Windows is using the wrong driver.

Install the driver WinUSB manually, e.g. via Zidag.

Bootloader mode aborts.

Hardware or software watchdog is active.

Deactivate all Watchdogs.

Error message: TrustedPublisher.

Driver signature check failed.

Temporarily deactivate the driver signature check, e.g. under Windows when restarting via the F7 key (advanced startup settings).

No micro USB interface on the RevPi.

Your base module is a RevPi Connect 5 or a RevPi Flat.

Use the USB-C interface for RevPi Connect 5.
The RevPi Flat is designed to be tamper-proof and does not have a micro USB port.