The 9FRONT "GEFS SERVICE PACK 1" release brings substantial improvements to the Plan 9-inspired operating system, including enhanced shell script support, improved networking capabilities, and major filesystem optimizations.
The 9FRONT project has released "GEFS SERVICE PACK 1," a significant update to their Plan 9-inspired operating system that brings numerous improvements across the kernel, drivers, libraries, and user-space programs. This release, designated as version 11554, represents months of development work and introduces features that enhance both system performance and developer experience.
The most notable change in this release is the addition of shell script support as interpreters in the exec() system call when using the #! syntax. This long-requested feature allows users to execute shell scripts directly without needing to explicitly invoke the shell, bringing 9FRONT's behavior more in line with other Unix-like systems while maintaining its Plan 9 heritage.
Networking capabilities have received substantial attention in this release. The devip driver now supports per-protocol transport files through /net/*/trans, enabling more granular control over network interfaces. The driver has also been enhanced to handle all loopback traffic through a dedicated loopback medium, improving network stack efficiency. Additionally, the etheriwl driver now supports the Centrino Advanced-N 6200 0x422c wireless chipset and includes various improvements for better wireless performance.
Filesystem improvements are particularly noteworthy with the gefs (9FRONT's filesystem) receiving extensive updates. The gefs fuzzer has been enhanced with support for block creation testing, and numerous edge cases have been addressed. Key improvements include fixing double-deadlist of blocks, correcting accounting of npull after collapsing root, and ensuring all tree access is properly wrapped in an epoch. The filesystem now handles edge cases when keys in split change size more gracefully and has improved synchronization behavior.
Driver support has expanded significantly. The ether82563 driver now includes device IDs 0d4e and 0d4f, making ThinkPad L13 Gen 1 with Core i7 vPro Ethernet functional. USB storage support has been improved with mode switching for Realtek RTL8153 NICs and better command status handling. The nusb/ether/asix.c driver now supports the AX88179A variant and uses the PHY status register for link checking.
Memory management has been enhanced with memaffinewarp now supported on windows through the memlayer interface. This improvement allows for more efficient memory operations in graphical applications and provides better performance for affine transformations.
Several kernel improvements focus on code quality and maintainability. The Lock definition has been moved into portable code, eliminating architecture-specific implementations. Obsolete functions like srvname() have been removed, and various quadratic algorithms have been eliminated from functions like pgrpc() and devproc/readns1(). The kernel now properly handles waserror() for bindmount() and sysunmount() operations, and chdev(1) machinery has been refactored for clarity.
Library updates include the addition of utfncmp() for Unicode string comparison, improvements to libdraw display locking, and fixes to libregexp for better regular expression handling. The lib9p library has been updated to fix Rstat issues and ensure proper server release handling. Memory management in libmemdraw has been optimized, with alphadraw() no longer buffering unless strictly necessary.
User-space programs have received numerous fixes and improvements. The awk interpreter has been substantially enhanced with fixes for variable usage as both function names and arguments, proper handling of number to rune conversion, and reduced memory usage through field rearrangement. The samterm editor has been improved with better scrolling mechanics that don't consume 100% CPU during button 2 scrolling operations.
Security and authentication features have been strengthened. The ircrc IRC client now enables TLS by default and uses factotum for server password management. The auth/userpasswd command has gained a -n option to suppress prompts, improving automation capabilities.
Installation media are available for multiple platforms including PC (386 and amd64), Raspberry Pi (models 1, 2, 3, and 4), MNT Reform, and QEMU. The release includes both ISO images for CD/USB installation and QCOW2 images for virtualization. SHA1 checksums are provided for all distribution files to ensure integrity.
This release demonstrates 9FRONT's continued commitment to evolving the Plan 9 concept while maintaining compatibility with existing software and hardware. The extensive changes across all system components show a mature development process focused on both stability and innovation. Users upgrading from previous versions will find improved performance, better hardware support, and enhanced development capabilities, while new users will discover a powerful, modern operating system that remains true to the original Plan 9 philosophy of everything as a file and a unified namespace.
The GEFS Service Pack 1 release represents a significant milestone in 9FRONT's development, addressing long-standing limitations while introducing new capabilities that make the system more practical for everyday use. The combination of kernel improvements, driver enhancements, and user-space refinements creates a more cohesive and capable operating system that continues to push the boundaries of what a Plan 9 derivative can achieve.
Comments
Please log in or register to join the discussion