
Linux on an 8-bit micro? (2012) - bootload
https://dmitry.gr/index.php?r=05.Projects&proj=07.%20Linux%20on%208bit
======
david-given
See also ELKS, which can run an (extremely stripped down and extensively
rewritten) Linux kernel on a 16-bit 8086:

[http://elks.sourceforge.net/](http://elks.sourceforge.net/)

Also Fuzix, which can run a Unix-like on a variety of tiny, ancient processors
like the Z80 and 6809; I've ported it to the MSP430, a modern micontroller,
and I also have a half-finished port to the Raspberry Pi that I must get round
to fixing one day (hilariously, the Pi has more RAM than Fuzix can handle)...

[https://github.com/EtchedPixels/FUZIX](https://github.com/EtchedPixels/FUZIX)

Both of those run natively, of course.

~~~
aortega
My final project for college grad was a unix-like 8-bit OS called picix, it
worked in PIC18 and supported tcp/ip via uIP

[https://sourceforge.net/projects/picix/](https://sourceforge.net/projects/picix/)

Hey at least it doesn't take 2 hours to boot :)

~~~
3chelon
I did something very similar, way back in '92, on a 68000 SBC. I pretty much
copied the important bits of the Unix kernel, but all in assembler!

------
hawski
Cool project.

Personally I like the idea behind RetroBSD [1] - port of 2.11BSD Unix intended
for microcontrollers.

I was thinking if a system like this powered by solar panel would be a good
idea for poor countries. The idea is to have computing of the past in
sustainable form available for poor. The main problem is probably to have a
cheap and low energy display. Maybe epaper made in bulk would be enough? But
probably such a computer can only be cheap if made in bulk. Maybe it could be
cheaper than RaspberryPi? The question that remains is what about networking?
Maybe they could function in similar fashion to BBS, but using shortwave
radio?

[1] [http://retrobsd.org/](http://retrobsd.org/)

~~~
pjc50
It sounds like you're about to re-invent the failures of "One Laptop Per
Child".

The one thing people in poor countries _do not_ want is special weird
incompatible systems designed for the poor. They want a solution which is
adequately close to the western ones, just cheaper. Look at cellphones:
[http://qz.com/451844/africas-smartphone-market-is-on-the-
ris...](http://qz.com/451844/africas-smartphone-market-is-on-the-rise-as-
affordable-handsets-spur-growth/)

~~~
hawski
I also think that smartphone will get there faster. Maybe Chromebooks if
Google will play it nice, because of Android apps support and normal keyboard.

However I think OLPC is different from what I have in mind. OLPC targeted
children with OS designed for children. I am thinking about something more
like RaspberryPi with integrated power and display systems, but with external
keyboard. Also I think about it to be extremely cheap. $100 laptop is already
done by Chromebooks, but it is not cheap enough. It would have to be around
$25 or less. It should expose GPIOs like RaspberryPi so it could be used in
more settings. It would be black and white and mostly text only. Basically my
pipe dream. Maybe I would just like to go back in time sometimes and I am just
projecting?

It is just a loose idea, but outside of people's preferences economics of
scale are certainly supporting smartphones.

~~~
pjc50
Sure, that's what you'd want; is it what the target market wants? Would people
be happy limited to B&W text?

For something like what you've described, the cost is driven by casework,
screens, touchscreen components and batteries. Not the processing electronics.
It sounds like something halfway between a Kindle with a keyboard and one of
the cheap Windows tablets, now below $100.
([http://www.dx.com/p/onda-8-v820w-quad-core-dual-os-tablet-
pc...](http://www.dx.com/p/onda-8-v820w-quad-core-dual-os-tablet-pc-w-2gb-
ram-32gb-rom-white-436403))

------
oldmanjay
Something about this just gives me joy. It's so ridiculous that it's
beautiful.

~~~
JonnieCache
_> Something about this..._

I reckon it's probably the SIMM soldered to the breadboard.

~~~
qb45
It's perfboard. Now, a SIMM soldered to breadboard, that would be something ;)

------
bootload
_" It is common to see newbies asking in microcontroller forums if they can
run Linux on their puny little 8-bit micro. The results are usually
laughter..."_

The reason why...

 _" uARM is certainly no speed demon. 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)."_

It is so slow. Btw if you ever ask about system compiles of Elm on RaspberryPi
which requires Haskell, you'll get similar responses.

~~~
ajdlinux
Well, it's not so much that as the fact that Linux requires a 32-bit
architecture (and preferably an MMU).

------
dnautics
I wonder if you could write parallelization routines that make this slightly
faster with a few more atmels...

~~~
koytch
Multiprocessor AVR running Linux would be the next step, definitely.

~~~
itgoon
Yea, imagine a Beow....ah, never mind.

~~~
jakub_h
Reminded me of Part 4 of [https://www.inf.ethz.ch/personal/wirth/FPGA-
relatedWork/Comp...](https://www.inf.ethz.ch/personal/wirth/FPGA-
relatedWork/ComputerSystemDesign.pdf) . Intellasys/GreenArrays are kind of
similar but only with tiny local memory.

------
MissingGear
Previous HN discussions :

[https://news.ycombinator.com/item?id=8791812](https://news.ycombinator.com/item?id=8791812)

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

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

------
patmcguire
Chrome gives some ssl-shaming for this site that I haven't seen before. An
angry red warning and text that says "This site uses a weak security
configuration (SHA-1 signatures), so your connection may not be private."

~~~
dmitrygr
I'll take a look.

~~~
patmcguire
Didn't mean to throw shade, was just intrigued by the new blinkenlights on my
screen.

------
poseid
was reading about instruction sets a couple of hours ago, the performance
bottleneck is often the memory pipeline not so much the size of the
instructions

~~~
madez
Can you give more information on that?

~~~
poseid
it takes longer studies - but possibly this is a good start
[https://www2.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-...](https://www2.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-146.pdf)

------
z3t4
I don't know if it's a joke, but it's hilarious.

------
teddyh
More like Linux on 32-bit ARM, but running in an emulator on an 8-bit
processor. I don't think this qualifies as “Running” Linux on an 8-bit
processor.

I voiced the same complaint when somebody claimed to “run” Windows 3 on an
Apple watch (IIRC), which also was achieved by running a standard PC-hardware
emulator, and running Windows 3 on that.

These _are_ somewhat interesting accomplishments, but the click-bait factor is
high.

~~~
nullc
So Linux isn't 'running' on your x86_64 cpu because cpu is microcoded... or
transmeta? Or... Linux is written in C.. so it's not running on your computer
because it doesn't execute C directly?

Come on. There is a 8-bit microcontroller running a linux system, the rest is
implementation details and semantics.

~~~
derefr
I think the argument is that one would expect "Linux running on architecture
Foo" to imply support _in Linux_ for Foo, rather than support _in Foo_ for
Linux that allows Linux to run unmodified. I certainly expected, when I
clicked, to read about someone's effort to rewrite a minimal subset of the
Linux kernel to use exclusively 8-bit registers and no MMU.

~~~
poizan42
Linux can already run on MMU-less systems (CONFIG_NOMMU). GCC already supports
AVRs, though you may have to tweak the backend a bit so ints are 32-bit wide
etc.

These are not the big issues in porting the Linux kernel to an AVR. The major
problem is that AVR is Harvard architecture and there's probably tons of
assumptions in the kernel that code and data resides in the same memory space.

~~~
poizan42
\- also ATmega1284P and ATmega644A mentioned in the article doesn't support
external code memory nor changing the code memory after boot. However they do
support a boot loader that can load code initially. So you would have to
implement some sort of paging by resetting the cpu to give control to the
bootloader to load the new code. Sound like fun. Also the kernel itself is far
too large to fit in code memory, so it would constantly have to page parts in
and out through this mechanism.

------
israrkhan
Just because you can, doesn't mean you should..

------
paulannesley
Very cool (TL;DR: it's an ARM emulator for 8-bit AVR which can slowly boot
Linux). Could do with a [2012] tag in the title.

~~~
Jaruzel
Why are people TL;DRing a lot of posts recently? Surely on HN, the joy is in
discovering the linked content themselves surely?

If you don't have time to read HN, and need TL:DRs then you should question
why you are here in the first place.

\--

Vote down if you like, I joined HN to _get away from_ inane commentary and
TL:DR nonsense that's so prevalent on other sites.

~~~
JonnieCache
as much as tl;dr is increasingly irritating when used in this way, baiting
downvotes is also not cool.

~~~
Jaruzel
I'm not baiting down-votes. Far from it. Just voicing that TL;DR is annoying.
There's a reason you can't have both text AND a url in a HN submission - it's
to encourage people to actually visit the link.

Next, we'll have people just copy-pasting the entire article body as a comment
... :(

~~~
pjc50
> it's to encourage people to actually visit the link.

You read the links? I'm just here for the commenting. If the comments imply
the article is good enough I'll read it.

(This effect used to be very strong on the Guardian's commentisfree site,
where the top comments often contained valuable correction/context to the
tritness of the article)

> Next, we'll have people just copy-pasting the entire article body as a
> comment

I've seen that done a few times; it's useful if it's
paywalled/adwalled/unusuable-crashy-javascript-walled.

