10

The older Raspberry Pi's (Pi 1, Pi 2 and Pi Zero) couldn't boot from a USB-device, but the Raspberry Pi 3 has support for it. The Pi and Pi 2 have semi-support for it (using an SD-card with a single bootfile). The Pi Zero W is a remake of their older boards but it's newer than the Pi 3.

Is the Raspberry Pi Zero W fully compatible with the new bootcode? Can the Raspberry Pi Zero W boot from USB without using an SD card?

1

3 Answers 3

6

EDIT: This is possible if the Zero/Zero W is set up to act as a USB device and gets the boot files from a host machine that it's plugged into. See Janghou's answer below for details.

The rest of this post applies to booting the Zero W when it is acting as a USB host, which appears to be what the original question was asking.


Not with no SD card at all. The Pi Zero W uses a BCM2835, which contains the old SD card-only bootloader. It's not so much a question of the Pi being older or newer as of which processor it uses.

Also, this thread states that they can only really give the BCM2835/BCM2836* a new bootloader if somebody is willing to donate a LOT of money to create a new mask rom that could be used to program the chips.

However, as Toothbrush pointed out in the comments, you can use an SD card with just bootcode.bin on it and you will be able to boot from a USB device.

*The now out of production BCM2836, which was used in the Pi 2 until that model switched to use the BCM2837, uses the old bootloader as well.

7
  • My Pi Zero W (and Pi 3) got delivered today and I can confirm that you are correct.
    – Max
    Commented Mar 9, 2017 at 13:21
  • 3
    If you copy only bootcode.bin onto the SD card, you can boot from a USB mass storage device. See github.com/raspberrypi/documentation/blob/master/hardware/… for details.
    – Toothbrush
    Commented Mar 13, 2017 at 18:56
  • 2
    @anonymoose Yes, my intention was to note that you could boot from USB, even on those old devices which do not natively support it. You could potentially buy a very cheap 64MB MicroSD card. Also, please note that Max asks two questions. "Is the new Raspberry Pi Zero W fully compatible with the new bootcode?" – Not without a MicroSD card. "Can the Raspberry Pi Zero W boot from USB without using an SD card?" – No, not without an SD card with bootcode.bin.
    – Toothbrush
    Commented Mar 13, 2017 at 20:40
  • 1
    @Toothbrush True. I'll update my answer.
    – anonymoose
    Commented Mar 13, 2017 at 20:51
  • 2
    @php_nub_qq Yes, you can find the details at raspberrypi.com/documentation/computers/….
    – Toothbrush
    Commented Dec 13, 2021 at 11:21
4

Yes

You can boot an RPI Zero without a SD card through an USB cable connected with a PC.

You need Raspberry Pi USB booting code that is available here on Github or can be installed on a RPI or Raspberry Desktop computer (PC) running Stretch.

It's available since the Stretch update of 2017-12:

sudo apt-get install usbbootgui

Just connect a RPI Zero with an USB cable in the USB OTG and without an SD card, a GUI will pop-up:

  • GPIO expansion board
  • eMMC /SD card reader
  • Custom application

For accessing GIO pins.

Is should be possible to boot Stretch (or any other application) through USB, although I've not seen a working example yet.

A first step into booting Stretch Lite (crashes when looking for the rootfs) can be achieved with:

# setup a Loop device and scan partition table
sudo losetup -P /dev/loop0 ~/Downloads/2017-11-29-raspbian-stretch-lite.img
# if loop device busy try /dev/loop1
# mount the loop device boot partition
sudo mount /dev/loop0p1/ /media/pi/
# boot the pi zero from the mounted image
sudo rpiboot -d /media/pi/

The pi Zero will boot and show the red Raspberry Icon, but there it stops.

This blog-post describes how to boot Raspbian Stretch on a Zero without an SD card.

3
  • Is it possible to do this from a Mac? Commented Dec 6, 2018 at 12:04
  • I guess it is, it's all open source. I guess, you need to compile usbbootgui, and mount an image on a nfs-server, or try a ubuntu virtual machine.
    – Janghou
    Commented Dec 7, 2018 at 21:13
  • I've been trying to recreate your blog post however usbboot doesn't recognize a new device when I plug in my Zero W. Do I have to put it into device mode first? If so, is that possible without an SD card? Commented Mar 22, 2020 at 17:58
1

Simple answer is "No, and no."

Raspberry Pi Zero W was released newer than the Pi 3. But Raspberry Pi Zero W use older chip--BCM2835. It can do same thing as you mentioned--The Pi and Pi 2, and Pi Zero W have semi-support for it (using an SD-card with a single bootfile).

I appreciate all the answers but when I am reading answers it made me more confusing than what was asked--I think because I am quite beginner in the Raspberry Pi.

So I think it might helpful for beginner like me.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.