Just thought I’d take the time to share some good news. I have managed to get Anthias running on a SSD booting Pi 5.
I’ll detail the steps as follows;
Buy your hardware - I’m using a 8GB Pi5 with a GeeekPi M.2 NVMe M-Key & POE+ HAT. I also use the GeekPi 1U rackmount for most of my installs (as they use 2 Pi’s normally so it’s very convenient!). I chose an Origin Storage 256GB 3D TLC M.2 2242 NVME SSD to use for storage.
You’ll need to boot your Pi from a SD Card initially and you’ll also need a USB>M.2 Adapter to flash the image typically (there are other methods, but that’s what I’ve used). With that SD card and SSD, write a 64-Bit Raspberry Pi OS to each.
Boot the Pi from the SD, and run the RPI EEPROM configurator: sudo rpi-eeprom-config -edit
Change the boot order to: BOOT_ORDER=0xf416
Add the line: PCIE_PROBE=1
Type: Ctrl-O to save the file
Type: Ctrl-X to exit the editor
Remove the SD card, and power cycle the Pi.
Your SSD will now boot Pi OS, and you’ll probably want to do some housekeeping, enable SSH, update the OS using sudo apt update and sudo apt full-upgrade -y.
Now you can move to the next step of installing Anthias using the following guide;
I picked up at step 2.3 which is running this command; bash <(curl -sL https://install-anthias.srly.io)
We have previously had issues with SD card wear on these units, so hopefully SSD’s will be the answer for us as we run a lot of short videos and have them all stored locally.
@AlexisPHC, that’s a very interesting and gamechanging success story. I appreciate you sharing your thoughts/experiments in this forum.
We encourage open source contributions, so feel free to create a pull request (which includes documentation changes) in our Anthias repository if possible.
I’m unsure if balenaOS has any support for PCIe yet, but as bookworm seems to be quite happy as long as Anthias/Screenly keeps that support then the manual install process is very straightforward. I’ve even used this process to upgrade Pi’s at remote locations to use Anthias.
edit: Looks like later bootloaders should have pci-e boot support, I’m ordering another unit to test and will update when it arrives. I’ll also try installing the Anthias image also and see if BalenaOS can cope with the SSD now.
I would like to contribute my experience concerning this topic. I use Raspberry Pi 5 together with Pimoroni NVMe-Base and the longer PCIe-flex-cable as hat in combination with Kingston DC2000B solid-state-drive.
What advantages do I see in this combination? The chosen solid-state-drive includes hardware-based power-loss-protection, which seems to be very useful for system integrity in use cases without a controlled shutdown for which I accept the 2280-dimensions. This combination works very well in practice.
@markus, that’s a very good thought—highlighting “hardware-based power-loss-protection” and “system integrity”. I encourage you to create a pull request to document your experience. I’ll be happy to review them.
For our use we are fine with the cheapo SSD! Our units sit on UPS anyway and we are in industrial areas with reliable power! If you were doing something out and about then spending the extra might pay off in the long run. Of course, the hat we chose was sized for a 2242 SSD due to the PoE header.
Ok, quick update - bought a brand new Pi5 and all the other bits, and I was able to boot straight from the SSD without messing with any of the boot priorities or booting with a SD card at all. So it looks like later bootloaders are SSD compatible out of the box. All I did was flash the SSD with my USB dongle and then boot it and ran the manual install steps.
The way the SSD mounts means it’s a bit of a pain to get back out, so I’ll probably just order another Pi5 and SSD combo to test BalenaOS on the SSD next week. I need a bunch of Pi5’s anyway so this is no big deal thankfully.
And another update - I’ve tested it with BalenaOS and it appears to boot just fine also. As long as you’re running at least 2024-09-23 (1727096576) then your Pi5 will boot from NVMe by default. This can be pre-empted by a SD if you need to, but it will try the SSD third in the order.