Return to Level1Techs.com

Raspberry Pi 4 - Won't boot from flash drive

I have updated the EEPROM on all of my Pi4s that I use for testing etc.

I have gone into raspbian and changed the boot order from SD to USB and I have flashed (using etcher and raspberry pi USB tool) several different operating systems on USB thumb drives (32Gb, Kingston USB 3.0) but to no avail.

I have done the same with USB hard drives and hard drives in a USB 3 dock, both work. But for some reason I can’t get the thing to boot from a regular thumb drive.

I have come across simular behaviour when trying to boot windows from a USB stick, something to do with a bit flip that tells they system it’s a USB or boot drive? But I am stumped as to how to fix it on the Pi4.

Any clues or help out there?

You are suspecting the boot partition does not have the “Boot Flag” set on? You can check this in Linux pretty easily with gparted, and if you can access the USB partitions in windows disk management, you could check it there?

It is also set table from window’s command line (DISKPART) or from Linux’s CLI (several *part apps)

That is if it is the “boot” flag you are thinking of.

I’ve not booted from USB on a Pi yet, but have a YT vid I was meaning to watch.
Do you have a link to the guide you followed?

I will check all that and see how I go, thanks for the solid answer.
The guide just involves booting from SD into raspberrian and doing a full update, upgrade3 and then a eeprom upgrade. The run the boot config app.

Something like that. I will try what you have suggested and post an update for anyone else who comes across this one.

1 Like

If you don’t have a 2 (or even 1 gb) sd card lying around, then obviously this is not for you. I like putting my old tech to good use.

I have a couple of 2gb micro sd cards lying around, so what I do is mount a usb ssd on /mnt, create a boot folder ( mkdir /mnt/boot ), mount the sd card in /mnt/boot, then untar the ROOTFS image for the Pi in mnt. I think you can extract the RPi image and then extract or copy everything over in mnt. You can use a live-boot system if you don’t have Linux installed on your main PC. The downside of this is that you need another USB beside the 32gb one you are trying to install Ubuntu on (you only need an 8gb usb for a live image for your PC, you could go with a 2gb model if you are using a lightweight distro). The sd needs to be formatted as fat32, the usb needs to be ext4.

My Pi doesn’t even care if it’s booting off of an sd card, on the ssd it boots Void Linux in 9 seconds start to finish (and powers off in 3). I didn’t bother to look how to boot directly off of the usb ssd and my 2 gb microsd cards are put to use (also, I can fit Alpine Linux on a 2gb sd and it’s surprisingly fast).