
Linux on an 8-bit microcontroller - Ivoah
http://dmitry.gr/?r=05.Projects&proj=07.%20Linux%20on%208bit
======
sspiff
This always manages to put a smile on my face. This is a pointless but awesome
technical achievement, and in the spirit of the old definition of "hacker".

~~~
frik
So next, let's run Windows on a DEC PDP-10?

Why DEC PDP-10? Gates and Allen had neither an interpreter nor even an Altair
system, for their first Altair BASIC product of Microsoft. However, Allen had
written an Intel 8008 emulator for their previous venture Traf-O-Data that ran
on a PDP-10 time-sharing computer. [1]

Another fun fact, Apple used Cray XMP supercomputers to design Apple hardware
[2] while Seymour Cray used an Apple desktop some of the time when designing
the Cray-2 [3].

[1]
[https://en.wikipedia.org/wiki/Altair_BASIC](https://en.wikipedia.org/wiki/Altair_BASIC)

[2]
[http://wiki.c2.com/?AppleCrayComputer](http://wiki.c2.com/?AppleCrayComputer)

[3] "Cray and Apple, seemly at opposite ends of the computer spectrum, do have
some subtle links. It was known that Seymour Cray used an Apple desktop some
of the time when designing the Cray-2. It is also known that Apple had a
sequence of Cray machines starting in March 1986 with an XMP/28 followed by
another XMP in Feb 1991. A YMP-2E arrived later in 1991 and finally an EL from
Dec 1993 to Jun 98. It is said that Apples first XMP was bought by Steve Jobs
after he just walked into the Cray facility in Mendota Heights."
[http://wiki.c2.com/?AppleCrayComputer](http://wiki.c2.com/?AppleCrayComputer)

------
simonblack
Any Turing-machine can emulate any other Turing-machine. Speed?? Well, that's
a different matter. Amount of RAM?? That too needs tweaking.

~~~
shakna
> Any Turing-machine can emulate any other Turing-machine.

True, but technically, a requirement of a Turing machine is an "infinite"
tape. However, though most of the computers we use can represent something
like that, limitations like not enough RAM show that what we have are not
_universal_ Turing machines. We don't have universality, so some things aren't
possible to do, without greater resources.

~~~
madez
An implication of your observation is that all the classical impossibility
results, like for example the halting problem, concretized to the machine at
hand become solveable theoretically, and maybe even practically. The turing
machine abstraction is too idealized, I think.

~~~
snaily
Have you seen how quickly busy beaver functions grow with the size of the
program? It'd have to be a pretty restricted system to be tractable...

~~~
userbinator
Those are still predicated on having an _infinite_ tape.

With finite storage, every program becomes a finite-state machine; and to
"solve" the halting problem, one only needs to use the usual cycle-finding
algorithms.

~~~
adrianN
With more than a handful of bits of state ever this restricted form of the
halting problem is not solvable in general in practice. It's like saying
"reading AES encrypted stuff is easy, you just have to try all keys"

------
e19293001
> It takes about 2 hours to boot to bash prompt

While Bellard's JSLinux can boot to bash prompt in seconds. Still both are
mind blowing projects!

~~~
dmitrygr
jslinux has a multi-GHz 64-bit CPU to play with

------
okket
(2012) but still awesome :)

see also previous discussion
[https://news.ycombinator.com/item?id=5581851](https://news.ycombinator.com/item?id=5581851)

~~~
c8g
and this
[https://news.ycombinator.com/item?id=3767410](https://news.ycombinator.com/item?id=3767410)

------
larsbrinkhoff
One might say it's running on an microcoded ARM processor. If you're not too
picky about exactly what microcode is.

~~~
Koshkin
Right. Microcoding used to be (and still is, as an idea) radically different
from emulation; today, it probably means "emulation in hardware" more than
what it meant originally.

------
Someone
I expected something along the lines of
[http://www.dougbraun.com/uzi.html](http://www.dougbraun.com/uzi.html) (link
to code broken) or the more ambitious (a Unix-like OS on Z80, 6809, 6502,
68000, and others)
[https://github.com/EtchedPixels/FUZIX](https://github.com/EtchedPixels/FUZIX)
(with ‘Lots more bugs right now’ than UZI)

This is a nice hack, but not as cool as those projects.

------
lasermike026
A great book for stuff like this.

"The Embedded Linux Primer" by Christopher Hallinan.

[https://read.amazon.com/kp/embed?asin=B004AE3IA6&preview=new...](https://read.amazon.com/kp/embed?asin=B004AE3IA6&preview=newtab&linkCode=kpe&ref_=cm_sw_r_kb_dp_8HxjAbQ6BJ865)

------
nategri
This is so stupid and so inspiring. Thank you.

------
throwthis153
Nice to see Dmitry on the front page :)

