Uitgave van ELKS 0.6, een Linux-kernelvariant voor oudere 16-bit Intel-processors

De release van het ELKS 0.6-project (Embeddable Linux Kernel Subset), waarin een Linux-achtig besturingssysteem wordt ontwikkeld voor 16-bit Intel 8086, 8088, 80188, 80186, 80286 en NEC V20/V30 processors, is gepubliceerd. Het besturingssysteem kan zowel op oudere IBM-PC XT/AT-klasse computers als op SBC/SoC/FPGA's worden gebruikt die de IA16-architectuur opnieuw creëren. Het project ontwikkelt zich sinds 1995 en begon als een afsplitsing van de Linux-kernel voor apparaten zonder geheugenbeheereenheid (MMU). De broncode wordt gedistribueerd onder de GPLv2-licentie. Het systeem wordt geleverd in de vorm van afbeeldingen voor opname op diskettes of voor gebruik in de QEMU-emulator.

Er zijn twee opties voor de netwerkstack: de standaard TCP/IP-stack van de Linux-kernel en de ktcp-stack die in de gebruikersruimte draait. Ethernet-adapters die compatibel zijn met NE2K en SMC worden ondersteund vanaf netwerkkaarten. Het is ook mogelijk om communicatiekanalen te creëren via een seriële poort met behulp van SLIP en CSLIP. Ondersteunde bestandssystemen zijn Minix v1, FAT12, FAT16 en FAT32. Het opstartproces wordt geconfigureerd via het script /etc/rc.d/rc.sys.

Naast de Linux-kernel, aangepast voor 16-bits systemen, ontwikkelt het project een reeks standaardhulpprogramma's (ps, bc, tar, du, diff, netstat, mount, sed, xargs, grep, find, telnet, meminfo, enz.), inclusief bash-compatibele opdrachtinterpreter, schermconsole-vensterbeheerder, Kilo- en vi-teksteditors, grafische omgeving gebaseerd op de Nano-X X-server. Veel componenten van de gebruikersruimte zijn geleend van Minix, inclusief het uitvoerbare bestandsformaat.

In de nieuwe uitgave:

  • Er is een BASIC-taaltolk toegevoegd, geschikt voor werkstations en systemen die in ROM zijn geflashed. Inclusief opdrachten voor het werken met bestanden (LOAD/SAVE/DIR) en afbeeldingen (MODE, PLOT, CIRCLE en DRAW).
  • Een programma toegevoegd voor het werken met tar-archieven.
  • De man- en eman-opdrachten zijn toegevoegd om man-handleidingen weer te geven, en er is ondersteuning geboden voor het weergeven van gecomprimeerde man-pagina's.
  • De bash-implementatie heeft een ingebouwd testcommando (“[“).
  • Commando "net restart" toegevoegd. De opdracht nslookup is herschreven.
  • De mogelijkheid toegevoegd om informatie over aangekoppelde partities weer te geven aan de opdracht mount.
  • De snelheid van de opdracht ls op partities met een FAT-bestandssysteem is verhoogd.
  • Aanzienlijk verbeterde prestaties en ondersteuning voor 8-bit systemen in de NE2K-netwerkdriver.
  • De FTP-server ftpd is herschreven, waardoor ondersteuning is toegevoegd voor het SITE-commando en de mogelijkheid om time-outs in te stellen.
  • Alle netwerktoepassingen ondersteunen nu DNS-naamomzetting via de in_gethostbyname-aanroep.
  • Ondersteuning toegevoegd voor het kopiëren van een volledige schijf naar de sys-opdracht.
  • Er is een nieuwe setup-opdracht toegevoegd om de hostnaam en het IP-adres snel te configureren.
  • LOCALIP=, HOSTNAME=, QEMU=, TZ=, sync= en bufs= parameters toegevoegd aan /bootopts.
  • Ondersteuning voor SCSI- en IDE-harde schijven is toegevoegd aan de poort voor de PC-98-computer, er is een nieuwe BOOTCS-bootloader toegevoegd, ondersteuning voor het laden vanuit een extern bestand is geïmplementeerd en ondersteuning voor schijfpartities is uitgebreid.
  • De poort voor 8018X-processors heeft ondersteuning toegevoegd voor het uitvoeren vanaf ROM en verbeterde afhandeling van interrupts.
  • Er is een wiskundige bibliotheek toegevoegd aan de standaard C-bibliotheek en er is voorzien in de mogelijkheid om met drijvende-kommagetallen te werken in de functies printf/sprintf, strtod, fcvt en ecvt. De strcmp-functiecode is herschreven en aanzienlijk versneld. Er is een compactere implementatie van de printf-functie voorgesteld. Functies in_connect en in_resolv toegevoegd.
  • De kernel heeft de ondersteuning voor het FAT-bestandssysteem verbeterd, het maximale aantal koppelpunten verhoogd naar 6, ondersteuning toegevoegd voor het instellen van de tijdzone, uname, usatfs en alarmsysteemoproepen toegevoegd, en de code herschreven voor het werken met de timer.



Bron: opennet.ru

Voeg een reactie