# Raspberry pi 3 boot from usb

**URL:** <https://forums.plex.tv/t/raspberry-pi-3-boot-from-usb/169833>\
**Category:** Apps & Creations\
**Created:** [December 5, 2016, 11:36am UTC](https://forums.plex.tv/t/raspberry-pi-3-boot-from-usb/169833 "2016-12-05T11:36:06Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![thommy86](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/thommy86/32/9133_2.png) [@thommy86](https://forums.plex.tv/u/thommy86)\
**Post date:** [December 5, 2016, 11:36am UTC](https://forums.plex.tv/t/raspberry-pi-3-boot-from-usb/169833/1 "2016-12-05T11:36:06Z")

</div>

As stated on the rPi website (see links below), the raspberry pi 3 has the possibility to boot directly from a mass storage device, such as an USB stick or hard drive and from network without the necessity of a microSD card installed.

I want to ask if anyone did this with Rasplex? If not, is there’s any possibility to update the Rasplex installer to write USB sticks compatible with this feature, considering it has to have an updated bootcode.bin (issued in the ‘next’ branch of rPi firmware) and a proper cmdline.txt (at the moment, the USB stick written with the Pi image of Rasplex contains a cmdline.txt that references the SD partition).

> **[Pi 3 booting part I: USB mass storage boot beta - Raspberry Pi](https://www.raspberrypi.org/blog/pi-3-booting-part-i-usb-mass-storage-boot/)**
>
> When we originally announced the Raspberry Pi 3, we announced that we’d implemented several new boot modes. The first of these is the USB mass storage boot mode, and we’ll explain a little bit about it in this post; stay tuned for the next part on...

  

> **[Raspberry Pi — Teach, Learn, and Make with Raspberry Pi](https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/msd.md)**
>
> The Raspberry Pi is a tiny and affordable computer that you can use to learn programming through fun, practical projects. Join the global Raspberry Pi community.

  
[https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=155167](https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=155167)

Background info:  
I am building a case for the Pi and want to be able to switch usb sticks to switch software. The usb sticks will be in a kind of cartridge, so something like bootberry is not an option.

---

<div class="post-metadata">

**Author:** ![benjaminwolf](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/benjaminwolf/32/4305_2.png) [@benjaminwolf](https://forums.plex.tv/u/benjaminwolf)\
**Post date:** [December 6, 2016, 5:55am UTC](https://forums.plex.tv/t/raspberry-pi-3-boot-from-usb/169833/2 "2016-12-06T05:55:51Z")

</div>

I don’t believe there are any immediate plans to intentionally add this functionality. But OpenPHT versions typically include the latest rPi firmware. You could always add it as a feature request to the [github](https://github.com/RasPlex/OpenPHT/issues "github").

---

<div class="post-metadata">

**Author:** ![thommy86](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/thommy86/32/9133_2.png) [@thommy86](https://forums.plex.tv/u/thommy86)\
**Post date:** [December 10, 2016, 3:56pm UTC](https://forums.plex.tv/t/raspberry-pi-3-boot-from-usb/169833/3 "2016-12-10T15:56:49Z")

</div>

Is there an option to create this myself? I did manage to create an USB for retropie because thats based on raspbian. But don’t know how the handle this for rasplex.

Maybe you got a nice idea regarding my setup. I am using a NES as a media player. I want to switch cartridges to switch between retropie and rasplex. In the cartridge will be an USB stick. The old solution to boot of usb (with the sd card in) will also not work, as these OS use different boot files. (correct me if i’m wrong)

---

<div class="post-metadata">

**Author:** ![thommy86](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/thommy86/32/9133_2.png) [@thommy86](https://forums.plex.tv/u/thommy86)\
**Post date:** [January 18, 2017, 10:14am UTC](https://forums.plex.tv/t/raspberry-pi-3-boot-from-usb/169833/4 "2017-01-18T10:14:43Z")

</div>

I just saw that the USB/PXE boot function is pushed to the master branch. So hope this will be included in the next build.

I also just found that a sd card with only a bootcode.bin will make an usb to boot. I will test this later today.

> **[Pi 3 booting part I: USB mass storage boot beta - Raspberry Pi](https://www.raspberrypi.org/blog/pi-3-booting-part-i-usb-mass-storage-boot/)**
>
> When we originally announced the Raspberry Pi 3, we announced that we’d implemented several new boot modes. The first of these is the USB mass storage boot mode, and we’ll explain a little bit about it in this post; stay tuned for the next part on...

---

<div class="post-metadata">

**Author:** ![videotecaCNSU](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/videotecacnsu/32/17514_2.png) [@videotecaCNSU](https://forums.plex.tv/u/videotecaCNSU)\
**Post date:** [January 18, 2017, 5:43pm UTC](https://forums.plex.tv/t/raspberry-pi-3-boot-from-usb/169833/5 "2017-01-18T17:43:13Z")

</div>

Wow, what a nice project

I like the idea of swapping cartridges for changing the function  
hope you share some photos later

---

<div class="post-metadata">

**Author:** ![benjaminwolf](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/benjaminwolf/32/4305_2.png) [@benjaminwolf](https://forums.plex.tv/u/benjaminwolf)\
**Post date:** [January 19, 2017, 8:21am UTC](https://forums.plex.tv/t/raspberry-pi-3-boot-from-usb/169833/6 "2017-01-19T08:21:05Z")

</div>

> @thommy86 said:  
> I just saw that the USB/PXE boot function is pushed to the master branch. So hope this will be included in the next build.
> 
> I also just found that a sd card with only a bootcode.bin will make an usb to boot. I will test this later today.
> 
> [https://www.raspberrypi.org/blog/pi-3-booting-part-i-usb-mass-storage-boot/](https://www.raspberrypi.org/blog/pi-3-booting-part-i-usb-mass-storage-boot/)

I’m not sure if that’s possible, but inquiring minds would like to know. 🙂

---

<div class="post-metadata">

**Author:** ![thommy86](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/thommy86/32/9133_2.png) [@thommy86](https://forums.plex.tv/u/thommy86)\
**Post date:** [January 19, 2017, 11:03pm UTC](https://forums.plex.tv/t/raspberry-pi-3-boot-from-usb/169833/7 "2017-01-19T23:03:36Z")

</div>

I did some quick tests as I didn’t had a lot of time, but no luck so far! I will update when I can share more information.

@videotecaCNSU  
You can find a picture on the [hyperion forum](https://hyperion-project.org/threads/level-shifter.623/ "hyperion forum"). When my build is finished, I will make a post there in the showcase section. I am still waiting for a few parts.

edit: fix link

---

<div class="post-metadata">

**Author:** ![thommy86](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/thommy86/32/9133_2.png) [@thommy86](https://forums.plex.tv/u/thommy86)\
**Post date:** [April 13, 2017, 5:05pm UTC](https://forums.plex.tv/t/raspberry-pi-3-boot-from-usb/169833/8 "2017-04-13T17:05:21Z")

</div>

With the update to 1.8 this option is made available.

---

<div class="post-metadata">

**Author:** ![dlanor](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/dlanor/32/4522_2.png) [@dlanor](https://forums.plex.tv/u/dlanor)\
**Post date:** [April 13, 2017, 8:19pm UTC](https://forums.plex.tv/t/raspberry-pi-3-boot-from-usb/169833/9 "2017-04-13T20:19:09Z")

</div>

It is in fact possible to install RasPlex 1.8.0 to a USB drive and edit the setup in such a way that an RPi3 can boot from that USB drive without any SD card installed. But in order for such booting to work at all, whether for RasPlex or anything else, you first need to boot that RPi3 once with an SD card having a special directive added to the end of its “config.txt” file.  
That directive line is as follows:  
program\_usb\_boot\_mode=1

The first time an RPi3 boots an SD card with such a directive, this will cause a permanent change of a ‘one-time-programmable’ bit in the hardware, giving it the ability to boot from USB. Once that has been done you no longer need to use SD cards, though you still can do so. The new boot procedure always looks for an SD card first, and only if no bootable SD card is present does it proceed to look for a bootable USB drive.

Installation of RasPlex to a USB drive can be done in the same way as you would install to an SD card.  
Both the RasPlex Installer and the commonly used “Win32 Disk Imager” can be used to flash RasPlex to either an SD card or a removable USB drive. And the procedure for doing it is identical. Just make sure to choose the right drive.

However, in order for RasPlex to work properly when booted this way you also need to modify the “cmdline.txt” file after installing the RasPlex image to the USB drive. Normally that file specifies SD card partitions for use as boot partition and application data partition, and this naturally needs to be changed when using a USB drive instead. In editing the “cmdline.txt” file you simply replace its original single line with the text line shown below:  
boot=/dev/sda1 disk=/dev/sda2 quiet

On the first boot of that USB drive RasPlex will create and resize the second partition mentioned in “cmdline.txt” for use by the embedded OpenPHT application in all future boot sessions (including the automatic reboot after this formatting).

The method described above can also be used for some other software than RasPlex, though it might not apply to all RPi software. eg: BerryBoot has its own different method for USB boot support, and does not use “cmdline.txt” the same way as RasPlex and some others do. But most software based on “LibreELEC” or “OpenELEC” should be compatible with the same methods as RasPlex.

Best regards: dlanor

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/plex/original/3X/2/a/2acb9765406f63293d357b4ec509ec39aa28f2ad.png) [@system](https://forums.plex.tv/u/system)\
**Post date:** [January 8, 2020, 7:28pm UTC](https://forums.plex.tv/t/raspberry-pi-3-boot-from-usb/169833/10 "2020-01-08T19:28:27Z")

</div>


