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).

    Release tarballs may be downloaded from,, or checked out of Git, SHA1 checksums:

    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
    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.

    Release tarballs may be downloaded from,, or checked out of Git, SHA1 checksums:

    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.

    Release tarballs may be downloaded from,, or checked out of Git, SHA1 checksums:

    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.

  • glibc-2.23-hurd+libpthread-20161218

    Based on the glibc 2.23 release, we include additional changes for GNU Hurd support, and bundle GNU Hurd's libpthread.

    Snapshot tarballs may be downloaded from,, or checked out of Git, and 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 Requests for assistance should be sent to help-hurd or filed on You can also find us on the Freenode IRC network in the #hurd channel.