Raspberry Pi OS now has SATA support built into the kernel. Before you rush to tear the hard drive from your PC and hook it up to your Pi, there’s a catch: you’ll need a Compute Module 4 (opens in new tab) instead of the standard 4B (opens in new tab) or 400 (opens in new tab) models. And for now you can’t boot from it. YouTuber and Jeff Geerling, who is responsible in part for the addition, has an insightful blog post (opens in new tab) on the matter, and a video essay embedded below.
What this means in practice is that Raspberry Pi OS, built upon Debian Linux, now supports almost all PCI Express SATA adapters - a bus not found outside of the Compute Module version of the Pi 4 even if it is only a Gen 2 x1 lane (and you’ll need the optional IO board to get the physical socket). Other models of Raspberry Pi can use SATA drives through SATA to USB adapters, but will sacrifice up to 20% performance along the way. Advanced users can manually add SATA and AHCI to the kernel before recompiling. But you will need to recompile every time there’s an update.
Having SATA baked into the kernel will make it easier to use a Compute Module 4 in homebrewed RAID NAS (opens in new tab) rigs, or just attach large amounts of storage to run at full speed, without having to hack a solution together and maintain a custom kernel. On the other hand, aren’t those just the things that we as Raspberry Pi enthusiasts like doing (opens in new tab)?