RPi USB booting
As discussed in RPi SD cards, the SD card is the default boot device for most models of the Raspberry Pi. However, it is not the only possible option on some models. For example, if the Raspberry Pi 3 Model B+ (3B+) finds no bootable SD card, after a few seconds it will try to find a bootable USB device.
The physical nature of the device isn't critical; it could be a disk drive, flash drive, solid state drive, etc. As long as the device appears and behaves as expected, the 3B+ will attempt to boot from it.
There are various reasons a user might prefer to boot from a USB device. They may simply dislike dealing with the microSD card format, which is too small to be usefully labeled and has no way to attach a tag. The microSD card can also be difficult to handle, especially for users with limited vision and/or dexterity.
There are a couple of timing issues that can affect USB booting.
Some USB devices start up too slowly to be used (at least, reliably) as boot devices. Devices that are powered from the Raspberry Pi (e.g., flash drives) are a case in point. The device only has a limited amount of time, after it receives power, to get ready to receive an inquiry from the Raspberry Pi. If it does not respond in time, the Raspberry Pi will give up on it.
There is nothing to prevent someone from plugging more than one bootable USB device into the Raspberry Pi (or a connected USB hub). If multiple USB storage devices are available at power up time, the Raspberry Pi has no way to know which one to use. So, it will use the first one that responds.
The tables below attempt to indicate which USB devices are thought to work as boot devices for a Raspberry Pi. Entries whose Description contains "per blog" were adapted from an August 2016 blog post (Pi 3 booting part I: USB mass storage boot beta) by Gordon Hollingsworth and the associated comments.
Each table can be sorted using the triangles in the top row. Please add entries in the correct location, so that the initial sort is by Manufacturer, Size, and Part Name. Keep separate entries for working and non-working. Put your user name and date in the final column, so people can judge if the problem is still likely to occur.
A number of USB flash drives have been reported to work well as boot devices for the Raspberry Pi. The following table will always be incomplete, and some entries may be inaccurate, but it's a start...
Working / Non-working Flash Drives
|ok||Lexar||USB 3.0||16||?||per blog||Rich_Morin 27 Sep 2019|
|ok||Lexar||JumpDrive S45 (USB 3.0)||64||LJDS45-64GABNL||per blog||Rich_Morin 27 Sep 2019|
|ok||MeCo||? (USB 3.0)||16||?||per blog||Rich_Morin 27 Sep 2019|
|ok||Samsung||? (USB 3.0)||32||?||per blog||Rich_Morin 27 Sep 2019|
|ok||Samsung||Flash Drive Fit (USB 3.0)||128||MUF-128BB/AM||per blog||Rich_Morin 27 Sep 2019|
|ok||SanDisk||Cruzer Glide (USB 2.0)||16||DCZ60-016G-Q461||per blog||Rich_Morin 27 Sep 2019|
|ok||SanDisk||Extreme (USB 3.0)||128||?||per blog||Rich_Morin 27 Sep 2019|
|ok||SanDisk||Cruzer Blade (USB 2.0)||16||?||per blog||Rich_Morin 27 Sep 2019|
|ok||SanDisk||Extreme (USB 3.0)||32||SDCZ80-032G-G46||per blog||Rich_Morin 27 Sep 2019|
|ok||SanDisk||Extreme (USB 3.0)||64||SDCZ80-064G-G46||per blog||Rich_Morin 27 Sep 2019|
|ok||SanDisk||Cruzer Fit (USB 2.0)||16||?||per blog||Rich_Morin 27 Sep 2019|
|ok||SanDisk||Cruzer Ultra (USB 3.0)||32||SDCZ48-032G-U46||per blog||Rich_Morin 27 Sep 2019|
|ok||SanDisk||Ultra Fit (USB 3.0)||16||SDCZ43-016G-GAM46||per blog||Rich_Morin 27 Sep 2019|
|ok||Transcend||? (USB 3.1)||32||?||per blog||Rich_Morin 27 Sep 2019|
|ok||Verbatim||PinStripe||16||?||per blog||Rich_Morin 27 Sep 2019|
|nok||Kingston||DataTraveler 100 G3||8||DT100G3/8GB||per blog||Rich_Morin 27 Sep 2019|