Thank you for the several threads from @nerd that make Volumio boot straight from USB or NVMe. I have several RPi4s, a RPi5-8GB, and a TinkerBoard S, and I have tested the read/write speeds of different formats.
This is how I tested:
I installed fresh Volumio and updated it to the latest version (currently 3.639 for RPi and 3.636 for TBS).
I installed the Touch Display and PeppyMeter Plugin (1.5.0).
I used these two commands to check the speed in Terminal:
Command to check Write Speed:
dd if=/dev/zero of=./TestingFile bs=100M count=10 oflag=direct
I ran the commands twice and captured the result screen.
I have done this so many times that I know the steps by heart. It’s fun for me because I have a lot of time while I’m recovering from my eye surgery from a couple of months ago.
With NVMe, you can add bootdelay=1 to the cmdline.txt which will override the default 5s wait for devices init. If you are using connected USB, this may result in device not reporting state ready in time.
A technical remark on use dtparam=pciex1_gen=3 this is still experimental on Pi5 and may result in ASPM error flood.