Embeddable Linux Kernel Subset: Difference between revisions

Content deleted Content added
Taxman6 (talk | contribs)
Update date for new latest release
m Bot: http → https
 
(5 intermediate revisions by 5 users not shown)
Line 6:
| family = [[Unix-like]]
| released = 0.0.76 ({{Start date and age|1999|05|20|df=yes}})
| latest release version = 0.8.0{{wikidata|property|preferred|references|edit|Q1331667|P348|P548=Q2804309}}
| latest release date = {{Start date and age|2024{{wikidata|09qualifier|24preferred|dfsingle|Q1331667|P348|P548=yesQ2804309|P577}}}}
| language = [[English language|English]]
| kernel type = [[Monolithic kernel|Monolithic]]
| license = [[GPL v2]]<ref>{{cite web |url=https://github.com/ghaerr/elks/blob/master/LICENSE |title=LICENSE file on github|website=[[GitHub]] }}</ref>
}}
The '''Embeddable Linux Kernel Subset''' ('''ELKS'''), formerly known as '''Linux-8086''', is a [[Linux-like]] operating system [[kernel (operating system)|kernel]]. It is a subset of the [[Linux kernel]], intended for [[16-bit]] computers with limited processor and memory resources such as machines powered by [[Intel 8086]] and compatible [[microprocessor]]s not supported by [[32-bit]] [[Linux]].<ref>{{Cite book|url=https://www.worldcat.org/oclc/273049576|title=Building embedded Linux systems|date=2008|publisher=O'Reilly Media|others=Karim Yaghmour|isbn=978-0-596-52968-0|edition=2nd|___location=Sebastopol [Calif.]|pages=7|oclc=273049576}}</ref><ref>{{Cite book|last=Danesh|first=Arman|url=https://www.worldcat.org/oclc/437171498|title=MasteringTM Linux.|date=2006|publisher=John Wiley & Sons|others=Michael Jang|isbn=978-0-7821-5277-7|edition=2nd|___location=Hoboken|pages=904|oclc=437171498}}</ref>
<!-- DONE: add infos about elksemu, more details about current status?, check all links. Still TODO: running ELKS in dosemu (and maybe qemu and/or bochs), add infos from the FAQ and the "ELKS development tools" below, links to other usages? -->
 
==Features and compatibility==
ELKS is [[free software]] and available under the [[GNU General Public License]] (GPL). It can work with early [[16-bit]] (e.g. 8086, [[Intel 8088|8088]]) and many [[32-bit]] [[x86]] computers like [[IBM PC compatible]] systems, and later x86 models in [[real mode]]. Another useful area is [[single-board computer|single board microcomputers]], intended as educational tools for "[[wikt:homebrew|homebrew]]" projects (hardware [[Hacker (hobbyist)|hacking]]), as well as embedded controller systems (e.g. [[Automation]]).<ref name="Intro">[httphttps://elks.sourceforge.net/introduction.html Introduction to ELKS]</ref>
 
Early versions of ELKS also ran on [[Psion Series 3#Psion Series 3a|Psion 3a]] and 3aR [[EPOC (operating system)#EPOC16|SIBO]] (SIxteen Bit Organiser) [[Personal Digital Assistant|PDA]]s with NEC [[NEC V20#Variants and successors|V30]] CPUs,<ref name="Intro"/><ref>{{cite web |url=http://www.elks.ecs.soton.ac.uk/sibo.php3 |title=Information on SIBO |accessdate=2014-03-02 |url-status=bot: unknown |archiveurl=https://web.archive.org/web/20011021222654/http://www.elks.ecs.soton.ac.uk/sibo.php3 |archivedate=October 21, 2001 }}</ref> providing another possible field of operation ([[gadget]] hardware), if ported to such a platform. This effort was called ELKSibo.<ref>{{cite web |url=http://www.mungewell.ndirect.co.uk/linux/ |title=Information on ELKSibo |accessdate=2014-03-02 |url-status=bot: unknown |archiveurl=https://web.archive.org/web/20050327202617/http://www.mungewell.ndirect.co.uk/linux/ |archivedate=March 27, 2005 }}</ref> Due to lack of interest, SIBO support was removed from version 0.4.0.
 
Native ELKS programs may run [[Emulator|emulated]] with Elksemu, allowing 8086 code to be used under Linux-i386.<ref>[http://linux.die.net/man/1/elksemu Elksemu man page]</ref> An effort to provide ELKS with an [[Eiffel (programming language)|Eiffel]] compliant [[Library (computing)|library]] also exists.<ref>[httphttps://sourceforge.net/projects/freeelks/ Implementation of ELKS Eiffel library]</ref>
 
==History==
Development of Linux-8086 started in 1995 by Linux kernel developers [[Alan Cox (computer programmer)|Alan Cox]] and Chad Page as a [[fork (software development)|fork]] of the standard Linux. By early 1996 the project was renamed ELKS (Embeddable Linux Kernel Subset), and in 1997 the first website<ref>{{Cite web |url=http://www.elks.ecs.soton.ac.uk/ |title=ArchivedELKS copypages |access-date=November 16, 2006 |archive-date=September 24, 2001 |archive-url=https://web.archive.org/web/20010924210617/http://www.elks.ecs.soton.ac.uk/ |url-status=dead }})</ref> was created. ELKS version 0.0.63 followed on August 8 that same year. On June 22, 1999, ELKS release 0.0.77 was available, the first version able to run a [[graphical user interface]] (the [httphttps://www.microwindows.org/ Nano-X Window System]). On July 21, ELKS booted on a [[Psion PLC|Psion]] PDA with SIBO architecture. ELKS 0.0.82 came out on January 10, 2000. By including the SIBO [[Porting|port]], it became the first official version running on other [[computer hardware]] than the original 8086 base. On March 3 that year, the project was registered on [[SourceForge]].<ref>[http://elks.sourceforge.net elks.sourceforge.net]</ref>
 
On January 6, 2001, Cox declared ELKS "basically dead".<ref>January 6, 2001, {{cite web |url=httphttps://sourceforge.net/forum/forum.php?forum_id=56220 |title=status update by Alan Cox |accessdate=2006-11-16 |url-status=bot: unknown |archiveurl=https://web.archive.org/web/20010920200533/http://sourceforge.net/forum/forum.php?forum_id=56220 |archivedate=September 20, 2001 }}</ref> Nonetheless, release 0.0.84 came along on June 17, 2001, Charilaos (Harry) Kalogirou added TCP/IP networking support seven days later, and in the same year ELKS reached 0.0.90 on November 17. On April 20, 2002, Kalogirou added [[memory management]] with [[disk swapping]] capability, followed nine days later by ELKS release 0.1.0, considered the first [[Development stage#Beta|beta version]].<ref name="Rel_Info_old">{{Cite web |url=httphttps://sourceforge.net/p/elks/news/ |title=Older release information, e.g. on ELKS 0.1.0, the first Beta |access-date=2014-03-02 |archive-url=https://web.archive.org/web/20140316152219/http://sourceforge.net/p/elks/news/ |archive-date=2014-03-16 |url-status=dead }}</ref> By end of the year, on December 18, the EDE (Elks Distribution Edition, a distribution based on the ELKS kernel), itself version 0.0.5, is released.<ref>[https://lwn.net/Articles/18400/ Announce of the EDE 0.0.5 release]</ref> January 6, 2003, brought ELKS 0.1.2, an update to 0.1.3 followed on May 3, 2006, the first official release after a long hiatus in development.<ref name="Rel_Info_old" />
 
A development into FlightLinux, a [[Real-time computing|real-time]] operating system for [[spacecraft]], was planned, but the project it was intended for ([[UoSAT-12]]) eventually settled on the qCF operating system from Quadron Corporation instead.<ref>[http://www.spinics.net/lists/linux-8086/msg00264.html Linux-8086: Flight Linux]</ref>
Line 52:
 
== Version 0.5.0 ==
Version 0.5.0 was another significant milestone for ELKS with a number of important improvements, additions and support for 2 new platforms - the Japanese [[PC-9800 series|PC-98]] and [[Intel 80186|8018X80186/80188]]. Enhancements included:<ref>{{Cite web|title=Release ELKS v0.5.0 · ghaerr/elks|url=https://github.com/ghaerr/elks/releases/tag/v0.5.0|access-date=2022-02-09|website=GitHub|language=en}}</ref>
 
* Kernel and network debugging tools, [[toolchain]] improvements, cleanups to ease porting to new platforms
Line 67:
* Improved networking support when running in [[QEMU]]
 
As of version 0.5.0 ELKS is a complete small-Linux system and a versatile tool for testing, diagnosing and running vintage PCs with limited resources. The improved portability demonstrated by the addition of new platforms, paves the way for increased development activity towards the next version.
 
== Version 0.6.0 ==
Line 76:
* [[BASIC]] interpreter with demo programs
* Manual pages
* Expanded support for the new platforms - [[PC-9800 series|PC98]] and 8081x[[Intel 80186|80186/80188]], notably SCSI and IDE drive support for the PC98
* Kernel, library and networking fixes/enhancements
* New commands, such as [[tar (computing)|tar]], [[man page|man]] and [[compress (software)|compress]]