Skip to content

ELKS v0.5.0

Compare
Choose a tag to compare
@ghaerr ghaerr released this 08 Feb 17:46
· 2321 commits to master since this release
736806e

ELKS v0.5.0 Downloads

Prebuilt disk images for floppy and hard disks are downloadable below from Github Assets for this release. These images can be used to boot from PC/XT/AT or PC-98 hardware, or emulators, such as QEMU or dosbox-x. The images are built with network support by default, using the NE2K network card, set for I/O address=0x300 and IRQ=12. See the Wiki HowTo for more information.

ELKS v0.5.0 Enhancements

Thank you to all who contributed to ELKS enhancements, bug identification, testing and fixes. The system is now very stable, with no known crashes and long uptimes. Two new platform ports have been contributed and the internal architecture of the system allows for this work to be performed in an effective manner, producing working systems with only the specific changes each platform requires, with increasingly organized source code.

Ports to New Architectures

NEC PC-98 port (@tyama501)

  • Includes writing new console and disk drivers for PC-98 (@tyama501)
  • Kernel support for variable sector sizes (512 & 1024 bytes)

8018X port (@cocus)

  • SD card SSD driver (@cocus)
  • Interrupt driven serial console driver (@cocus)

Networking

  • Major networking enhancements and bug fixes (@Mellvik)
  • New ftp client and ftpd server (@Mellvik)
  • Wide variety of debug message settings
  • 8-bit NE2K driver (@cocus)
  • 1500 MTU receive packets and enhanced throughput
  • RST packet handling
  • Runtime selection of network card I/O port (@Mellvik)
  • Major updates to urlget & ftpget, new ftpput (@Mellvik)
  • Add net stop support
  • Major fixes to TCP protocol (sliding window, accept, FIN processing, close, retrans, SWS)

Boot and Runtime Configuration

  • Added /etc/net.cfg for network settings
  • Added /etc/mount.cfg for automounting disks
  • New /bootopts bufs= option for dynamic xms and ext buffers, netirq, netport
  • Increased /bootopts size to 511 bytes

Kernel Enhancements and Fixes

  • Add XMS buffers (> 1MB memory for system buffers)
  • Unreal mode, A20 gate handling, INT 15 block move
  • Major source cleanups
  • Lots for source reorganization for 8018X and PC-98 ports
  • PTY driver data loss fixes
  • Dynamic buffer allocation for pipes
  • Compressed executable support
  • New SSD driver
  • Dynamic initial kernel heap size support
  • Dynamic IRQ kernel handling (@mfld-fr)
  • /dev/port kernel driver (@marcin-laszewski)
  • Separate kernel PIT, PIC drivers to architecture-specific files
  • Enhancements to run on smaller-memory (256K) systems
  • Enable interrupts during block I/O

New System Calls

  • getsockname, getpeername, setsockopt (SO_REUSEADDR, SO_RCVBUF, SO_LINGER)

Tools

  • Linker enhancements for far text kernel support (@tkchia)
  • Support for ROMable a.out executables (@tkchia)
  • Updates to EMU86 to support kernel symbol display during execution