jolek78's blog

LangdonWinner

It was an ordinary Saturday morning, and on the table was a green board the size of a wallet. A Raspberry Pi 3. I had decided to host a Nextcloud server – the first brick of what would become, in the years that followed, my small homelab. I plugged it into the monitor, booted Debian, started configuring.

At some point, in the middle of the configuration files, a line in /boot/config reminded me which architecture I was working on. Years earlier I had spent entire nights flashing custom ROMs onto Android smartphones (XDA always be praised, ora pro nobis): CyanogenMod, then LineageOS. The ritual was always the same – unlock the bootloader, root the device, replace the factory operating system with something more honest, enjoy the result. I was doing it for the same reason I was now configuring Nextcloud: I didn't want anyone else deciding what could run on my hardware.

What struck me that morning was an apparently trivial detail. The processor inside the Raspberry Pi – a Broadcom BCM2837 – used the same architecture as the processors in the smartphones I had been hacking for years. ARM. The same instruction set, the same underlying logic, the same family. The chip holding up my small home server was a direct cousin of the ones I had tried to free from their factory software. And neither had ever been manufactured by the company that designed them.

This short circuit is the starting point for what I want to tell. Because ARM is one of the most important stories in computing of the last forty years, and almost nobody tells it the right way. The standard version is a triumphal march: a small British company invents an efficient architecture, low-power chips conquer the world, today ARM is everywhere – in your phone, your router, the board running a small server in your homelab, in Amazon's datacentres. Democratisation. Progress. Triumph of British ingenuity.

It's all true. But it's also profoundly incomplete.

Read more...