[Guide] Prepare Raspberry Pi for boot from USB/NVMe

I am sorry to ask a stupid question :sweat_smile:

I flash Volumio-3.701 to 32GB USB thumb drive, modify Pi 5 boot order to 0xf614 ( 4 = usb as first boot order ).

My purpose is to put Batocera microSD card in Pi5 slot, when I plug the Volumio USB thumb drive, Pi 5 will boot and run Volumio, while I unplug the volumio USB drive and boot Pi 5, it will run Batocera from microSD slot. So I don’t need to switch the microSD card ( my Case is difficult to get the microSD slot ).

Unfortunately, if I keep the microSD card ( Batocera ) in Pi 5 slot, the Volumio USB thumb drive will not boot, it will hang there. If I remove the microSD card from Pi 5, the Volumio USB thumb drive boot successful and works normal.

Batocera microSD card boot normal if no USB thumb drive plugin.

Is it necessary to remove microSD card if you want to boot from USB ? or you can boot USB while microSD ( Batocera ) card still in the Pi 5 slot ? if yes, is there something wrong ? ( USB need to set delay time…etc )

Thank you !

Hey @dewen,

The boot order is correct for you approach. Which eeprom firmware version are you on?

Kind Regards,

1 Like

@nerd Thank you for the reply. My eeprom firmware is 2024/05/17, it shows Bootloader up-to-date.
I also tried

USB_MSD_PWR_OFF_TIME=0
USB_MSD_STARTUP_DELAY=8000

but the same result.
I will dissamble my Pi5 from the Amoled 5.5 case and connect the HDMI to normal TV to see what the TEXT shows while boot
( it cannot see in the amoled 5.5 screen ).

I wonder if it is possible to boot USB while microSD card still in the slot ? has anyone succeed ? or it is necessary to remove the microSD card to boot USB ?

Thank you !

thank you !

Hey @dewen,

Over the coming weekend I will re-test the boot sequencing. Right now, physically, all Pi5 I have, are busy with other tasks.

Kind Regards,

Hi @nerd
I jsut test on Pi 4 to check the screen TEXT

If I keep microSD in slot and boot USB, the screen shows

Player preparing startup
waiting for USB devices. this should not take long.

then it seems take a long time ( I wait for 3 min and quit )

If I remove the microSD, just boot USB, the screen shows

Player preparing startup
waiting for USB devices. this should not take long.
Finishinf storage preparations.
Version “3.703” prepared. Please wait for startup to finish.

and it takes below 30 second,
then the USB boot succesful into Volumio.

@dewen,

When you have MicroSD inserted - what OS is loaded to it?

The reason I asked is that by design the MicroSD for Volumio OS is a recovery option. Even if you try to boot Volumio OS from USB with Volumio OS present on MicroSD, the init part will not allow to fully boot, only to the diagnostic init level.

Kind Regards,

@nerd
I did some test

USB - Volumio 3.703
MicroSD - Volumio 3.695
Result - Boot to MicroSD Volumio 3.695 success.

===
USB - Volumio 3.703
MicroSD - Raspberry Pi OS with desktop 64bit
Result - Boot hang at the screen

Player preparing startup
waiting for USB devices. this should not take long.

===
USB - Volumio 3.703
MicroSD - Batocera ( Linux ? )
Result - Boot hang at the screen

Player preparing startup
waiting for USB devices. this should not take long.

USB - Batocera ( Linux ? )
MicroSD - Volumio 3.695
Result - Boot to USB Batocera success.
If remove USB, Boot to MicroSD Volumio OK.

It seems if I keep Volumio in MicroSD and use Batocera as external USB, I can boot USB Batocera successful.

===
Conclusion
If I use both Volumio as external USB and MicroSD, it will boot to MicroSD Volumio.

But if I keep Batocera or Raspberry Pi OS in MicroSD, and use Volumio as external USB, I can not boot to USB Volumio succesful.

USB Volumio boot OK if no MicroSD card.

Anyway, I can use Batocera as external USB for quickly switch system by plug/unplug it.

Thank you.

Please make sure you do not have the exact same Volumio version on both SD and USB.
Otherwise the partition identifiers (UUIDs) are the same for both of them.
Each new Volumio version will have a different set of UUIDs. If they are the same on both devices, the boot process is unable to locate the correct device. It will just pick the one which is returned when using the UUID, it is undefined whether that is from the USB or SD. So it might be booting from USB initially and then continue with the partitions on the SD (or the other way around). There is no guarantee for a correct start.

Thanks @nerd for the clear instructions. I’d been putting off doing this, but another fried SD card gave me the final push. Very simple with my setup - a Pi4B with a Samsung T5 USB SSD drive. It boots and operates quicker and I’m glad to not be reliant on flaky SD cards anymore.

What I’m not sure about is how I’m going to back it up. Volumio and 280 GB music files on the one 500 GB drive is too big to save as an .img. Is it possible to back up the Volumio image without the data in /data/INTERNAL?
Cheers, Simon

Hey @SimonE,

Beside the Backup and Restore plugin, which creates settings backup, there no other tools readily available. Making an img file using dd out of large storage can be truncated to a specific size. There is a risk, that something may be amiss.

Kind Regards,

Thanks for the reply. I keep a back up of everything in /data/albumart as well.

is this procedure still current?

Hey @Wedge34,

Yes it is.

Thank, do you know if it’s possible to add rpi-eeprom-config utility in futur volumio release, so we won’t have to go back to sd card each time i would like to do some test ?

Hey @Wedge34,

The rpi-eeprom-config is on the roadmap for Volumio OS future major release. Backporting to the current release with such excessive effort is simply impractical.

Kind Regards,

Great news, thank you for the update :slight_smile:

I noticed that my rpi 5 draws power weven when shutoff. The fix is to edit EEprom cinfig and add the line

POWER_OFF_ON_HALT=1

Is this safe to do or would it screw up something in my NVME boot?

Hey @jocoman,

PCIe lane is separate from all other peripherals and GPIO. I am also using WAKE_ON_GPIO=0 to reduce standby power draw further.

Kind Regards,

Hi nerd! Can i use this instructions on my rpi3b+? Bc,I want to boot this rpi3b+ from usb and volumio OS.

Hey @Edrian_Lois_Villanue,

The Raspberry Pi 3 B+ has the capability to boot from USB drives without needing any special configuration or setting changes. Please flash latest Volumio OS to your USB drive directly.

Kind Regards,