Embeddable Linux Kernel Subset: Difference between revisions

Content deleted Content added
No edit summary
m Bot: http → https
 
(3 intermediate revisions by 3 users not shown)
Line 12:
| 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 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]]