Forgot your password?
typodupeerror
Hardware Hacking Software Linux Build

GNU/Linux Running On An 8-Bit Processor 361

Posted by Unknown Lamer
from the some-people-have-lots-of-free-time dept.
dartttt writes, quoting Ubuntu Vibe: "Dmitry Grinberg has successfully booted Ubuntu 9.04 on an 8 bit micro machine with 6.5 KHz CPU and 16 MB RAM. Grinberg did this experiment on a ATmega1284p, 8-bit RISC microcontroller clocked at 24MHz and equipped with 16KB of SRAM and 128KB of flash storage. Since the RAM was too low, he added 30-pin 16MB SIMM to the machine and a 1 GB SD card to host Ubuntu image. ... To get the world's slowest Linux Computer running, he had to write an ARMv5 emulator which supports a 32bit processor and MMU. A similar machine can be made very easily and everything should come in about $20." There is source code available, but it's under a non-commercial use only license. Just how slow is it? "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. The effective emulated CPU speed is about 6.5KHz, which is on par with what you'd expect emulating a 32-bit CPU & MMU on a measly 8-bit micro. Curiously enough, once booted, the system is somewhat usable. You can type a command and get a reply within a minute." If you like watching a whole lot of nothing, there's a video of the boot process below the fold.

This discussion has been archived. No new comments can be posted.

GNU/Linux Running On An 8-Bit Processor

Comments Filter:
  • Re:Geoworks (Score:5, Interesting)

    by Ichijo (607641) on Monday April 02, 2012 @04:20PM (#39552865) Homepage Journal

    No, Linux is not tightly coded. I should know. The best you can say about it is, the other guys are worse.

    Not MenuetOS [menuetos.net]. It's an operating system with a graphical UI, pre-emptive multitasking, and USB and TCP/IP stacks that boots from a single floppy.

  • Re:75 MHz 286 (Score:5, Interesting)

    by kwark (512736) on Monday April 02, 2012 @04:21PM (#39552877)

    What 286 ran at 75Mhz? Only 486 cpus ran at those speeds. And AFAIK Debian never had a kernel for non 386 80x86 CPUs.

  • by DarthVain (724186) on Monday April 02, 2012 @04:27PM (#39552963)

    "slowest Linux Computer running"...

    I beat that score by a large margin. Years ago I took an old 386 Laptop that ran at 25Mhz, I don't recall how much ram it had, but I am going to go with "not much", and booted DSL (Damn Small Linux) in just over 21 hours. Which is over 10x as slow as the one in the article! So technically I think I had the "slowest Linux computer".

    Why did it boot so slow? Well it was also the reason I used DSL, because it was less than 50MB, and I could fit it on a Zip drive. Attached via a parallel cable. It did work, and it did eventually boot, however I had to leave it over night (I thought it would eventually just crash), but it worked its way through. Also on a fun note, when typing and executing commands it was like telneting to the moon, there was like a 4-5 second delay between typing any command hitting execute, and any sort of result. I really just wanted to see if it was possible to install and run an OS on a zip drive connected via a parallel port. The answer is yes, but not very well.

  • Re:Why? (Score:2, Interesting)

    by war4peace (1628283) on Monday April 02, 2012 @04:33PM (#39553051)

    Most importantly though, he did it because he could.

    That's the same reason dogs have when licking their balls.
    Just sayin'...

  • Re:We could ... (Score:5, Interesting)

    by jd (1658) <imipak @ y a h o o .com> on Monday April 02, 2012 @04:43PM (#39553167) Homepage Journal

    Already done. One of the earliest supercomputer-grade clusters was a gigantic mesh of 65C02 processors. You'll need to come up with something better.

  • by jd (1658) <imipak @ y a h o o .com> on Monday April 02, 2012 @04:52PM (#39553261) Homepage Journal

    To this project or to this discovery? To the project, probably no. Well, other than being excellent practice in problem-solving. To the discovery, probably yes. There have long been arguments over the minimum complexity requirements for a general-purpose OS, which is an important problem to solve as complexity is a governor of many things (cost, durability, power requirements, heat generation, etc). We already know from Turing that any CPU can run any software for any other CPU, provided the memory is available and the CPUs are Turing Machine equivalents. What we've been less clear on is what this means in practice, how to exploit it, and whether architectural limitations violate the Turing Machine equivalency requirement. We now have numbers to work with, a case study, and a proof by example that equivalency is satisfied.

  • Re:Why? (Score:5, Interesting)

    by dmitrygr (736758) <dmitrygr@gmail.com> on Monday April 02, 2012 @05:08PM (#39553433) Homepage
    It's up to 10 KHz now that i've optimized RAM access (new code up later today)
  • Re:How much more... (Score:5, Interesting)

    by dmitrygr (736758) <dmitrygr@gmail.com> on Monday April 02, 2012 @05:39PM (#39553773) Homepage
    I don't use a SIMM for the JVM project - but I am going to release a fully working(threads, synchronization, exceptions, interfaces, all the datatypes, etc) JVM for AVRs soon
  • by unkiereamus (1061340) on Monday April 02, 2012 @07:29PM (#39554963)
    I actually have fixed a car with a fork once.

    Main engine fuse blew out, I was 60 miles from anywhere, and for whatever reason, had a cheap ass fork in my car. Bent up the middle two tines, shoved the outer tines in the fuse holder, taped the hell out of it to prevent shorting and away I went.

    Also, don't try this at home, if the fuse blew, there's probably a reason, etc, etc, etc.
  • by Savantissimo (893682) on Monday April 02, 2012 @11:20PM (#39556353) Journal

    Back in the mid-90s I loaded Linux (Yggdrasil or Slackware, IIRC) on a 40MHz 386. I got Xwindows running in 8MB of RAM, which is half what the guy in the article needed. It was pretty useless.

    Every couple of years I try Linux again, and it never seems to get any better - bad documentation, crappy programming, 20 different alternative programs for anything one might want to do, none of which works right. It's gotten prettier over the years, but ever more bloated and irritating. If you want to actually get some work done on a desktop or laptop instead of screwing around forever with drivers and configuration and sadistically incompetent interfaces, Linux is not competitive.

"Our reruns are better than theirs." -- Nick at Nite

Working...