PCI Express Solid State on the Pi 5 for under $25

Since February I’ve been running this website, among other things from a Raspberry Pi 5. The SD card did okay, I actually can’t complain too much and if I’m being honest here I have to say SD card storage has gotten a lot less flaky since the earlier days of the Raspberry Pi.  None the less, this is my server and I want it to be decently equipped. I think the Pi 5 is mildly over priced (depending on why you need one), and getting a Pi, high performance SD card, the active cooler, official power supply, a case… you’re into some money. Not to mention the stupid mini-hdmi to normal hdmi adapter.

If you’ve already got a Pi 5 though, or know you’ll be satisfied with one then here is how I added a 128 GB SK Hynix NVMe SSD for under $25. SSD & hat included.
Geekworm BoxSK Hynix
          BC711
Amazon has various PCI-e hats for the Pi 5. Prices are between $7 and $50. But from what I’ve seen, unless you’re getting a multi-device hat I would cap my budget under $30 or so, and I’ll tell you why that might be worth considering. Spoiler, I didn’t consider it. The priciest of hats allow the use of multiple M.2 devices, but you’re sharing that bandwidth so in most cases I don’t think it makes much sense. But, bear in mind other hardware than PCI storage exists like Ai accelerators, network adapters, anything you can think of pretty much.

In some of Jeff Gearling’s content covering these pcie hats, he mentions that not all of them come with an impedance matched ribbon cable. What  does that mean? Well, PCI express is a pretty high tech thing, and you can’t just pump data over a pair of rusty coat hangers. On PCBs you may have noticed sometimes there are traces which curl or squiggle in odd, seemingly pointless ways.

Well, not so pointless as a matter of fact, it all comes down to impedance, shielding from interference and other matters which effect signal integrity. If you plan on using a high end SSD then you may want to go with this special cable. There are two ways to do that: Buy the cable on its own. (They’re dirt cheap) Or if you don’t feel like sourcing one then you can find a hat which includes one. The cheap-o cables are usually white plastic ribbons, commonly with blue plastic at each end to keep the row of pads rigid for inserting in the female connector. The nicer, to-spec cable will be an amber, pcb looking color, or may be black. But if in doubt, do some research.

SSD
          in hat            So This was annoying though. This hat is sold as being 2230 / 2242 compatible… and it is. But they don’t give you the nut and screw for 2230 drives, the shorter position.

Luckily I had such hardware unused from another adapter card, an mSATA to SATA Hardware board.

So the Pi 5 is certified for PCI E gen 2. Running it faster seems at first glance to be asking for trouble. People have had good luck with it though, and it is easily enable with a single line in the Pi’s config.txt.

Well I tried it, cheap cable and all. The improvement isn’t insignificant, in fact on my Gen 3 SSD I saw substantial benefits from the increased bandwidth.

Lets see the numbers…

Graph:
          Performance Compared

As we can see, you’re not going to be getting the same performance on your Pi as you would in a regular PC — forced gen 3, or otherwise. This is because the Pi only has a single PCIe lane going to the expansion header. That’s okay though, and as you can see it still beats the pants off an SD card, or even most SATA drives. The SSD arrived a few days before the hat, so I put it in my desktop to ensure it was working and see what the SMART data said. The drive only had ever had 300 GB or thereabouts written to it and just 6 power on hours. Not bad for $16 bucks!

Now, to Gen 3 or not to Gen 3, that is the question…

This is my server after all. I take pride in having little to no down time, hence springing for the SSD in the first place. Reliability was more of a motivator for me than throughput, but both are attractive of course. Doing some testing and benchmarks with the Gen 3 config line in place, I have not yet noticed a single error. You can check for them by grepping “nvme” in dmesg, or by reading from /sys/devices/platform/axi/1000110000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/aer* and in my case nothing looked to be amiss.

So, the real comparison then given our choice of Gen 2 or 3. It isn’t as small of a gain as the first chart may have you be thinking it is.

Graph:
          Gen 2 vs Gen 3

    Yeah, that’s what I said. Damn, almost double. So I’m leaving it in Gen 3 mode and I’ll keep an eye on things. To do this upgrade I had fully mirrored this server anyways to my FreeBSD franken-server so that can be quickly set back in place if I need to tweak anything. Up till now, all down time has been planned… in other words, there hasn’t been any.   : )

Operating Systems available for the Raspberry Pi 5

My round-up of 16 different operating system options available for the new Pi 5.     –    May 24th, 2024

Raspberry Pi OS (Debian Bookworm) The Official Pi OS

Debian is no doubt one of the best Linux distributions available today. In fact, not many would argue if one were to say that it is the best. Raspberry Pi OS is the official operating system of the Raspberry Pi, and as such you know that it will support all the hardware correctly out of the box with no extra work required from the user. Works on ALL Raspberry Pi models. Available in 32 and 64 bit arm flavors, and you can get an image with a desktop environment included or opt for the “Lite” version at just under 500MB. As of this writing, all versions available for the Pi 5 are built on Debian 12 (bookworm) and use the 6.6 Linux kernel.

Ubuntu 24.04 LTS For Pi4 & Pi5

Ubuntu likely needs little introduction. Two builds are available for the Pi; Desktop and Server. The server image weighs in at a mere 1 GB, and desktop at 2.6 GB. 24 is an LTS release for Ubuntu, meaning five years of free security and maintenance updates, extendable to 10 years with Ubuntu Pro.

Armbian for the Pi 5

Armbian has been around awhile, and Linux on ARM is their jam. They offer builds of the Ubuntu Jammy variety, or you can go with something Debian Bookworm based. You can choose a 370 MB CLI minimal image,  or pick a GUI image with your choice of any of the popular desktops. Gnome, KDE, Cinnamon, XFCE and i3 each have their own release available.  At the time of writing this, they are shipping Kernel 6.6.23 in all of them. They’ve also got a few “dedicated applications” options, Home Assistant, OpenHab and Kali Linux.

Kali Linux for all Pis

Kali is a penetration testing oriented linux distribution. When I first heard of Kali the project at that time was named BackTrack. Before that, way back in 2004 it was actually called Whoopix (White Hat Knoppix). If you’re interested in pen-testing, hacking, or cyber security, check them out. Kali has images available for all Raspberry Pi models, including the new Rpi 5.

LibreElec for all Pis

LibreElec lets your instantly turn your Pi into a powerful media center which you can connect to any TV and start enjoying. It uses the Kodi media center (formerly XBMC). The latest build will work on Rasp Pi 2 and newer, but they have images of an old version still available if you happen to want to try it on your old Pi 1, or Pi Zero.

Batocera for Pi 4 & Pi 5
Recalbox for all Pis

Both Batocera and Recalbox are similar to RetroPie, if you’ve heard of that. Basically, they give you a nice easy to use full screen interface for playing retro console games. You can emulate pretty much any retro home console or home computer from the 80s and 90s. I recently helped my brother build a full-size arcade machine, and after initially going for a custom x86 debian install with RetroPie which took all night to compile from source, we ended up using RecalBox and he couldn’t have been happier with it.

Void Linux Pi 5 Support Added

From their website, “(Void is) not a fork! Void Linux is an independent distribution, developed entirely by volunteers. Unlike trillions of other existing distros, Void is not a modification of an existing distribution. Void’s package manager and build system have been written from scratch.” They don’t mention the Raspberry Pi specifically directly on their downloads page, which is why I have linked to a news post mentioning new Pi 5 support. I’d image it works on older Pis also, but may be suited to more advanced users.

OpenFyde Pi 4 & Pi 5

OpenFyde is the open-source version of FydeOS, based on Chromium OS.

Mx Linux (Rpi Respin) For Pi 4 & 5

“MX Linux is a cooperative venture between the antiX and MX Linux communities. It is a family of operating systems that are designed to combine elegant and efficient desktops with high stability and solid performance.” – mxlinux.org (Download Page)

Diet Pi For Any Pi (and other SBCs)

“DietPi is an extremely lightweight Debian OS, highly optimised for minimal CPU and RAM resource usage, ensuring your SBC always runs at its maximum potential.”

Lineage OS Unofficial Pi 4 & Pi 5 Build

“LineageOS, an open-source Android distribution, is available for several devices,
with more being continuously added thanks to the biggest, yet ever growing, Android open-source community. Join us and breathe new life in your device, be it old or new.”
The linked build is unofficial, but looks promising. Use at your own discretion.

OpenWRT Unofficial Pi 5 Build

OpenWRT is custom Linux based router firmware, for wifi routers and other embedded devices. You can also run it on Raspberry Pi boards and other SBCs. Linked above is an Unofficial Pi 5 build, with new commits just last week. I’ve also run OpenWRT on the Pi 3 and Pi 4 with excellent results – they actually can be great routers.  Their wifi isn’t very good for using as an AP, but it’ll get you by in a pinch. Using another wired NIC over PCIE or USB3 though, you can get good value out of using it as a wired router. See OpenWRT.org

Arch Linux Arm Unofficial Pi 5 Guide

“It is possible to get Arch Linux ARM up and running on a Raspberry Pi 5 by removing U-Boot and replacing the mainline kernel with a directly booting kernel from the Raspberry Pi foundation. Automatic updates will even work since the replacement kernel is available as an official Arch Linux ARM package.”

FreeBSD 14  Unofficially said to work on Pi 5

User bmcdonaldjr on the FreeBSD forum reports that 14.0 runs well for him:

“The UEFI for freebsd on RPI5 MUST be used (current version is 0.3)
A USB ethernet adapter MUST be used (UEFI currently lacks driver for the onboard.
One of two methods can be used for the storage device.
An image (RPI) written to a USB stick along with a blank micro SDHC /w UEFI files.
An image (RPI) written to a micro SDHC with the UEFI files.”

And of course, FreeBSD already works on older models of the Pi which you can simply download. Namely, 14.0 works on the Pi 3, Pi 4, and many other ARM SBCs: aarch64 images

Windows 11 Arm Installation Instructions (Pi 2, 3, 4 & 5)

I don’t really condone this, but I wanted to make the list as complete as possible… so well, here it is.

 

 

For regular PCs, see the Operating Systems I use. You can read more about desktop environments and window managers over on the Packages page.

© 2025 LostGeek.NET - All Rights Reserved. Powered by ClassicPress, NGINX, Debian GNU/Linux.