We'll show how to modify your Raspberry Pi 4 or 400 bootloader to boot via USB storage media, such as an external SSD (solid-state drive), which is way faster, more reliable, and offers more storage than a microSD card. You will also learn how to enable network boot on your Raspberry Pi 4 to boot via an Ethernet (internet) connection.

Why Boot Raspberry Pi from SSD or Network?

There are certain situations where you would want to boot Raspberry Pi from a USB SSD instead of a microSD card.

For instance, when you enable Raspberry Pi 4 boot from SSD, the Pi checks for connected bootable USB devices first. If no bootable USB device is detected, the Pi checks for the SD card and boots the OS from that. Thus, you can use Raspberry Pi to boot, run, or test other OS releases without needing to format or delete the main OS from the SD card that you use every day.

Also, if you don't have an SD card, or have a smaller-capacity SD card but require more storage for your purpose, USB boot via a flash drive (such as a thumb drive or SSD) makes sense. However, if the Raspberry Pi 4 stops booting, look for these causes for a Raspberry Pi that won't boot and fix them.

If you have a Pi 3, you can modify the /boot/config.txt file to allow Raspberry Pi 3 to boot from SSD or any other supported external media. Just add the following line:

        program_usb_boot_mode=1
    

With a Raspberry Pi 3B+, it's even simpler: you should just be able to connect a USB SSD with an OS on it and it will boot up.

Flash USB Bootloader Firmware

To enable Raspberry Pi SSD boot, you need to flash the USB bootloader firmware to your Raspberry Pi 4. For this, you will require a microSD card of any size (as small as 256MB will work). Then follow these steps to flash the USB bootloader to your Raspberry Pi 4.

  1. Download, install, and launch the latest version of the Raspberry Pi Imager tool. Also, connect the microSD card to your computer system.
  2. Click Choose OS and select Misc Utility Images > Bootloader > USB Boot.
    Choose usb boot option
  3. Click Choose Storage and select the microSD card.
  4. Click Write. Wait for it to complete. Once the process has finished, dismount/eject the microSD card and then remove it from the computer.
  5. With the Raspberry Pi 4 turned off, insert the USB boot microSD card.
  6. Connect the power supply to the Raspberry Pi 4. The Pi will turn on and the USB bootloader will flash automatically. This will take only a few seconds. The green LED light on the Raspberry Pi will blink steadily once the bootloader is flashed successfully. If you have connected the HDMI port to a display, you will see a green screen once the firmware is flashed.
  7. You can now turn off the Raspberry Pi and remove the microSD card.

Flash and Boot Raspberry Pi From SSD

Your Raspberry Pi 4 is now ready to boot from external USB storage media, such as a thumb drive or portable SSD or hard drive. However, you need to flash the USB boot media with the desired OS you want to boot via Raspberry Pi 4. The steps are as follows:

  1. Launch the Raspberry Pi Imager tool and click Choose OS to select the OS from the list. If you want to flash an OS image you have downloaded on your local machine, select the Custom option and then select the .img OS file from your system.
    flash desired raspberry pi os on usb media
  2. Click Choose Storage to select the connected USB SSD storage media (we will refer to it as Raspberry Pi SSD) and click Write.
  3. After the OS is flashed on the USB SSD media, dismount/eject it and then disconnect the drive from the system.
  4. Connect the Raspberry Pi SSD drive to one of the USB 3.0 ports on your Raspberry Pi 4.
  5. Connect the power supply to turn on the Raspberry Pi 4. The Pi will check for the bootable USB media first and if found, it will start booting the operating system from the connected USB storage drive.
  6. You can now use the Raspberry Pi with the OS running via the USB SSD storage drive. This will enable you to try various operating systems and projects, such as the DIY Philips Ambilight for any TV.

You can also follow these instructions to enable Raspberry Pi 400 boot from SSD.

Flash Network Boot Firmware

Enabling network boot on Raspberry Pi 4 is easy and comes in handy if the Raspberry Pi 4 fails to boot from the connected SD card for any reason, such as OS corruption. When you flash the network boot firmware, the Raspberry Pi 4 will try booting from the SD card first. However, if the OS is not found or damaged, the Raspberry Pi 4 will load the Imager tool.

In such cases, you don't need to re-flash the SD card using your computer, which requires you to remove the card from the Raspberry Pi 4. Instead, you can use the automatically loaded Raspberry Pi Imager tool to download and flash the OS directly from the internet to the SD card without needing to remove the card from the Raspberry Pi 4.

The steps are as follows:

  1. Launch the Raspberry Pi Imager tool on your computer system and attach the SD card.
  2. Click Choose OS and select Misc Utility Images > Bootloader > Network Boot.
  3. Click Choose Storage, select the SD card, and click Write. Wait for this to complete.
  4. Insert the network boot SD card into Raspberry Pi 4 and turn it on.
  5. The network boot firmware will be flashed. The green LED will start blinking once that is complete.

You can now remove the network boot SD card. If you now insert a blank SD card and connect an Ethernet cable, you can flash the card with the desired OS directly from the internet on your Raspberry Pi 4.

Boot Raspberry Pi via Network Connection (Ethernet)

If you have flashed the network boot bootloader on your Raspberry Pi 4, it will load the Raspberry Pi Imager tool. You need to follow these steps to flash the OS from the internet when network boot is enabled.

  1. Press and hold the Shift key for a few seconds.
  2. Connect a router-connected Ethernet cable to the Raspberry Pi 4 or 400.
  3. It will start downloading the installer. Once downloaded, you can use the Imager tool to flash the SD card just like you do on another computer.

This will save you time, and you are not required to disconnect anything from your Raspberry Pi 4.

Test or Run Multiple Pi OSes via USB Boot

With USB boot, you can enable Raspberry Pi 4 boot from SSD and try multiple operating systems, including beta versions, compatible with Raspberry Pi 4 or Raspberry Pi 3, and test them without having to remove the SD card running the stable version.

It also helps you increase the storage, which comes in handy when you use the Raspberry Pi 4 as a MotionEye NVR or Plex server to store video recordings or movies and TV shows. Network boot helps you quickly rescue the system when the OS on an SD card fails to boot due to corruption or any other reason.