I THINK my RPi 5 and NVME Base is working

But how do I check what device (SSD or SD card) it has booted from?

My setup is RPi5, RPi PSU, RPi Cooler plus Pimoroni NVMe Base with a WD Black SN770 drive (250G).

The RPi5 runs fine from the SD card.
I added the SSD and formatted it with the RPi imager.
When I removed the SD card it wouldn’t boot :-(

So went through the update / upgrade / sudo rpi-eeprom-update -a process.
Then used sudo rpi-eeprom-config --edit to change BOOT_ORDER to 0x416. Still wouldn’t boot!

Then found Geoff Geerlings notes and ran raspi-config (from a console not GUI) then 6 Advanced Options then A5 boot loader version.
NOTE That step is missing from your “Purchasing” web page !!!

It has now booted and is running both SD card and NVMe/SSD. they both show up when I run lsblk.

When I look at the machine with the file manager is now has the root (/) but it also shows up “rootfs” (/media/raspberry/rootfs) AND “bootfs” (/media/raspberry/bootfs)

OK so it is running!
BUT 1) how do I tell if it has booted from the SD Card or the SSD?
2) what will happen if I just pull the SD Card (I suppose I could just try it but I would rather have a clue as to what I am doing …)
3) I would rather not rely on the SD Card (I have had problems in the past) so have I done enough or do I need to do more to boot from the NVMe/SSD

Thanks in advance

Remove the SD card and see what happens. It will either not boot up, or be fine. If it doesn’t boot up, you need to put the SD card back in and do more. If it does boot up without the SD Card, your good to go.

That’s the OBVIOUS way! But a bit crude.

I am trying to learn a few lessons on Linux…
So what running files are in the kernel and how do I tell which location it loaded from?

I’ll be learning too, as I don’t know? I only have very basic Linux skills.

I have my pi set up to boot from micro SD 1st and if that is not present it boots fro NVMe. to differentiate between the two I have a different background on each. You could also have a different host name on each boot device, to help identify them, mine are pi5-nvme and pi5-sd

On the Pi menu, go to Accessories - Raspberry Pi Diagnostics - Run Tests - Show Log. If the sequential write speed is around 400000, the SSD has booted. If the sequential write speed is around 50000, the SD has booted. Set your boot order to 0xf461. You won’t notice the difference in SSD boot time compared to 0xf146. Run the diagnostic test periodically on the SD card. If it begins to consistently fail the test, it is beginning to wear out.

Thanks bmoss, I ran the test (I didn’t actually know it existed!).
My result was 15540 KB/sec - so I guess the machine is running off the SD card.

Currently I have my boot order set as 0xf461 which I think means "SD Card - then NVME - then “USB-MSD” so a USB device. That would explain why it has booted off the SD card!

So going to 0xf146 looks like an excellent suggestion (it means NVME then USB-MSD then SD card) (see the RPi docs at Raspberry Pi Documentation - Raspberry Pi hardware).

Just a supplementary question - why include the “4” option at all? I don’t have a USB device attached and it is unlikely I ever will, so is that entry redundant?

Thank you VERY much for the constructive and logical suggestion, I will give it a try and report back.

Boot order 0xf461 is what you want. Having SD first gives you options if something goes wrong with NVMe, you want to re-image it, or you want to experiment with other operating systems. With no SD, the NVMe boot time is about the same as 0xf146. Boot order 0xf461 is most easily set using sudo raspi-config, then Advanced options - Boot order. Don’t leave out the 4. There is no advantage. I recall seeing a post that said doing that caused a boot failure. Your SD card is slow. My SanDisk Extreme 64 has diagnostics: 51766, 1124, 3177. USB drives are great for experimentation. Before I got my NVMe, I spent a week evaluating RPi OS 64 Lite + KDE Plasma, the development version of Manjaro KDE Plasma, and Clonezilla using several USB flash drives and a USB SSD.

df -h will list your mount points which will indicate where the boot partition is mounted.

NVMe booting:

Filesystem Size Used Avail Use% Mounted on
udev 1.9G 0 1.9G 0% /dev
tmpfs 405M 8.2M 397M 3% /run
/dev/nvme0n1p2 234G 9.1G 213G 5% /
tmpfs 2.0G 528K 2.0G 1% /dev/shm
tmpfs 5.0M 48K 5.0M 1% /run/lock
/dev/nvme0n1p1 511M 75M 437M 15% /boot/firmware
tmpfs 405M 144K 405M 1% /run/user/1000

SD booting

Filesystem Size Used Avail Use% Mounted on
udev 1.9G 0 1.9G 0% /dev
tmpfs 405M 8.3M 396M 3% /run
/dev/mmcblk0p2 29G 9.1G 19G 34% /
tmpfs 2.0G 608K 2.0G 1% /dev/shm
tmpfs 5.0M 48K 5.0M 1% /run/lock
/dev/mmcblk0p1 511M 75M 437M 15% /boot/firmware
tmpfs 405M 144K 405M 1% /run/user/1000

Brilliant - thanks lufbrarunner, that was exactly what I needed. I suspected there was a nice easy way of doing it!

Supplementary question…
I reformatted my SSD using the RPi Imager tool. I wanted to ensure that the SSD definitely had all of the OS files it would need.

First format created two partitions one of 512M and one of 232.4G - so that is what I expected (it is a 250G SSD).
However, after it’s second format it has created two partitions, one of 512M BUT the other is only 4.9G

How do I resize the second partition? I know there will be a Linix tool for doing it, but which one should I use on a RPi5??

Have you booted from it for the first time, after redoing it with the imager?
If not, it will get resized automatically on the first boot by the Pi OS setup routine.

I did it the old way - I just used Gparted and resized it manually. TBH I didn’t realise that the RPi would run Gparted, so I learned something new!

However, back to my original problem! The Pi boots off the SD card fine. It recognises the SSD is there. Boot order is 0xf461, So since it reads the bytes in reverse order that should be SD Card then NVME card then USB device?
But when I remove the SD card it doesn’t boot.

I assume it is me doing something dumb and not an issue with the Pimoroni board or the SSD card.

Any suggestions?

I keep the SD card FIRST.
If there are “Problems” with nvme you don’t have a good way to boot the system without removing the M.2 board. Don’t assume it will fail the boot. It could crash 1 second after boot, EVERY TIME.
Trust me, I KNOW!

I guess what I would like is to have it boot from the NVME drive first and then if that fails boot from the SD card…

I have tried a boot order of 146 (NVME - USB - SD card) but that didn’t boot !
Maybe I’ll try 416 ( NVME - SD Card - USB) and see what happens…

OK so tried boot order 416 - still wouldn’t boot :-(
Not sure what to try now…

Maybe someone from Pimoroni will be reading this?
Or I will check out how to raise a support ticket with them.

If you scroll down to the bottom of the Shop Page, you will see a link to contact support staff.
Contact Us for Raspberry Pi Technical Support - Pimoroni

I have heard from a staff member that there is a tutorial for the Learn section in the works.

EDIT: You can also do an @guru @hel to a staff member or any other forum member. They will get an email notification via the @ with a link to the thread you did it in.

Thanks everyone, I have raised a ticket although I got this back …

“Unfortunately we do have a very large amount of enquiries at the moment, so it will likely take us a bit longer than usual to get back to you - we’re doing our best and will get back to you as soon as we can.”

Now I will wait and see …

If you can install onto the drive OK, then it sounds like the ribbon cable etc are installed just fine. I suspect this is another case of WD drives being quirky. Some don’t show at all. Some don’t show at boot but then are fine as storage drives. Some stop the RPi booting entirely.

While I’ve had the one WD SN770 boot fine, others have had problems with them. Generally we recommend avoiding them for fewer frustrations at the moment.

OK so the WD Black isn’t a good idea - pity as I have had it too long to return to Amazon ;-(

Given that I am just playing with the RPi5 / NVMe base and I don’t have a real application for it yet (so capacity isn’t important), what is the cheapest SSD that WILL work?

So Amazon have a * Origin Inception TLC830 Pro NVMe for £18.24 basically that is the cheapest that is on your list.


Can you check that this is the one you tested, please?
If so I can order today and get it on Saturday usin Prime.

PS if Pimoroni can get close on price let me know, your site doesn’t appear to list just the drives