Booting Raspberry Pi 3 B With a USB Drive

About: A kid with two arms, two legs, a nose, a head and a torso!!!

The Raspberry Pi 3 B can be booted with a compatible thumb drive without spending any money!

Note: The Raspberry Pi 3 B+ can be USB booted out-of-the-box.

Step 1: Boot Your Pi on the SD!

The Raspberry Pi 3 B+ is able to boot from USB without any changes, but the Raspberry Pi 3 requires the USB boot bit to be set in the OTP (one-time programmmble).

To enable the USB boot bit, the Raspberry Pi 3 needs to be booted from an SD card with a config option to enable USB boot mode. Once this bit has been set, the SD card is no longer required. Note that any change you make to the OTP is permanent and cannot be undone.

You can use any SD card running Raspbian or Raspbian Lite to program the OTP bit. First, prepare the /boot directory with up to date boot files:-

 sudo apt update && sudo apt upgrade && sudo reboot

Then enable USB boot mode with this code:-

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 has been programmed with:-

 vcgencmd otp_dump | grep 17:

Check that the output 17:3020000a is shown. If it is not, then the OTP bit has not been successfully programmed. In this case, go through the programming procedure again. If the bit is still not set, this may indicate a fault in the Pi hardware itself.

If you wish, you can remove the 'program_usb_boot_mode' line from config.txt, so that if you put the SD card in another Raspberry Pi, it won't program USB boot mode. Make sure there is no blank line at the end of config.txt. You can edit config.txt using the nano editor using the command:-

sudo nano /boot/config.txt              # then scroll all the way to the bottom

Step 2: After Reboot...

Now we need get a compatible USB drive that can be used to boot the Pi!

I am using a Buffalo RUF3-KS Drive because it's fast and cheap....Most of the Verbatim Drives don't work!

We now need to burn an .img to the usb drive(replace 'X' with your Storage):-

sudo dd if=/dev/sdX of="/path/to/image.img"
Do this carefully you can really screw up your computer!

Now you can shutdown your system:-

sudo shutdown now

Step 3: Booting It Up!!

Now you can remove your SD card....

After you have removed your SD card....insert the USB Drive in a USB port and power it up!

Share

    Recommendations

    • Build a Tool Contest

      Build a Tool Contest
    • Trash to Treasure

      Trash to Treasure
    • Epilog X Contest

      Epilog X Contest

    3 Discussions

    0
    None
    Lord_Vek

    6 weeks ago

    OK, thanks for your answer!

    0
    None
    Lord_Vek

    Question 2 months ago on Step 3

    Yes, but after you program the OTP bit, can you still be able to also boot from an SD card again ?

    1 answer
    1
    None
    JustinC186Lord_Vek

    Answer 6 weeks ago

    Yes, because when you reboot after setting the command it still boots off the SD card. If there is no SD card installed it will boot from an attached USB drive (if bootable). If you want to switch back to an SD card just remove the USB drive and reinstall the SD card.