Content deleted Content added
m Bot: http → https |
|||
(47 intermediate revisions by 28 users not shown) | |||
Line 1:
{{For|the Emergency lane keeping system (ELKS)|Lane departure warning system}}
{{primary sources|date=March 2024}}
{{Infobox OS
| name = ELKS
| logo = ELKS logo.svg
| family = [[Unix-like]]
| released = 0.0.76 ({{Start date and age|1999|05|20|df=yes}})
| latest release version =
| latest release date = {{Start date and age|
| language = [[English language|English]]
| kernel type = [[Monolithic kernel|Monolithic]]
| license = [[GPL v2]]<ref>{{cite web |url=https://github.com/
}}
The '''Embeddable Linux Kernel Subset''' ('''ELKS
▲The '''Embeddable Linux Kernel Subset (ELKS)''', formerly known as ''Linux-8086'', is a [[Unix-like]] operating system [[kernel (computer science)|kernel]]. It is a subset of the [[Linux (kernel)|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]].
<!-- 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
Early versions of ELKS also
Native ELKS programs may run [[Emulator|emulated]] with
==History==
Development of
On January 6, 2001, Cox declared ELKS "basically dead".<ref>January 6, 2001, {{cite web |url=
A development into
==Current status and usage==
Since January 2012 ELKS is again under development. The CVS [[software repository|repository]] was migrated to [[Git (software)|Git]] in February 2012, and numerous patches from the Linux-8086 mailing list were committed to the new repository. Version 0.1.4 came out on February 19, 2012, released by Jody Bruchon in memory of Riley Williams, a former co-developer. It included updated floppy [[disk
More than
Building on the foundation created by 0.4.0, development activity continued during 2021, still with Gregory Haerr as lead developer, supported by 5 active contributors. The team delivered 220 commits from October 2021 to 0.5.0 release on February 8, 2022.<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> Four months later, on Jun 7th 2022, 0.6.0 was released, setting a new level or release frequency and indicating a very high level of activity.<ref name=":0">{{Cite web |title=Release ELKS v0.6.0 · ghaerr/elks |url=https://github.com/ghaerr/elks/releases/tag/v0.6.0 |access-date=2022-06-17 |website=GitHub |language=en}}</ref>
== Version 0.4.0 ==
Version 0.4.0 represented a major milestone for ELKS, lifting the system from experimental to useful for non-developers, and included the following major enhancements:
* Documentation Wiki<ref>{{Cite web|title=ELKS wiki|url=https://github.com/ghaerr/elks/wiki|access-date=2021-04-09|website=GitHub|language=en}}</ref>
* Major kernel enhancements – size, stability, robustness, speed, system calls and debugging features.
* Reliable [[Internet protocol suite|TCP/IP]] stack implemented as a user mode process, supporting TCP, [[Internet Control Message Protocol|ICMP]], [[Address Resolution Protocol|ARP]].
* User level networking support for [[telnet]]/telnetd and file transfer.
* [[Serial Line Internet Protocol|Serial IP]] and [[Ethernet]] (NE1K/[[Ne2k|NE2K]]/WD8003) support.
* Many new and updated user level commands, including [[Almquist shell|ash]] and [[Stand-alone shell|sash]] [[Unix shell|shells]].
* Many cross development tool-chain enhancements supporting more memory models, easing porting of more applications.
* Robust [[FAT16]]/32 and [[MINIX file system|Minix1]] file system support, including booting from /root on FAT file systems.
* Improved console and [[Serial port|serial]] support: Serial console, high speed multiple serial I/O.
* [[Master boot record|MBR]] support, boot options via /bootopts.
* Updated menu-system for configuration and building on Linux and MacOS, allowing non-developers to build custom images for floppies ranging from 360KB to 2.88MB.
== 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|80186/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
* Network stack stability and performance improvements
* Native ftp/ftpd programs, expanding network application level protocol support to [[telnet]], [[File Transfer Protocol|ftp]], [[Hypertext Transfer Protocol|http]] and raw tcp ([[netcat]])
* Improved runtime configuration via /bootopts configuration file,
* [[XMS (memory management)|XMS]]-support for [[80386|386]] and [[80286|286]] systems, enabling high memory buffers
* New [[Solid-state drive|SSD]] driver
* Support for compressed executables<ref>{{Cite web|title=[kernel] Implement compressed executables in ELKS by ghaerr · Pull Request #912 · ghaerr/elks|url=https://github.com/ghaerr/elks/pull/912|access-date=2021-04-10|website=GitHub|language=en}}</ref>
* Support for very low memory environments (256k)
* Library and [[system call]] enhancements
* Kernel support for variable [[disk sector|sector]] sizes (for [[PC-98]] platform)
* New startup configuration files for networking and mass storage
* 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 ==
Released on June 7, 2022, 0.6.0 defined a new level for ELKS, as indicated by the much shorter than usual release cycle. The speed at which the system evolves and improves, combined with its recently acquired reliability and usability created a demand for 'updated packaged releases' from new users.
0.6.0 included lots of enhancements and optimizations on both system and application level. New additions included:<ref name=":0" />
* [[BASIC]] interpreter with demo programs
* Manual pages
* Expanded support for the new platforms - [[PC-9800 series|PC98]] and [[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]]
200 commits were delivered by the team between the 0.5.0 and 0.6.0 release, more than half by Gregory Haerr.
== Version 0.7.0 ==
It was released on August 3, 2023.<ref>[https://github.com/ghaerr/elks/releases/tag/v0.7.0 ELKS v0.7.0 ]</ref>
==See also==
{{Portal|Free and open-source software}}
* [[TinyLinux]]
* [[
* [https://
==References==
Line 45 ⟶ 95:
==External links==
*
* {{sourceforge|elks}}
* {{github|
* {{github|ghaerr/elks/tree/master/elksemu|Elksemu, part of development tools}}
[[Category:Linux kernel]]
|