Kann man tatsächlich Linux auf einem günstigen 8 bit µC laufen lassen? Was sind da die Minimalanforderungen? Wie ist das eigentlich mit der Software für Linux, ob bei einem AVR oder ARM. Kann man sämtliche Linux Software einfach für die AVR/ARM Plattform compilieren?
Markus22 schrieb: > Kann man tatsächlich Linux auf einem günstigen 8 bit µC laufen lassen? Jap, geht. http://hackaday.com/2012/03/28/building-the-worst-linux-pc-ever/ http://dmitry.gr/index.php?r=05.Projects&proj=07.%20Linux%20on%208bit http://hackaday.com/2013/11/21/making-the-worst-linux-pc-useful/ Gruesse
Markus22 schrieb: > Kann man tatsächlich Linux auf einem günstigen 8 bit µC laufen lassen? Im Prinzip schon. Du hängst extern DRAM und eine SD-Card dran, schreibst einen ARM-Emulator und fertig.
Markus22 schrieb: > Kann man tatsächlich Linux auf einem günstigen 8 bit µC laufen lassen? Es gab tatsächlich mal ein Linux, das auf der 8088 CPU (8/16bit) und dem Umfeld eines IBM PC lief(EL Linux? irgendwie so hiess das), und es gibt auch immer noch jemanden, der auf einem AVR Linux bootet - aber der braucht 2 Stunden, bis der Prompt erscheint, weil der AVR einen 16-bit Prozessor emuliert. Ein echtes Linux benötigt auch eine MMU, die bei den normalen MCs nicht dabei ist. uCLinux allerdings verzichtet auf die MMU und läuft minimal auf Systemen mit 2MB Flash und 2MB RAM und kleinen 16 bit Prozessoren wie dem MC68EZ328, wie er z.B. in alten Palm PDAs verbaut ist. Viele Router arbeiten auch damit, meistens mit Abarten wie Monta Vista Linux o.ä. Arbeiten darauf ist eingeschränkt, weil sehr wenig Platz im RAM ist, um Tools und Programme aus dem Flash ins RAM zu dekomprimieren. Gut arbeiten lässt sich z.B. mit 2MB Flash und 8MB RAM, wie es auf meinem uCSimm gemacht ist. Der hat auch Ethernet und was der Siedler sonst noch braucht.
:
Bearbeitet durch User
Matthias Sch. schrieb: > Es gab tatsächlich mal ein Linux, das auf der 8088 CPU (8/16bit) und > dem Umfeld eines IBM PC lief(EL Linux? Tatsächlich. http://elks.sourceforge.net/
:
Bearbeitet durch User
http://www.disi.unige.it/person/DoderoG/minix/info-20.htm ggf. auf einem 16biter wie 80188 (8bit IO)
Hier ist ein Cortex-M0 Emulator für ein 8-bit ATtiny85: http://dmitry.gr/index.php?r=05.Projects&proj=08.%20uM0 Matthias Sch. schrieb: > aber der > braucht 2 Stunden, bis der Prompt erscheint, weil der AVR einen 16-bit > Prozessor emuliert. Echt süß! :D
Markus22 schrieb: > Echt süß! :D Und ich glaube 8 Stunden bis das System vollstaendig da ist. Konsolenbefehle brauchen gut ne Minute bis die fertig sind :D Steht aber alles in den Links die ich gepostet habe. Gruesse
Linux erfordert eine 32bit CPU und eine MMU, also wären ARM Controller (wie der Raspberry Pi) die Mindestausstattung. Die Projekte mit 8bit Mikrocontroller emulieren solche Systeme. Also läuft das Linux dann in einer virtuellen Maschine, die auf den 8bit Controller läuft. Das ist nur was für Masochisten.
Stefanus schrieb: > Das ist nur was für Masochisten Es kam nirgendwo die Frage, ob man das auch wirklich Produktiv nutzen kann. Und darum geht es bei solchen Projekten in der Regel auch gar nicht, sonder darum, einfach zu zeigen das es moeglich ist. Das ist genauso sinnfrei wie ein Auto mit ueber 1000PS zu bauen (oder wie einige Oel-Multis das vorhaben, mit 5000PS), und warum wird es trotzdem gemacht? Um zu zeigen das es geht.
Stefanus schrieb: > Linux erfordert eine 32bit CPU und eine MMU, also wären ARM Controller > (wie der Raspberry Pi) die Mindestausstattung. Mit uClinux geht es auch ohne MMU. Das ist durchaus verwendbar. Markus
und da man für solche Leistungen eher Mitleid als Bewunderung erntet sollte man seine Zeit wirklich nicht damit verschwenden.
Linux läuft zwar irgendwie ... aber für kleine Controller gibt es bessere Betriebssysteme. Wenn es halbwegs POSIX-konform sein muss, böte sich bspw. NuttX an. Das skaliert sehr gut vom kleinen AVR bis zu großen STM32 und Linux-Programme, die auf Standard-Libs aufsetzen, sollten durchkompilieren. Und wenn man möchte, bekommt man noch eine GUI für wenig Aufwand dazu. Darüberhinaus ist das unter einer BSD-Lizenz verfügbar, darf also CS sein. www.nuttx.org
Chris D. schrieb: > Linux läuft zwar irgendwie ... aber für kleine Controller gibt es > bessere Betriebssysteme. > > Wenn es halbwegs POSIX-konform sein muss, böte sich bspw. NuttX an. Das > skaliert sehr gut vom kleinen AVR bis zu großen STM32 und > Linux-Programme, die auf Standard-Libs aufsetzen, sollten > durchkompilieren. Das Problem ist die völlig sinnfreie Spezifikation "Ich will Linux auf 8 bit". Zuerst ist mal die hardware ("8 bit") genauer zu beschreiben: -ein uC allein taugt garnix da braucht es noch --dateneingabe (tty, rs232-rx, Sensoren, i2c, ...) --daten ausgabe (console, rs232-tx, vga, ...) und --datenspeicher (flash,sdcard,hdd,ramdisk) und anschliessend die Anwendung (Linux) -processcontrolle -tastaturlogging -out-port switching -messagesystem (irq, mailbox) -ressourcenverwALTUNG (Speicherallokierung, Filesystem) -single/ muliuser -single/ multitask Dann kann man sagen welches OS hier passt egal ob vorhanden oder was zu selberschreiben. Der Klassiker für 8bit computer ist übrigens CP/M von 1974. MfG
Nur zur Information. Auf dem IBM PC (8088) lief das UNIX Derivat AIX. Es lief besser und schneller als das IBM-DOS. Sogar Multi-Task fähig.
Klausb schrieb: > Auf dem IBM PC (8088) lief das UNIX Derivat AIX. Dafür war mindestens ein 386 fällig. Und für den gab es recht viele Unixe. Für den 8088 gab es beispielsweise Xenix von Microsoft(!).
:
Bearbeitet durch User
Lieber prx, der 8088 reichte, ich habe jetzt noch (zur Erinnerung) die Disketten für den IBM-PC-8088 im Schrank. Ist halt schon fast 30 Jahre her. Bin halt auch noch Sammler.
Klausb schrieb: > der 8088 reichte, Dann ist das hier falsch? http://en.wikipedia.org/wiki/IBM_AIX#IBM_PS.2F2_series Ich habe das nämlich auch so in Erinnerung wie es dort steht.
:
Bearbeitet durch User
Ich veruch mal Dich mit den Fotos zu überzeugen. AIX gab es für viele IBM Rechner Familien.
Steht da irgendwo AIX? Das ist PC/ix, nicht AIX. http://de.wikipedia.org/wiki/Interactive_Unix#PC.2Fix > AIX gab es für viele IBM Rechner Familien. Und ich hatte mit allen 3 zu tun. Aber mit AIX/386 nur kurz.
:
Bearbeitet durch User
Klausb schrieb: > Ok. Das a-dvanced fehlt. > Es ist auf jedenfall ein UNIX Derivat. Ja, wohl die Vorgängerversion von AIX, die dann durch die "weiterentwickelte" (Advanced) Version abgelöst wurde. IMHO handelte es sich bei IX ohne A noch um eine Version die in erster Linie als Alternatives System neben einem anderen Betriebssystem gedacht war, ähnlich wie heute öfter Linux und Windows auf einem REchner anzutreffen und wahlweise gestartet werden können... Ist aber "vor" meiner ZEit gewesen, 1984 habe ich gerade gelernt meinen Namen zu malen (Einschulung 1985) und die allerersten Spiele auf dem Büro C64 meines Onkels zu spielen. Gruß Carsten
:
Bearbeitet durch User
Zusammenfassung: In einer Emulation kann man Linux auch auf einem 8 Bit Mikrocontroller laufen lassen, an sich benötigt es einen 32-Bit-Prozessor, aber nicht zwingend einen mit MMU. Für 8 Bit-CPUs ist mir nur ein unixoides System bekannt, nämlich UZI (Z80) bzw. UZI180 (Z180).
Carsten Sch. schrieb: > Ja, wohl die Vorgängerversion von AIX, die dann durch die > "weiterentwickelte" (Advanced) Version abgelöst wurde. Namen sind Schall und Rauch. PC/ix war extern gebautes Auftragsprodukt, AIX/386 war das ebenfalls. Aber von verschiedenen Firmen. Verwandschaft bestand über die Abstammung von Unix. Beides waren für IBM keine strategischen Produkte. Die aufkommenden RISC-Prozessoren hätte IBM ja auch beinahe verpennt, und das obwohl eine der beiden historischen Ursprünge davon eben bei IBM in den 70ern lag. Noch über weite Teile der 80er durfte aber nichts die Mainframes gefährden, und billige leistungsfähige mehrbenutzerfähige Systeme hätten aus Sicht der Strategen die kleineren Mainframes angeknabbert. Dass der Markt von Grafik-Workstations für CAD&Co komplett an IBM vorbei laufen könnte merkten sie grad noch rechtzeitig. Mit der 6150 kam dann der erste Anlauf, schnell zurecht gezimmert und eher grauslich. Erst mit den POWER-Prozessoren und AIX 3 wurde es ernst. Und das war dann das soundsovielte Unix-Derivat, das man bei IBM kriegen konnte, mit nicht auffällig viel Verwandtschaft zu den Vorgängern. Und das erste wirklich strategische und erfolgreiche Produkt dieser Richtung.
:
Bearbeitet durch User
Zur weiteren Anreicherung unnuetzen Wissen noch vier weitere Bemerkungen von einem Oldi ;-) - vor Linux gab es (Unix und) Minix. Erste Minixversionen liefen auf einem 8088, die Prozesse durften 64KB maximal beanspruchen, ELKS kam danach. - vor Minix spielte der ein oder andere Unix-Nerd in den 80ern mit XINU. Da gab es auch eine Apple II Portierung und 2-3 zellulosebasierte P-books, die die Datenstrukturen beschreiben. - IMHO ist Andre Fachats GeckOS (Anfang 90er, vor Linux) -- mit einem an ein UNIX-API -- angelehntes Wunderwerk, welches auf dem C64 lief (der echte Hacker programmiert in Assembler) - OS/9 (nene, nicht das Apple OS) hatte Anfang der 80er Multitasking/Multiuser und eine an Unix angelehnte API (und Kommandozeile). Lief auf einem 6809er (8Bit-er, und es gibt 6309 Varianten). Wird heute noch bei Tandy Color Computer Liebhabern benutzt. Anfang der 80er wurde OS/9 viel im anspruchsvollen Realtimesegment verwendet.
Coherent startetet 1980 und lief auch auf 8088, in der ct wurden regelmäßig Anzeigen geschaltet. BSD sollte nicht unerwähnt bleicen, auch wenn es erst ab 386 lief. Und all die systeme booten schneller als die oben erwähnten stunden für ein (unangepasstes) Linux.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.