Hacker miraculously gets an Intel 4004 to run Linux, takes about five days to boot

Cal Jeffrey

Posts: 4,595   +1,682
Staff member
WTF?! A well-known hacker has done the impossible. He got a stripped-down version of Linux to run on a 4-bit Intel chip from the early 1970s. Sure, it takes nearly five days for the kernel to boot, but hey, mission accomplished.

Dmitry Grinberg is reasonably well-known in the hacking community. He designed the firmware for this year's uber-cool DefCon 32 attendee badges that featured a Game Boy Advance emulator. He also managed to get Doom to run on the badge powered by Raspberry Pi's new RP 2350. DefCon infamously banned Grinberg and physically tossed him, mid-talk, from the venue because of his association with the badge's hardware designer, Entropic Engineering, which DefCon organizers were beefing with.

The hacking pro's latest project was the self-imposed challenge of getting Linux to run on an Intel 4004 from 1971. It was Intel's first commercial chip and predates Linux by two decades. It is truly an impossible task without thinking outside the box.

The Intel 4004 was a 740 kHz 4-bit processor with only 2,600 transistors and 16 registers. Intel specifically designed the 4004 to power the Busicom 141-PF, a calculator manufactured in Japan, so its list of operations was essentially adding and subtracting. It had no logic functions. It also had about four kilobytes of RAM. So, there is no way to run Linux on the 4004 in a very literal sense. This is where Grinberg's out-of-the-box thinking and software/hardware hacking came into play.

First, he created a very basic MIPS R3000 emulator on the 4004. Former TechSpot fellow Nick Evenson notes in his PC Gamer piece that the MIPS R3000 processor hails from 1988, right about when Linus Torvalds was writing the original version of Linux.

"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," said Evanson.

"Far from easy," indeed, since we are talking about emulating a 32-bit processor on a 4-bit chip. However, that didn't stop Grinberg.

Using several vintage components and even more hardware emulation and software sorcery, Grinberg fashioned a custom circuit board with a rudimentary display to show that a barebones Debian distro could boot up to a command prompt. However, it won't break any speed records.

"Grinberg designed a custom circuit board with no vias (paths from one side of the circuit board to the other) and only right-angle traces for a retro aesthetic," notes Ars Technica. "It's meant to be wall-mountable as an art piece, slowly executing Linux commands over the course of days or weeks."

Even when overclocked to a whopping 790 kHz, the machine took nine days to boot. After further tweaking, Grinberg got the boot time down to 4.76 days. He considerably sped up his video of the boot process to smash that time into something more watchable (above).

Permalink to story:

 
Five days to boot? Sounds a lot like Windows 95 .......
I don't know what PC you used or how much junk your W95 had, but I remember that my PC from 1999, a poor Pentium MMX 200 with 48MB of RAM, loading from a 1GB IDE, Win98SE would load in about 1 minute, sometimes less, and Win95 even faster. Even on the non-MMX Pentiums and 486 (Am5x86) that I had before, it always loaded very fast. Maybe because I always kept the operating system and the hardware VERY optimized. A friend on a PIII-1000 always asked me how I made my PC run and feel faster than his (in the common things that both could run). Part of the blame was that he used Windows 2000, one reason why I used (at home) Win98 as long as I could, until around 2006.
 
Back