Release Notes for HelenOS 0.5.0
HelenOS 0.5.0 (Fajtl) was released on August 9, 2012 and represents a major release with lots of new features and bug fixes.
This document contains a summary of changes made to HelenOS since release 0.4.3.
Special Notes for this Release
- The HelenOS/ia64 support for running on real hardware has been revived, currently in UP mode only.
- The HelenOS/ppc32 support has been revived.
- The HelenOS/sparc64/sun4v support remains broken since 0.4.3, mainly due to a lack of a development platform.
Features Introduced in This Release
- Introduced memory reservations in the kernel
- Prevents from committing to allocate more memory than is really available
- Support for non-identity kernel mappings
- Enables the kernel to access arbitrary physical address and removes thus the previous limitations.
Services and Drivers
- USB support
- UHCI and OHCI host controllers (USB 1.1)
- Usable with EHCI HCs (will hand over to companion USB 1.1 host controller)
- USB HID Keyboard and Mouse
- USB Mass Storage (standard USB flash drives)
- usbinfo utility (list and query USB devices)
- Network adapter drivers
- DDF'ized Novell NE2000 driver
- Intel PRO/1000 driver
- Realtek RTL8139 driver
- New SATA disk driver (experimental)
- Only tested in QEMU
- Location service
- Replacement for device mapper, services instead of devices
- Services registered by name, can be added to categorieshttp://www.qemu-advent-calendar.org/#day-20
- Service categories replace devman device classes
- /dev/devices is now in /loc/devices, instead of ls /dev/class use the loc command
- Device driver framework (DDF) improvements
- Added devctl utility to print and manage device tree
- Anticipated device removal (using devctl) support (only works with some drivers)
- Added read-only support for Ext2 file system
- Added initial read / write support for exFAT file system
- The FAT file system server now supports also FAT12 and FAT32 variants
- The FAT server now supports the LFN extension
- Added initial support for the ISO 9660 file system (no LFN)
- Added read / write support for MINIX file system
- VFS now supports multiple instances of the same file system via the --instance argument that can be passed to the mount command and the respective file system server.
- The mount command without arguments will list all mounted file systems
- NIC driver framework to ease writing of network card drivers
- Almost entire networking stack rewritten from scratch
- New implementation of TCP, UDP, IP+ICMP, ARP
- NICs and IP datalinks exposed via location service (e.g. loc show-cat nic, loc show-cat iplink)
- inet command-line utility instead of /cfg/net/* configuration files
- Web server improvements
- Serve files from the file system
- Proper HTTP error responses
- Network terminal emulator nterm
- Netcat-like network terminal emulator (over TCP)
- Remote console service remcons
- HelenOS can be accessed using telnet or nterm (experimental)
- Shell syntax for input/output redirection
- Shell command/file name completion (using Tab key)
- Besides FAT16, mkfat can create FAT12 and FAT32 too
- Added mkexfat utility to create an empty exFAT file system
- Added mkmfs utility to create an empty MINIX file system
- Ported assembler and linker from GNU Binutils
- Ported PCC (Portable C Compiler)
- Ported MSIM (MIPS R4000 simulator)
- libc and some other libraries can be optionally made dynamically loaded on ia32
- libposix was introduced to provide a POSIX-compatibility layer
- GRUB 2 is now used for booting ia32 and amd64 (kernel still supports legacy Multiboot spec.)
- mkfat.py script used to build the initial RAM disk now supports long file names
- Some binaries were renamed to make use of long file name support (e.g. clip → clipboard)
Features Removed in This Release
- Support for running HelenOS on the Sun Enterprise 6500 and Serengeti machines has been removed as the support for these platforms depended on the availability of the commercial Simics simulator.
Fixed Logged Bugs & Enhancements
- For the list of all logged defects fixed in this release, see this report.
- For the list of all logged enhancements integrated in this release, see this report.