Skip to content

ELKS v0.6.0

Compare
Choose a tag to compare
@ghaerr ghaerr released this 07 Jun 15:14
· 1274 commits to master since this release
850f549

ELKS v0.6.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.6.0 Enhancements
Thank you to all who contributed to ELKS enhancements, bug identification, testing and fixes. The system continues to be very stable, with no known crashes and long uptimes.

New Commands

  • BASIC Interpreter suitable for desktop and ROM systems
  • BASIC graphics commands (MODE, PLOT, CIRCLE, DRAW) on PC-98 (@tyama501)
  • BASIC LOAD/SAVE/DIR and various new functions (@cocus, @tyama501)
  • Working tar program
  • Add compress/decompress command for compressed man pages
  • Add eman command to display ELKS man pages on host
  • Add man command and man pages

Updated Commands

  • Add internal test/[ commands to bash shell
  • Add ls -S to sort by size, -U for non-sorted output, -t reverse time
  • Mount command shows mounted volumes, defaults to auto-mount, -a, -q options
  • Add net restart
  • Fix mv command on FAT filesystems
  • Enhance ls speed on FAT filesystems
  • Enhance more to know about number of screen lines, Enter/2 for single/2 lines
  • Add autosync to /bin/init
  • Rewrite nslookup, now works

Networking

  • Major fixes and 8-bit support to NE2K driver (@Mellvik)
  • Major overhaul and rewrite of ftpd (@Mellvik)
  • Add SITE command and idle timeout to ftpd (@Mellvik)
  • Improve connect return message on ICMP dest unreachable
  • Bug fixes in ftp (@Mellvik)
  • Add DNS name resolution to in_gethostbyname and all network apps
  • Fix premature removal of FIN packets in retransmit queue

Boot and Runtime Configuration

  • Updated sys command with full disk copy for hard disks
  • Add netirq=, netport= and netram= options to WD8000 driver
  • New setup command to quickly configure hostname and IP address
  • Add LOCALIP=, HOSTNAME=, QEMU=, TZ=, sync=, bufs= to /bootopts

PC-98 Port

  • Add SCSI and IDE hard drive support (@tyama501)
  • Rewrote INT 1B handler from scratch (@tyama501)
  • Fix stack overflow on PC-98 BIOS
  • Add BOOTCS and remove BOOTSEG to allow hard disk boot (@tyama501)
  • Add option to makeboot for using external boot file (@tyama501)
  • Update partition code to handle PC-98 disk partitions (@tyama501)

8018X Port

  • Add capability to add applications by rom image size
  • ROM support for /bin/init and full system startup
  • Add interrupt pin mapping to logical IRQs (@cocus)

C Library

  • Add floating point support to printf/sprintf
  • Add strtod, fcvt, ecvt for floating point output
  • Add math library
  • Rewrite strcmp in ASM for speed
  • Fix itoa/ltoa to display INT_MIN/LONG_MIN properly
  • Fix various routines (strcasecmp/strncasecmp) from signed char bugs
  • Rewrite ctype.h library to use small functions not table lookup
  • Enhancements to save executable space, tiny printf for most applications
  • Replace buggy qsort routine
  • Add in_connect routine w/timeout
  • Add in_resolv DNS resolver
  • Use paths.h in libc functions

Kernel Enhancements and Fixes

  • Fix bad directory info on large FAT disks
  • Increase max mounts to 6
  • Increase FAT /dev table to 41
  • Add compile-time TZ= timezone support to kernel
  • Fix FAT to use localtime for files
  • Add process CPU % utilization and uptime
  • Fix signals on systems not running /bin/init
  • Add uname application and system call
  • Fix integer overflow in calculating FAT start data sector
  • Add alarm system call
  • Rewrite kernel timer routines from scratch
  • Improve floppy probing performance
  • Add ustatfs system call
  • Check for 386 CPU before enabling A20 for XMS buffers
  • Display of free space on FAT volumes
  • Dynamically allocate up to 2500 ext_buffer heads in (far) main memory

Documentation

  • Man pages for most commands and system calls for ELKS runtime on disks >= 2880k
  • Write boot documentation

Tools

  • All images created after Github push or PR

Chief maintainer: @ghaerr