Embeddable Linux Kernel Subset
Embeddable Linux Kernel Subset | |
---|---|
![]() | |
Entwickler | Jody Bruchon, Riley Williams†, Alan Cox, Chad Page u. v. m. |
Lizenz(en) | GPLv2 |
Akt. Version | 0.8.1[1] vom 16. Oktober 2024 |
Abstammung | Linux 2.0/2.1 (1997) ↳ Linux-8086/ELKS |
Architektur(en) | x86 ab 8086/8088, Psion SIBO |
Sprache(n) | Englisch |
github.com/ghaerr/elks/wiki |
Embeddable Linux Kernel Subset (kurz ELKS), vormals Linux-8086, ist ein freier Betriebssystem-Kernel für Computer, die mit x86-kompatiblen 16-Bit-Prozessoren ab dem 8086/8088 ausgestattet sind. Es wird als freie Software unter der GNU General Public License (GPL) verbreitet. Als ein Fork von Linux stellt ELKS eine auf diese Bedingungen angepasste Untermenge dieses Unix-artigen Kernels dar. Das erklärte Ziel der Entwicklung ist Unix-V7-Funktionalität auf 16-Bit-Architekturen. Ein solcher Kernel kann in eingebetteten Systemen sowie zu Ausbildungs- und Lehrzwecken genutzt werden. ELKS läuft neben den 16-Bit-x86-Prozessoren (retronym auch oft „x86-16“) auch auf Psion-SIBO-Organizern.
Linus Torvalds hatte den Linux-Kernel ab 1991 für ein Unix-artiges Betriebssystem ursprünglich nur für seinen 386-PC entwickelt und ihn daher voll auf dessen 32-Bit-Protected-Mode aufgebaut. Doch bereits in den 1990er Jahren wurde der Kernel auf 64-Bit-Systeme wie den Alpha-Prozessor portiert. (Inzwischen läuft der Linux-Kernel nicht mehr auf einem 80386er; die Unterstützung wurde in Kernel-Version 3.8 entfernt.) Auf x86-kompatiblen 16-Bit-Prozessoren war Linux aber grundsätzlich nicht lauffähig, was zusätzliche praktische Gründe hat. Zum einen waren ältere Computer meist generell mit sehr wenig Arbeitsspeicher ausgerüstet. Als Linux 1991 erschien, lief es zwar auf Systemen mit 4 MiB RAM,[2] mit einer grafischen Benutzeroberfläche wie X Window System ist jedoch bereits deutlich mehr Arbeitsspeicher nötig. Zum anderen ist die Speicherbegrenzung eine fundamentale Einschränkung der 16-Bit-x86-Architektur: im Real Mode ist, neben dem fehlenden Speicherschutz, nur 1 MiB direkt adressierbar, im 16-Bit-Protected-Mode des Intel 80286 (dem im Vergleich zum i386 die MMU fehlt) nicht mehr als 16 MiB.
Dennoch startete Alan Cox gemeinsam mit Chad Page 1995 Linux-8086.[3] Ein Meilenstein war die TCP/IP-Implementierung in ELKS 0.1 2002.[4][5] Die Entwicklung hatte jedoch selbst nach mehr als einem Jahrzehnt noch Alpha-Status und kam nur sehr langsam voran.[6] Version 0.1.4 wurde am 19. Februar 2012 in Gedenken an den verstorbenen Riley Williams auf SourceForge veröffentlicht.[7] Jody Bruchon siedelte das Projekt 2014 zu GitHub um, wo es auch aktiv weiterentwickelt werden sollte.[8] Im März 2015 erschien Version 0.2.0. Seit 2018 (Version 0.2.1 erschien am 25. Juni 2018) steht ELKS auf GitHub sowohl im Quelltext zum selbst kompilieren als auch in Form von vorgefertigten Abbildern für verschiedene Diskettenformate[9] und als 32-MiB-Festplatte[10] zum Download bereit.
Weblinks
[Bearbeiten | Quelltext bearbeiten]- alte offizielle Website auf SourceForge (englisch)
- neue offizielle Entwicklerseite auf GitHub (englisch), Hauptentwickler: Jody Bruchon
- Entwickler-Newsgroup (englisch, erste Nachricht vom 26. April 2006)
Siehe auch
[Bearbeiten | Quelltext bearbeiten]- Xenix von Microsoft (und später SCO), eine kommerzielle Portierung von AT&T UNIX Version 7 auf den Intel 8086 (1980) und den 80286 (1983)
- PC/IX, eine UNIX-Portierung auf 8086/8088 von 1984
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ Release 0.8.1. 16. Oktober 2024 (abgerufen am 5. November 2024).
- ↑ Warren Young: memory limit of the Linux kernel. (Internetforum) In: Unix & Linux. Stack Exchange, 4. November 2014, abgerufen am 22. Mai 2025 (englisch): „Let’s take the wayback machine to the early 1990s, when Linux was being created. Back in those days, we’d have arguments about whether Linux could be made to run in 2 MiB of RAM or if it really needed 4 whole MiB. Of course, the high-end snobs were all sneering at us, with their 16 MiB monster servers.“
- ↑ Alan Cox: ELKS -- Linux 8086. In: comp.os.linux.announce. 30. November 1995, abgerufen am 18. April 2013 (englisch).
- ↑ Alan Cox: Linux 8086. (E-Mail) In: LWN.net. 1. April 2002, abgerufen am 22. Mai 2025 (englisch).
- ↑ Hans-Joachim Baader: Linux 8086 – Das Linux 8086-Projekt, das einen stark abgemagerten Linux-Kernel auf sehr alte CPUs portieren will, hat mit der Hinzufügung einer TCP/IP-Implementierung einen Meilenstein erreicht. In: Pro-Linux. 1. April 2002, abgerufen am 22. Mai 2025.
- ↑ Harry Kalogirou: ELKS : Baby Linux refusing to grow up. In: Blog von Harry Kalogirou. 1. Oktober 2005, abgerufen am 14. April 2013 (englisch).
- ↑ Jody Bruchon: ELKS release 0.1.4. 19. Februar 2012, archiviert vom (nicht mehr online verfügbar) am 21. Februar 2012; abgerufen am 14. April 2013 (englisch).
- ↑ offizielle Website: “ELKS has moved to GitHub,” abgerufen am 12. September 2015
- ↑ ghaerr / elks Releases. GitHub, abgerufen am 22. Mai 2025 (englisch).
- ↑ How to use ELKS #Binaries. (Wiki) Abgerufen am 22. Mai 2025 (englisch).