Slashdot Mirror


GNU/Linux Running On An 8-Bit Processor

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.

7 of 361 comments (clear)

  1. Sometime tomorrow... by Anonymous Coward · · Score: 5, Funny

    They'll submit "FIRST POST"

  2. Geoworks by Daniel+Phillips · · Score: 5, Informative

    Nice trick. However, let me point out that in 1990 Geoworks GEOS was capable of running a preemptive multitasking GUI looking much like QT but with better automatic widget layout, on an 8 MHz 8088. I will just heave a great sigh in the name of the lost art of tight coding. No, Linux is not tightly coded. I should know. The best you can say about it is, the other guys are worse.

    --
    Have you got your LWN subscription yet?
  3. Re:Why? by Penguinisto · · Score: 5, Insightful

    Why not?

    Seriously... the skills and knowledge can come in handy someday.

    Maybe someone desperately needs to retrofit modern code to crappy old equipment? Maybe the ultra low power requirements of an extreme low-end machine makes this a fit somewhere?

    Most importantly though, he did it because he could. Doing it puts his skill set far above that of most people, and having that on the resume would get him in good with nearly any semiconductor corp on the planet that needs a software or firmware developer.

    --
    Quo usque tandem abutere, Nimbus, patientia nostra?
  4. No it won't. by pavon · · Score: 5, Informative

    No version of windows ever ran on an 8-bit processor. Windows 1.0-3.0 would run on an 8086, but that is still 16-bit, and Windows 3.1 won't even run on that, it needs a 286 or higher.

  5. Re:Why? by dmitrygr · · Score: 5, Informative

    I was bored :)

    --
    -------
    1. Enjoy your job
    2. Make lots of money
    3. Work within the law

    Choose any two.
  6. Re:Why? by dmitrygr · · Score: 5, Interesting

    It's up to 10 KHz now that i've optimized RAM access (new code up later today)

    --
    -------
    1. Enjoy your job
    2. Make lots of money
    3. Work within the law

    Choose any two.
  7. Re:How much more... by dmitrygr · · Score: 5, Interesting

    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

    --
    -------
    1. Enjoy your job
    2. Make lots of money
    3. Work within the law

    Choose any two.