GNU Hurd 0.9, GNU Mach 1.8, GNU MIG 1.8 released.
We're pleased to announce new releases!
GNU Hurd 0.9, NEWS:
Version 0.9 (2016-12-18) The 'boot' program can now be run as unprivileged user, allowing any user to create unprivileged Subhurds. An ethernet multiplexer (eth-multiplexer translator) has been merged into this repository. This is a network multiplexer that makes available virtual interfaces, and routes traffic between these and a real ethernet interface. It uses the Berkeley Packet Filter library (libbpf), which has also been merged. The ethernet multiplexer now generates and uses stable pseudo-random ethernet addresses for the virtual interfaces. As usual, bugs have been fixed throughout the code, notably in libpager and ext2fs which now gracefully handles running out of space. Further compatibility fixes have been applied (for compliance to standards such as POSIX).
7e6f406e5202501216a0da4b4ee7914f1e0a7552 hurd-0.9.tar.bz2 ffa8d40a99835824a0228bf54570c054d7fe8bf0 hurd-0.9.tar.bz2.sig ef999452b794d7239a5ed98999def51bf11c8c17 hurd-0.9.tar.gz 5f5d34bbbe8cccafbe79f13103d7e48b3a2baddf hurd-0.9.tar.gz.sig
The GNU Hurd is the GNU project's replacement for the Unix kernel. It is a collection of servers that run on the Mach microkernel to implement file systems, network protocols, file access control, and other features that are implemented by the Unix kernel or similar kernels (such as Linux). More detailed: documentation, what is the GNU Hurd.
GNU Mach 1.8, NEWS:
Version 1.8 (2016-12-18) The memory management system was extensively reworked. A new type for physical addresses is now used where appropriate, and the system can make use of the high memory segment. Many paging issues have been addressed, and as a result the system handles low memory situations more gracefully now. The virtual memory system now uses a red-black tree for allocations, and as a result it now supports tasks with tens of thousands of mappings. Debugging and error reporting has been improved. Among other things the VM maps are now augmented with names that are used in error messages, panics and assertions point to their locations, the lock debugging mechanism has been fixed, and the kernel debugger can now inspect stack traces reaching into the machine-dependent bits implemented in assembler. As usual, bugs have been fixed throughout the code, including minor issues with the gsync synchronization mechanism which is now used for the internal locks in the GNU C Library (glibc). The deprecated external memory management interface has been removed. The partial ACPI support has been removed.
4b59c7f7bc814576d2b88c43c0cdba292824f230 gnumach-1.8.tar.bz2 e6262e991a1e056bb87741a9456811cf73e8f7cd gnumach-1.8.tar.bz2.sig 8cbebcbee624c64d926de8779272821c67663da5 gnumach-1.8.tar.gz 28c4a65db3c04bf7508b74a187a3d6aae3a5ce31 gnumach-1.8.tar.gz.sig
GNU Mach is the GNU distribution of the Mach microkernel, upon which a GNU Hurd system is based. The microkernel provides an Inter Process Communication (IPC) mechanism that the Hurd uses to define interfaces for implementing in a distributed multi-server fashion the services a traditional operating system kernel provides. More detailed: documentation.
GNU MIG 1.8, NEWS:
Version 1.8 (2016-12-18) A spurious warning in the generated code has been fixed.
f765881d6ed4e883372eee52fd7842e7048a3da8 mig-1.8.tar.bz2 2091b6632176eeba1dac524d0ae939334ed51fdb mig-1.8.tar.bz2.sig 40ae7a5a12e3e5669a2c449be7ebe53c72c90b3a mig-1.8.tar.gz 054ca62368fb7d8e95ca1447510905e3df8906d8 mig-1.8.tar.gz.sig
GNU MIG is the GNU distribution of the Mach 3.0 Interface Generator (MIG). This tool translates Remote Procedure Call (RPC) definition files to C code, and is required to compile any packages that are receiving or invoking RPCs, such as GNU Mach, GNU Hurd, and the GNU C Library (glibc) when compiled for the Hurd. More detailed: documentation.
Snapshot tarballs may be downloaded from ftp://alpha.gnu.org/gnu/hurd/, http://alpha.gnu.org/gnu/hurd/, or checked out of Git, http://git.savannah.gnu.org/cgit/hurd/glibc.git and http://git.savannah.gnu.org/cgit/hurd/libpthread.git. SHA1 checksums:
55c9b6c61991a9ea585f019c787fe0e1da756cd4 glibc-2.23-hurd+libpthread-20161218.tar.bz2 1475fff2029fcd2c655d6ea05af5efa74d224b4f glibc-2.23-hurd+libpthread-20161218.tar.bz2.sig 870425f4398b514ecac06e88fc21e13536eece4f glibc-2.23-hurd+libpthread-20161218.tar.gz e8c9c6ba34cd4bbabb8fadd28f335430ca88ff0b glibc-2.23-hurd+libpthread-20161218.tar.gz.sig
The GNU C Library (glibc) implements a system's standard library functions (as described by ISO C, and POSIX, for example). An important part of the Hurd actually resides in glibc: here, the system interfaces are implemented on top of the Hurd IPC protocols. This is different to the Linux port, where most simple system interfaces are in fact simply forwarded to/implemented as system calls.
Many thanks to all the people who are helping!
If you want to give the Hurd a try, you may easily do so with Debian GNU/Hurd.
The GNU Hurd system currently runs on 32-bit x86 machines. To compile the
Hurd, you need a toolchain configured to target
i?86-gnu; you cannot use a
toolchain targeting GNU/Linux.
Please read the FAQ. Bug reports should be sent to bug-hurd or filed on http://savannah.gnu.org/bugs/?group=hurd. Requests for assistance should be sent to help-hurd or filed on http://savannah.gnu.org/support/?group=hurd. You can also find us on the Freenode IRC network in the #hurd channel.