What is the GNU Hurd?

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.

What is the mission of the GNU Hurd project?

Our mission is to create a general-purpose kernel suitable for the GNU operating system, which is viable for everyday use, and gives users and programs as much control over their computing environment as possible. Our mission explained.


News

2014-03-16-gsoc

The Google Summer of Code 2014 is on! If you're a student, consider applying for a GNU Hurd project -- details to be found on our GSoC and project ideas pages.

2013-09-27

Happy 30th birthday, GNU! GNU Hurd 0.5, GNU Mach 1.4, GNU MIG 1.4 released. Details.

Which day could be better suited for publishing a set of Hurd package releases than the GNU project's 30th birthday?

... and here we have our birthday presents:

(If the NEWS links don't work, try the following ones -- which are served from a GNU/Hurd machine, by the way: GNU Hurd 0.5 NEWS, GNU Mach 1.4 NEWS, GNU MIG 1.4 NEWS.)

These new releases bundle bug fixes and enhancements done since the last releases more than a decade ago; really too many (both years and improvements) to list them individually, but please see the NEWS files. 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.

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.


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.

GNU Mach is the microkernel upon which a GNU Hurd system is based. It 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.

Debian GNU/Hurd 2013 released! Details.

It is with huge pleasure that the Debian GNU/Hurd team announces the release of Debian GNU/Hurd 2013. This is a snapshot of Debian "sid" at the time of the Debian "wheezy" release (May 2013), so it is mostly based on the same sources. It is not an official Debian release, but it is an official Debian GNU/Hurd port release.

The installation ISO images can be downloaded from Debian Ports in the usual three Debian flavors: NETINST, CD, DVD. Besides the friendly Debian installer, a pre-installed disk image is also available, making it even easier to try Debian GNU/Hurd.

Debian GNU/Hurd is currently available for the i386 architecture with more than 10.000 software packages available (more than 75% of the Debian archive, and more to come!).

Please make sure to read the configuration information, the FAQ, and the translator primer to get a grasp of the great features of GNU/Hurd.

Due to the very small number of developers, our progress of the project has not been as fast as other successful operating systems, but we believe to have reached a very decent state, even with our limited resources.

We would like to thank all the people who have worked on GNU/Hurd over the past decades. There were not many people at any given time (and still not many people today, please join!), but in the end a lot of people have contributed one way or another. Thanks everybody!


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.

GNU Mach is the microkernel upon which a GNU Hurd system is based. It 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.

2012-q3-q4

Two quarters of the Hurd, Q3 and Q4 of 2012: libpthread conversion, installation CDs, hardware compatibility, porting. Details.

In November 2012, we finished the libthreads (cthreads) to libpthread (POSIX Threads) conversion. Converting the Hurd libraries to the pthread interfaces allows linking them together with other libraries that use this standard threading interface themselves. This project once was begun by Vicente Hernando Ara, and later continued by Barry deFreese, Thomas DiModica, Thomas Schwinge, Samuel Thibault, Pino Toscano, and now brought to completion by Richard Braun, who could not be scared by having to resolve the last remaining tricky issues before the transition could be completed.

Cyril Roelandt shared a patch series to fix double mutex unlocking problems. He found these using a simple script for Coccinelle, which is a static code analysis tool. We hope to see more such changes in the future, and we're always interested in hearing people who have experience with similar tools, for example to resolve other locking issues.

Thomas Schwinge together with Richard Braun and Samuel Thibault debugged and fixed a deadlock related to signal delivery, resulting from a regression due to earlier changes.

Also Samuel Thibault provided new installation CDs and a new QEMU image. Additionally to using pthreads, these now offer keyboard layout configuration.

In glibc, Pino Toscano implemented syncfs which ensures that all data in the filesystem gets written to disk, as well as support in procfs for statfs.

Thomas Schwinge improved the hardware compatibility of the Hurd by identifying and backporting some changes contained in Linux 2.0.40, which prevents data corruption due to a miscalculation of the size of medium-sized disks reporting 15 heads instead of 16. This fix was part of an effort to get Hurd running using a solid-state disk. Samuel Thibault improved network card detection on busses other than 0 and 2.

Several people ported and fixed packages, further increasing the number of Debian packages that work on the Hurd: Svante Signell ported mlocate-0.25, gnat-gps, libpst, libetpan, spl, dovecot, xplc, parrot, x86info, atlas, rrdtool, gdb, yodl, and fixed ntpdate to work again and improved the error handling in pflocal. Pino Toscano added patches for procfs, ptrace, fsync on stdout, muntrace, ulimit, glibc which among others improve POSIX conformance, making it easier to write programs which work on GNU/Hurd and GNU/Linux. And he made the test pass for FIFO sockets with mknod and added a size parameter to tmpfs and a version suffix option for GNU Mach's configure script. Cyril Roelandt fixed a ps bug, a documentation typo in ps and a missing linker flag in procfs. Matthew Leach fixed a compilation error with older GCC versions due to duplicate type definition. Ole Streicher fixed a bug in the Makefile of ftools-fv which was exposed by testing on Hurd. Samuel Thibault removed the out-of-date floppy-warnings in the debian installer.

So if you want to test if your favorite packages work on the Hurd and contribute towards making the full GNU system usable for a wider range of people, please get in contact -- and maybe already grab the source code.


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.

GNU Mach is the microkernel upon which a GNU Hurd system is based. It 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.

2013-04-23

The Google Summer of Code 2013 is on! If you're a student, consider applying for a GNU Hurd project -- details to be found on our GSoC page.

Older news entries can be found in the news archive. For Hurd developers' musings have a look at the shared weblog. The recent changes page lists the latest changes of this website.

Contributing

So, you are interested in contributing to the GNU Hurd project? Welcome! Every single contribution is very much encouraged. Please read our detailed recommendations about how to contribute.

See our source repositories for the source code.

Access to a GNU/Hurd System

We provide accounts on our public Hurd boxen, and there are also QEMU images available.

Getting Help

There are a couple of different FAQ lists. There are a number of IRC channels and several different mailing lists with searchable archives.

Before asking a question on a mailing list or on IRC, first, please try to answer your own question using a search engine and reading the introductory information. If you have done this and you cannot find the answer to your question, feel free to ask on a mailing list or on IRC.

Running the Hurd

The most functional distribution of the Hurd is the one provided by Debian. Find more information about it at the Debian GNU/Hurd website.

Along with it there are various ways to run a GNU/Hurd system. Three of them are

And these web pages are a living proof of the usability of the Hurd, as they are rendered on a Debian GNU/Hurd system.

Current Status

The last release is GNU Hurd 0.5, 2013-09-27. The Hurd is developed by a few volunteers in their spare time. The project welcomes any assistance you can provide. Porting and development expertise is still badly needed in many key areas.

Functional systems are installable in a dual-boot configuration. Development systems are currently mostly based on the Debian GNU/Hurd port sponsored by the Debian project.

Community resources for related projects focus around these pages, http://hurd.gnu.org/, the mailing lists and the IRC channels.

If you want to see the current discussions in the Hurd project, please have a look at the bug-hurd mailinglist archives. If you want to have a look at the current coding work, you can just head over to our source repositories.

For more details, please read our writeup on the current state of the GNU Hurd.

Advantages and Challenges

The GNU Hurd operating system design provides advantages, but uncovers new challenges, too.


These pages are powered by ikiwiki.

Further information about this site and how it was created can be found in the colophon.