All that's left is that pesky 32-bit CPU & MMU requirement. Well the AVR has no MMU and is 8-bit. To conquer this obstacle, I wrote an ARM emulator. So technically it's Linux running on a 32-bit "macro", just one which happens to be implemented in some seriously inefficient manner. There are some real ports of Linux for "limited" architectures, like uClinux (supporting few 32-bit micros, including some MMU-less ones)…
Linux on an 8-bit micro
11–20 of 80 posts
Re: Linux on an 8-bit micro
#12Re: Linux on an 8-bit micro
#13All that's left is that pesky 32-bit CPU & MMU requirement. Well the AVR has no MMU and is 8-bit. To conquer this obstacle, I wrote an ARM emulator. So technically it's Linux running on a 32-bit "macro", just one which happens to be implemented in some seriously inefficient manner. There are some real ports of Linux for "limited" architectures, like uClinux (supporting few 32-bit micros, including some MMU-less ones)…
Re: Linux on an 8-bit micro
#14And slightly on topic, here is Windows 95 on a 25Mhz 386 with 4 meg of RAM http://everything2.com/title/25+MHz+386+running+Windows+95
Re: Linux on an 8-bit micro
#15All that's left is that pesky 32-bit CPU & MMU requirement. Well the AVR has no MMU and is 8-bit. To conquer this obstacle, I wrote an ARM emulator. So technically it's Linux running on a 32-bit "macro", just one which happens to be implemented in some seriously inefficient manner. There are some real ports of Linux for "limited" architectures, like uClinux (supporting few 32-bit micros, including some MMU-less ones)…
How in the world does it "prove" that, when not only does it "fit", it fits in addition to an emulator? I don't see that it only runs _under_ an emulator proves any such thing.
While this is obviously a "hah, you think it's impossible? I'll show you," type achievement, and running Linux on an 8-bit is never going to be more than a curiosity, it's a neat proof of concept and could trivially be made much faster (through a hybrid approach: a lot of the Linux code could likely be ported quite easily, and a lot of it could probably also be jit'ed relatively easily (especially kernel-land - a special purpose jit whose only purpose is to jit the kernel would be vastly easier than a general purpose jit, not least because you can take a boatload of shortcuts (e.g. manual translation) in cases where a simple/trivial jit doesn't do well.
I think it's a fascinating solution - people have talked about doing ports to limited systems without MMU's etc. before, and it has usually meant severe tradeoffs that means lots of userland won't work (e.g. vfork instead of fork). This is a d'oh moment in that the "solution" if your goal is only to get a port running (rather than for it to be practically usable) has stared us in the face "forever" (there's been virtualization solutions using emulated CPU's since before Linux was around).
Re: Linux on an 8-bit micro
#16That's impressive! I remember when "getting linux working on a laptop" was thought to be tricky.[1] ELKS was a linux distribution for old small machines. It was supposed to run on an 8086, and use just 512 KB (not MB) for ram. ( http://web.archive.org/web/19990117003949/http://www.uk.linu... ) ( http://en.wikipedia.org/wiki/Embeddable_Linux_Kernel_Subset ) Wow, still sort of live. ( http://elks.sourceforge.net/ ) [1]…
Re: Linux on an 8-bit micro
#17All that's left is that pesky 32-bit CPU & MMU requirement. Well the AVR has no MMU and is 8-bit. To conquer this obstacle, I wrote an ARM emulator. So technically it's Linux running on a 32-bit "macro", just one which happens to be implemented in some seriously inefficient manner. There are some real ports of Linux for "limited" architectures, like uClinux (supporting few 32-bit micros, including some MMU-less ones)…
> which BTW proves again that Linux doesn't fit onto 8-bit micros. How in the world does it "prove" that, when not only does it "fit", it fits in addition to an emulator? I don't see that it only runs _under_ an emulator proves any such thing. While this is obviously a "hah, you think it's impossible? I'll show you," type achievement, and running Linux on an 8-bit is never going to be more than a curiosity, it's a ne…
But yes, in a sense, you can run Linux on 8-bit micro or even a sufficiently long Lego brick Turing Machine.
Re: Linux on an 8-bit micro
#18Re: Linux on an 8-bit micro
#19Re: Linux on an 8-bit micro
#20That's impressive! I remember when "getting linux working on a laptop" was thought to be tricky.[1] ELKS was a linux distribution for old small machines. It was supposed to run on an 8086, and use just 512 KB (not MB) for ram. ( http://web.archive.org/web/19990117003949/http://www.uk.linu... ) ( http://en.wikipedia.org/wiki/Embeddable_Linux_Kernel_Subset ) Wow, still sort of live. ( http://elks.sourceforge.net/ ) [1]…