Here's a question for you: How do you get an operating system that first appeared 33 years ago to run on a processor that's almost two decades older, from 1971? Well, it turns out the answer is to make the ancient chip emulate something that's only 36 years old, strip the software down to its bare essentials, and then just wait almost five days for the kernel to boot.
While the project itself serves no obvious practical purpose, the work of Dmitry Grinberg (via Ars Technica) deserves genuine admiration. If you're a regular reader of our hardware news, then the name might be familiar—it's the same hacking wizard that ported Doom to run on a Def Con attendee badge.
But that project pales in comparison to Grinberg's latest one. In short, he managed to get the kernel of Debian Linux to boot on a 4-bit Intel 4004 processor, the first ever commercially manufactured microprocessor. Even by the standards of the 1970s, the 4004 is as basic as it gets.
With just 2,600 transistors to work with, the number of operations it can handle is extremely limited (mostly just add and subtract, and no logic ops whatsoever) and while it has a surprising number of registers (16 in total), it doesn't support hardware interrupts making any kind of multitasking somewhat of a challenge!
In fact, it's far too basic a chip to run Linux and this is where Grinberg got really creative. With a RAM target of just 4 kB, he coded up a program to emulate a MIPS R3000 processor on the 4004. That particular chip is from the same era as the original version of Linux so it was a natural choice for the emulation task, though it was far from easy to achieve.
But with some additional hardware emulation and a raft of period-correct components, Grinberg put together a custom circuit board with a basic display to prove that Linux was indeed firing up to a command prompt. The only real issue with it all is a matter of speed.
Even with a 5% overclock, the 790 kHz clock speed of the 4004 (yes that's kilohertz, not m
Read more on pcgamer.com