Skip to content

Booting the Raspberry Pi from the HDD / SSD / USB flash drive

  • by

At the moment, booting from USB is available for the Raspberry Pi version: 2B v1.2, 3A +, 3B, 3B + and 4B.

To enable booting from USB, add the line to config.txt on the memory card:

program_usb_boot_mode=1

Warning! This can only be done once and cannot be undone! Setting this flag changes the OTP i.e. programmable memory only once, you can read more here:

https://en.wikipedia.org/wiki/Programmable_read-only_memory

To check if memory was programmed successful use command:

vcgencmd otp_dump | grep 17

And check if the value 0x3020000 is returned, if not, repeat again. If the value is correct, then from now on we can boot our Raspberry from a memory connected to USB (pendrive, HDD or SSD).

Pendrive:

W przypadku pendrive’ów nie napotkałem na problemy. System startował za każdym razem.

HDD:

In the case of the 320GB WD Scorpio Blue HDD, I was able to start the system in two of the three tested configurations.

Configuration 1 – Drive connected to the USB 3.0 supporting case (without external power supply) – the system did not start.

Configuration 2 – Disk connected to SATA -> USB 2.0 adapter with additional power supply in the form of a USB power supply. The system booted up without problems.

Configuration 3 – The drive is connected to the Unitek Y-3324 adapter that supports USB 3.0 with an external power supply. The system booted up without problems.

What’s next?

In the next post I will try to prepare a tutorial on system migration from a memory card to a hard drive.

Source: https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/msd.md

Leave a Reply

Your email address will not be published. Required fields are marked *