Being told that Linux requires a 32-bit processor, 1MB of memory, and a MMU (Memory Management Unit) as an absolute minimum wasn't good enough for Dmitry Grinberg. When he saw threads on microcontroller boards asking whether Linux could run on an 8-bit microprocessor, the responses were full of ridicule, and outright dismissed the possibility.
In an attempt to prove the naysayers wrong, Dmitry went on to create an 8-bit computer using an ATmega1284p processor, a 16MB 30-pin SIMM, and a 1GB SD card for storage, all connected on a prototyping breadboard.
To emulate a 32-bit processor and the MMU, Dmitry had to write an ARM emulator. He decided against porting existing emulator due to the way AVR compiles to machine code, stating the issue of bit shifting integers by 20 causing zero values, among other potential problems. Working around these pitfalls would require careful modification of exiting code, a tedious and error-prone excersise.
A serial connection between the 8-bit computer and a modern 32-bit PC allows Dmitry to type commands and see the mini PC in action. The PC does not require this connection to function, and it can be modified to use its own LCD and keyboard.
For reference, the processor at the heart of this design runs at a grand total of 20MHz, has a two stage pipeline, and costs around $6. Also interesting to note is that Dmitry overclocked the processor to 24MHz. Factoring in the large overhead of the emulator, it was estimated that the effective clock rate is 6.5KHz (yep, kilohertz!)
Surprisingly the completed project actually works! Granted, it's a little slow, but it can boot Ubuntu, which proves that you can actually run Linux on less than minimum spec. To quote Dmitry, "It takes about 2 hours to boot to bash prompt ("init=/bin/bash" kernel command line). Then 4 more hours to boot up the entire Ubuntu ("exec init" and then login). Starting X takes a lot longer."
What's really neat about the project is that it's possible to build your own. The pin-outs, hardware spec and source code are all provided on Dmitry's webpage. If you're not willing to do it yourself, you can see it in the video below (it's in 3x speed).
A handmade, overclocked, functional computer running Linux - what's there not to like?