The Raspberry Pi has a number of different stages of booting. This document is meant to help explain how the boot modes work, and which ones are supported for Linux booting.
- Bootflow: Boot sequence description
- SD card: SD card boot description
- USB: USB boot description
- Device boot: Booting as a mass storage device
- Host boot: Booting as a USB host
- Mass storage boot: Boot from Mass Storage Device (MSD)
- Network boot: Boot from ethernet
For the original Raspberry Pi and the Raspberry Pi 2 (based on the BCM2835 and BCM2836 devices), and in situations where the Pi 3 fails to boot, there is a new method of booting from one of the new boot modes (MSD or ethernet).
Just format an SD card as FAT32 and copy on the latest bootcode.bin.
This will then enable the new bootmodes with some bug fixes for the failing Pi 3 cases.
If you have a problem with a mass storage device still not working even with this bootcode.bin, then please add a new file 'timeout' to the SD card. This should extend the time it waits for the mass storage device to initialise to six seconds.