📜 ⬆️ ⬇️

The slowest Linux machine

image
Often, people who have just bought a brand new eight-bit microcontroller are interested in how to run Linux on it. But usually they become just an object of ridicule. And on the Linux forums, sometimes I skip questions, saying that we need minimal features to run the operating system. The most frequent answer is 32 bit architecture, MMU and at least 1 MB of RAM. My project breaks these stereotypes. The computer is based on ATmega1284p. I even did one more on the ATmega644a, and it also worked. There is no longer any processor or other hidden parts. All this works on the kernel version 2.6.34, and even (if you have time for it), loads a full-fledged Ubuntu, with an X server and Gnome.


RAM


Yes, LInux requires megabytes of RAM and a 32-bit processor architecture with MMU. It's all there.
I had to use the old thirty-dipstick SIMM type bar. For reference: this memory was used in 286th computers.
How fast is it? Approximately 300 kilobytes per second. Not much, but still.

File storage


This was not a problem for me. It is easy to work with SD cards using SPI, and this is the method I used. The 1 gigabyte card works fine, but for Ubuntu Jaunty, 512 megabytes may be enough. ATmega has a hardware SPI module, and it was not difficult to make the card work. Pretty slow - about 200 kilobytes per second.
image
')

CPU


As mentioned earlier, we need a 32-bit architecture and MMU support. And AVR is eight-bit, and MMU naturally does not support either. I wrote an ARM emulator. ARM is quite similar to AVR, and it was not so difficult to write an emulator, despite the fact that I did not find such projects.
image

Other features


The computer communicates with the outside world via the serial port. Now I communicate using minicom on my computer, but I plan to connect a keyboard and character display to make everything standalone. I also have two LEDs that show the access to the SD card (one reading, another writing). The microcontroller itself from the standard 20 is overclocked to 24 megahertz.
image

How slow is it all ?!


Two hours for basic boot (init = / bin / bash). 4 more to log in to Ubuntu (exec init), and then login. Running X's even longer. Emulated speed of about 6.5 kilohertz. Oddly enough, but after loading, the system is even sometimes usable. The answer to the command in the terminal comes in about a minute. SD card formatted day. I think this is the slowest, cheapest and most easily assembled computer on Linux.

Source: https://habr.com/ru/post/177425/


All Articles