I like my new Raspberry Pi 4, but let’s be honest, it has some fundamental flaws. Contrary to popular belief, it’s not primarily a Linux board. The real, low-level operating system running on every Raspberry Pi is ThreadX, a proprietary, closed-source real-time kernel. Popular Linux distributions like Raspbian are, architecturally speaking, second-class citizens that run on top of this hidden firmware layer.
This core firmware is closed source and stored on an EEPROM chip, which can be updated with a utility called rpi-eeprom. For some reason, my Raspbian installation never prompted me for a firmware update, which is a real shame. These updates often deliver important performance improvements and bug fixes, leaving them in the manual-update shadow is a user-experience misstep.
And, to top it all off, this board still doesn’t support USB boot out-of-the-box for the mass storage device class, a standard feature on many competing boards. For a device celebrated for its hackability and education mission, these closed, opaque elements and missing conveniences are really annoying.