Inbyggd Linux Kernel -delmängd - Embeddable Linux Kernel Subset

ELKS
OS -familj Unix-liknande
Initial release 0.0.76 (20 maj 1999 ; för 22 år sedan ) ( 1999-05-20 )
Senaste släppningen 0.4.0 / 20 november 2020 ; 10 månader sedan ( 2020-11-20 )
Förvar
Tillgänglig i engelsk
kernel typ Monolitisk
Licens GPL v2
Officiell hemsida github .com /jbruchon /elks

Den Inbäddningsbar Linux Kernel Delmängd (ELKS) , tidigare känd som Linux-8086 , är en Linux-liknande operativsystem kärna . Det är en delmängd av Linux-kärnan , avsedd för 16-bitars datorer med begränsade processor- och minnesresurser, till exempel maskiner som drivs av Intel 8086 och kompatibla mikroprocessorer som inte stöds av 32-bitars Linux .

Funktioner och kompatibilitet

ELKS är gratis programvara och tillgänglig under GNU General Public License (GPL). Det kan fungera med tidiga 16-bitars och många 32-bitars x86 (8088, 8086) datorer som IBM PC-kompatibla system och senare x86-modeller i realläge . En annan användbar området är enda ombord mikro avsedda som pedagogiska verktyg för " homebrew " projekt (hårdvara hacking ), samt inbyggda controller system (t.ex. Automation ).

Tidiga versioner av ELKS kördes också på Psion 3a och 3aR SIBO (SIxteen Bit Organizer) PDA: er med NEC V30 -processorer, vilket ger ett annat möjligt funktionsfält ( gadgethårdvara ), om den överförs till en sådan plattform. Denna insats kallades ELKSibo . På grund av bristande intresse togs SIBO -support bort från version 0.4.0.

Native ELKS-program kan köras emulerade med Elksemu , så att 8086-kod kan användas under Linux-i386. Det finns också ett försök att förse ELKS med ett Eiffel -kompatibelt bibliotek .

Historia

Utvecklingen av Linux-8086 startade 1995 av Linux-kärnutvecklarna Alan Cox och Chad Page som en gaffel i standard Linux. I början av 1996 döptes projektet till ELKS (Embeddable Linux Kernel Subset), och 1997 skapades den första webbplatsen www.elks.ecs.soton.ac.uk/ (offline, arkiverad 24 september 2001, på Wayback Machine ). ELKS version 0.0.63 följde den 8 augusti samma år. Den 22 juni 1999 var ELKS version 0.0.77 tillgänglig, den första versionen som kunde köra ett grafiskt användargränssnitt ( Nano-X Window System ). Den 21 juli startade ELKS på en Psion PDA med SIBO -arkitektur. ELKS 0.0.82 kom ut den 10 januari 2000. Genom att inkludera SIBO -porten blev det den första officiella versionen som körs på annan datorhårdvara än den ursprungliga 8086 -basen. Den 3 mars samma år registrerades projektet på SourceForge , den nya webbplatsen är elks.sourceforge.net .

Den 6 januari 2001 förklarade Cox ELKS "i princip död". Utgåva 0.0.84 kom dock den 17 juni 2001, Charilaos (Harry) Kalogirou lade till TCP/IP -nätverksstöd sju dagar senare, och samma år nådde ELKS 0.0.90 den 17 november. Den 20 april 2002, Kalogirou lagt till minneshantering med diskväxlingsfunktion, följt nio dagar senare av ELKS release 0.1.0, betraktad som den första betaversionen . I slutet av året, den 18 december, släpps EDE (Elks Distribution Edition, en distribution baserad på ELKS -kärnan), själv version 0.0.5. 6 januari 2003, ELKS 0.1.2, en uppdatering till 0.1.3 följde den 3 maj 2006, den första officiella utgåvan efter en lång paus i utvecklingen.

En utveckling till FlightLinux , ett realtidsoperativsystem för rymdfarkoster , planerades, men projektet som det var avsett för ( UoSAT-12 ) blev så småningom avgjort på qCF- operativsystemet från Quadron Corporation istället.

Nuvarande status och användning

Sedan januari 2012 är ELKS igen under utveckling. CVS-förvaret migrerades till Git i februari 2012 och många patchar från e-postlistan Linux-8086 gjordes för det nya förvaret. Version 0.1.4 kom ut den 19 februari 2012, släppt av Jody Bruchon till minne av Riley Williams, en tidigare medutvecklare. Den inkluderade uppdaterade diskettbilder, fixade kompileringsbuggar från den tidigare versionen och tog bort oanvända koder. Den 10 maj 2012 lades BusyELKS till förvaret av Jody Bruchon i ett försök att ersätta fristående binärer och dra nytta av delad kod (ELKS stöder inte delade bibliotek ). BusyBox -liknande binärer försöker spara utrymme med symboliska länkar, eliminerar överflödiga bitar kod och kombinerar separata program till en större binär. Den 14 november 2013 flyttade projektutvecklingen till GitHub . Rudimentärt Ethernet- och FAT -stöd tillkom 2017.

Mer än 35 utvecklare har bidragit till detta projekt sedan gaffeln 1995. Från och med mars 2015 var utvecklingen av ELKS -projektet igen aktiv och nådde en milstolpe på 1 000 källkoder den 8 mars 2015. Från och med juni 2018, många buggfixar och förbättringar utfördes med 583 fler åtaganden, vilket ledde till 0.2.1 -utgåvan. I mars 2019 slutförde projektet övergången från den föråldrade BCC-kompilatorn till den senaste GCC-IA16, och utvecklingsaktiviteten ökade när Gregory Haerr tog rodret som ledande utvecklare. Under 2019 och 2020 flyttade ELKS från en "startbar, instabil" status till ett stabilt Linux-liknande system för små maskiner med Ethernet, TCP/IP, FAT16/32, fleranvändarserie och många fler funktioner. Eftersom ELKS 0.4.0 släpptes i november 2020 hade antalet åtaganden passerat 3000.

Version 0.4.0

Version 0.4.0 representerade en viktig milstolpe för ELKS, vilket lyfte systemet från experimentellt till användbart för icke-utvecklare och inkluderade följande stora förbättringar:

  • Dokumentation Wiki
  • Stora kärnförbättringar - storlek, stabilitet, robusthet, hastighet, systemsamtal och felsökningsfunktioner.
  • Pålitlig TCP/IP -stack implementerad som en process för användarläge, som stöder TCP, ICMP , ARP.
  • Nätverksstöd på användarnivå för telnet /telnetd och filöverföring.
  • Seriellt IP- och Ethernet -stöd (NE1K / NE2K / WD8003).
  • Många nya och uppdaterade kommandon på användarnivå, inklusive ask- och skärmskal.
  • Många korsutvecklingsverktygskedjeförbättringar som stöder fler minnesmodeller, vilket underlättar portning av fler applikationer.
  • Robust stöd för FAT16 /32 och Minix1 filsystem, inklusive uppstart från /root på FAT -filsystem.
  • Förbättrad konsol och seriellt stöd: Seriell konsol, höghastighets flera seriella I/O.
  • MBR -stöd, startalternativ via /bootopts.
  • Uppdaterat menysystem för konfiguration och byggande på Linux och MacOS, så att icke-utvecklare kan bygga anpassade bilder för disketter från 360KB till 2,88MB.


ELKS -utvecklingen fortsätter 2021 och lägger till (i april 2021) Exomizer -liknande binär komprimering och nya minnesmodeller i verktygskedjan.

Se även

Referenser

externa länkar