ELKS v0.5.0
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)
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