System on NVMe - boot process takes long

On my Raspberry Pi 5 I transferred the system to the NVMe and removed the SD-card. Sadly I experience relatively long boot times. I suspect the boot order is not NVMe-first so I want to ask if there is a way to change the boot order to 1. NVMe, 2. SD, 3. USB. raspi-config and rpi-eeprom-config are not accessible (“command not found”). Thanks a lot in advance!

That’s the opposite of what should happen! Check through the official guide, maybe you missed a step. [Guide] Prepare Raspberry Pi for boot from USB/NVMe

Thank you for your response. I know this guide but it was posted in February. I am afraid it’s obsolete. By now Volumio offers the function to install the OS on the detected NVMe automatically - see the screenshot for reference:

Bildschirmfoto 2024-12-05 um 21.20.18

This is how i did it. As I already stated above the commands raspi-config and rpi-eeprom-config in the guide you referenced are not accessible in the current version (“command not found”).

Edit: Here’s my system’s data:

System Information


* OS info

* Version of Volumio: 3.779
* Hostname: volumio-rpi5
* Kernel: 6.6.56-v8+
* Governor: conservative
* Uptime: 0 days, 5 Hrs, 5 Minutes, 37 Seconds

* Network info

* Interface: eth0
* IP Address: 192.168.0.65
* MAC Address: 2c:cf:67:75:90:fc
* Type: wired
* Speed: 1000Mb/s

* Audio info

* Hw audio configured: HiFiBerry Digi+ Pro
* Mixer type: None
* Number of channels: 2
* Supported sample rate: 44100 48000 88200 96000 176400 192000

* Board info

* Manufacturer:
* Model: Raspberry Pi 5 Model B Rev 1.0 / /
* Version: d04170 /
* Firmware Version: 2024/11/05 12:38:12 version 3c4fc886 (release) (embedded)

* CPU info

* Brand: BCM2712
* Speed: 2.4 GHz
* Family: unknown
* Model: 1
* Number of cores: 4
* Physical cores: 4
* Average load: 2%
* Temperature: 51°C

* Memory info

* Memory: 8135848 Ko
* Free: 7225700 Ko
* Used: 910148 Ko

* Software info

* Mpd version: Music Player Daemon 0.23.15 (0.23.15)

* Storage info

* INTERNAL storage - Size: 116986Mo
* Used: 423Mo
* Available for storage: 110576Mo (95%)

Hey @bauz007,

Rest assured, it is still valid. The only part to pay attention to is EEPROM version as the guide references ones available in February.

Interesting statement. I tried literary this minute and and it all works.
Question: Did you actually read second subtopic Preparations at all?
I have a suspicion that you’ve been trying using aforementioned commands within Volumio OS.

Please revisit preparation guide and adjust your Raspberry Pi 5 to your requirement.
Also, take a look at the PCIe NVMe compatibility where there are discussion related to the NVMe devices as such.

Once all preparations are completed and you are still facing slowness please post the link of your debug log here.

Kind Regards,

Ahhhh! This is the issue! Thank you, nerd, I will start the process according to the guide from zero. I guess that’s the best way to go. Sure it was my fault not paying attention to every single word in the guide! Shame on me.

Thank you!
Best regards!

Dear @nerd ,
I just set up the RPi5 exactly as described in the guide. My reboot times are still around 40sec. This was measured from clicking the reboot button in the webUI to the interface’s reload. The SSD I use is a Transcend TS120GMTS420S, 120GB SATA III 6Gb/s (more specs here: https://cdn.transcend-info.com/products/images/modelpic/766/Transcend-M.2SSD420S.pdf)
Best regards,
Paul

Hey Paul,

Nothing reported so far and since it is based on SM (Silicon Motion) controller, there should not be compatibilities hiccups. What NVMe HAT are you using?

I think something else is playing delays here. Please post debug logs:

  1. From cold start (5 min power disconnected)
  2. From reboot

Kind Regards,

Thank you for your quick response! The HAT is a “Waveshare PCIe TO M.2 HAT+”. The HAT supports either NVMe Gen2 or Gen3 mode.

Log from cold start: http://logs.volumio.org/volumio/7VUq4ha.html
Log from reboot: http://logs.volumio.org/volumio/pn60XOU.html

Thank you in advance! Best Regards, Paul

Hey Paul,

In the logs there are no adverse hardware events. However there are reconnect attempts from Spotify plugin.

Lets narrow down what is happening here.
For the next test, disable all plugins and check the reboot time. If the boot (not stop) has improved, enable one pluging after the next and compare reboot time.

Kind Regards,

I disabled all plugins and rebooted. Same duration :frowning:

Hey Paul,

What is the exact time measurement from cold boot to functional UI?

The journal shows ca’ 50 sec.

Kind Regards,

I measure 33,21sec from cold boot. (all plugins deactivated)

http://logs.volumio.org/volumio/3EyvkYa.html

this value is expected, I don’t see any major issue with this

Hi Darmur!

Expected boot times on RPi5 should be about a third of the time I measure. Even with SD. Is there anything I can improve?


[ image source: How to Set Up and Benchmark Your NVMe on the Raspberry Pi 5 | by Tim Moody | Medium ]

Best Regards,
Paul

the test from the link you sent was not performed with Volumio OS, but with something else

This is true. Screenshots show that this is Raspberry Pi OS (with desktop). The image size of this operating system is 1,18GB. Volumio is almost 3GB. I highly suspect that this is the reason why it takes “so long”.

Read speed of my SSD is up to 530Mbit/s so this means that the OS (theoretically) should be loaded in ~15sec (RPiOS) and ~45sec (Volumio). By all means I am not a professional. I just deal with all this as a hobby. So as far as I understand the expected boot times can be calculated relatively easy (as I did before before) because a Raspberry needs to cache/preload the OS-img each and every time in the boot process. So we can roughly say boot time ≈ SSD’s read speed, as long as the PCIe bus speed isn’t the bottleneck. Please correct me if I’m wrong.

Don’t get me wrong - this is still pretty fast. I was just hoping for faster speeds due to false expectations.

Best Regards,
Paul

Hey Paul,

I think there is a bit of misunderstanding here. Comparing pears with apples is not helpful, not really. Allow me to elaborate:

Boot time on RaspiOS has three parts:

  1. Device init - low level and eeprom stage 2 (controlled by the firmware)
  2. OS core startup (system init and eviction to root)
  3. Frontend init (Desktop Manager)

Boot time on Volumio OS has three parts:

  1. Device init - low level and eeprom stage 2 (controlled by the firmware)
  2. OS core startup (system init and eviction to root’s squashfs {init overheads with union, work and dyn})
  3. Backend init (Player’s core, plugins, MyVolumio, etc)

From your logs in reverse order:

  • Backend: 14s
  • OS: 9s
  • Device: 34 - 14 - 9 = 11s

Now, comparing apples with apples:

The chart you are showing is for Desktop UI and the only real comparison should be prior RaspiOS journalctl emit Desktop Manager start event and VolumioOS journactl emit Volumio3 start event.

Personal opinion, not reflecting those of Volumio - pretty impressive!

Kind Regards,

1 Like

Hi Nerd!

Thanks for the detailed explanation! It’s much appreciated, even though I don’t fully understand the technical details. To sum up what I’ve learnt: My system is fine - there’s nothing to improve at the moment.

Thanks @nerd and @Darmur for the support! You do a great job of being structured, helpful and educational!

Best regards,
Paul

1 Like