A Programmer Ran Linux on a 1971 Processor

Linux 1971 processor

Linux 1971 processor
Linux 1971 4004 microprocessor. Credit: Thomas Nguyen – CC BY-SA 4.0 via Wikimedia Commons

Running programs or software on technology not designed for that software has become a surprisingly popular niche community on the internet.

Perhaps the best example of this retroactive activity is how people are successfully running the popular video game “Doom” on things like calculators, or building computers in the popular children’s game, Minecraft.

But how do you get Linux, a modern operating system to run on a 1971 processor? the answer is pretty straightforward but magical: through the power of emulation.

To make this happen, Dmitry Grinberg, known for his YouTube channel, had to make the 1971 processor, emulate it, strip Linux to its bare essentials, and wait five days for the kernel to boot.

Running Linux in a 1971 processor should not be possible

Mr. Grinberg is known in the online hardware community for accomplishing impossible hardware tasks. But many forums have labeled this last project of his as an almost impossible feat.

He managed to make the 1971 Intel 4004, which is the first ever commercially manufactured microprocessor, run Debian Linux, which should not be possible. To further contextualize this, the Intel 4004 was even basic by 1971 standards, which no doubt adds to the impressiveness of the feat.

But why is this supposed to be impossible? To answer this, we must first understand how computers and more specifically transistors work. Think of transistors as tiny switches, they can either be on or off. When they are on, they let electricity flow, and when they are off they don’t. Computers use transistors to essentially do calculations and store information.

The 1971 Intel 4004 is essentially a calculator processor. This processor only had 2,600 transistors, whereas computers today have literally billions of these switches, which is why you can play video games while watching a YouTube video on your computer.

So how did Dmitry Grinberg run Linux on the vintage processor?

This impossible feat was only possible thanks to Grinberg’s creativity. He coded a program to emulate a MIPS R3000 processor in the 1971 Intel 4004. The MIPS R3000 is a processor that is contemporary to the original version of Linux, the late ’80s.

Grinberg had to get a 1971 chip to emulate a 1988 chip to run Linux on the Intel 4004, and he did so with the help of additional hardware emulation, and a custom circuit board with a basic display to show Linux was actually running.

The process at which the booting took place was dreadfully slow. So slow that the initial boot time projections of the fundamental core of the Linux operating system on the 1971 processor were just under nine days, but Grinberg was able to cut it to 4.76 days. The crazy thing? He did it for fun.





Leave a Reply

Your email address will not be published. Required fields are marked *