1

I would like to use a raspberry as a Linux server in a more professional project.

However, I am wary of the OS running in an SD card not offering me a reliable solution over time due to their common failures.

Also the raspberry is known for in some situations corrupting the SD contents when powering it off.

I do remember hearing something about booting from a USB pen or disk, what can I do about it and how does it work?

Rui F Ribeiro
  • 56,709
  • 26
  • 150
  • 232

1 Answers1

6

The Raspberry can indeed be programmed to boot from (certain) USB pens, but right now, only the Raspberry 3 is supporting that functionality.

Apparently, the rpi 3 comes with a fuse that can be programatically blown from Raspbian (once). Be aware that once the fuse is blown, there is no coming back. They call it "programming the OTP bit".

Also, there are some timing issues with some USB pens models, however the guys responsible for the project have booted successfully with those models:

  • Sandisk Cruzer Fit 16GB
  • Sandisk Cruzer Blade 16Gb
  • Samsung 32GB USB 3.0 drive
  • MeCo 16GB USB 3.0

So according to their instructions:

Install first Raspbian in an SD card;

Then enable USB boot mode with:

echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt

This adds program_usb_boot_mode=1 to the end of /boot/config.txt.

Reboot the Raspberry Pi with sudo reboot, then check that the OTP bit has been programmed with:

$ vcgencmd otp_dump | grep 17:
17:3020000a

Ensure the output 0x3020000a is shown. If it is not, then the OTP bit has not been successfully programmed.

Install/burn the Linux distro of your choice to your USB device as you would normally do to an SD card.

Attach the USB mass storage device to your Raspberry Pi 3 and power it up. After between five and ten seconds the Raspberry Pi 3 should begin booting, and display the rainbow splash screen on an attached screen.

see How to boot from a USB mass storage device on a Raspberry PI 3 and PI 3 booting part I: USB mass storage boot beta

Glorfindel
  • 815
  • 2
  • 10
  • 19
Rui F Ribeiro
  • 56,709
  • 26
  • 150
  • 232