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.


  1. News
  2. Contributing
  3. Getting Help
  4. Running the Hurd
  5. Current Status
  6. How is this site arranged?

News

2010-01-31

A month of the Hurd: Arch Hurd, FOSDEM preparations and a thesis on mobile Hurd objects. Details.

This month, we saw the first booting version of an Arch Hurd system, which seconds the Debian GNU/Hurd distribution that already provides two third of the Debian software archive compiled for GNU/Hurd.

Nine Hurd developers will meet at FOSDEM 2010 on February 6th and 7th in Bruxelles, Belgium. On Sunday, Olaf will be giving two presentations in the Alt-OS Developer Room: Why is Anyone Still Working on the GNU Hurd? (10:30), and Porting KGI graphics drivers from Linux to GNU Hurd (13:00). The day before, on Saturday, Bas will be giving a talk about Iris, his new kernel (18:00, Embedded Developer Room).

Carl Fredrik Hammar finished and presented his thesis Generalizing mobility for the Hurd and passed with distinction. Congratulations! Its abstract reads:

The GNU Hurd features mobile objects in its implementation of filesystem backing stores. This thesis investigates the limitations and security concerns these objects present, and how they can be overcome. This is done in preparation for new applications that feature mobile code and mobile objects. In addition, one such application is studied and implemented, in which mobile code is used to make the ioctl system call more extensible.

So, when are YOU going to do a thesis, or another project on a GNU/Hurd-related topic? Contact us if you are interested!

2009-12-31

A month of the Hurd: official Xen domU support, DDE, porting, and FOSDEM 2010. Details.

This month Samuel Thibault merged his development branch into GNU Mach's master branch -- meaning that his GNU Mach Xen domU port is now part of the official sources. Only the microkernel (GNU Mach) needed to be extended, and no changes were needed in the Hurd, or glibc code bases. He had started this port in 2007 already, but it has been in heavy use over the last two years already, so merging it into the main source bases was long overdue.

He also got the necessary Xen patches committed into Xen's unstable branch, so that from Xen's 4.0 release on you'll be able to boot GNU/Hurd systems using pv-grub, without the need to prepare a special bootstrap image (like an initrd).

Of course, running GNU/Hurd systems in other virtualization environments is possible too, but the Xen domU approach offers superior performance compared to QEMU's machine emulation, for example.

Samuel also spent some time on adding code for detecting invalid (duplicate) port deallocations, and started fixing these, as well as he fulfilled his usual share of miscellaneous bug fixing.

The DDE port of Zheng Da now passes the first tests, bringing us the first steps towards updated device drivers -- and much lower overhead for maintaining them.

Now that the Debian GNU/Hurd build stats are again hosted on the master Debian build machine, Debian developers see their packages' build failures more prominently, and quite a few started to fix their packages.

Thus, thanks to the porting work of mainly Emilio Pozuelo Monfort and Pino Toscano, users of the Hurd can get many more packages directly via the Debian GNU/Hurd distribution. Thanks to their and the other porters' relentless work, the percentage of available Debian packages has reached 66%, rising. For a specific example, they ported many GNOME packages, so that the gnome-core metapackage is installable again. Please test these and report back.

Thomas Schwinge started the planning for a GNU Hurd folks meeting at FOSDEM on February 6th/7th 2010 at the Université Libre de Bruxelles.

Guillem Jover jumped in and started fixing GNU Mach build warnings -- meaning that Thomas Schwinge's evil plan finally worked out, when he enabled -Wall in an October 2006 commit:

+# Yes, this makes the eyes hurt.  But perhaps someone will finally take care of
+# all that scruffy Mach code...  Also see <http://savannah.gnu.org/task/?5726>.
+AM_CFLAGS += \
+       -Wall

The GNU Hurd team wishes a pleasant Year 2010 to everyone!

2009-11-30

A month of the Hurd: initial work on network device drivers in user space, GRUB 2. Details.

This month Zheng Da, our former Google Summer of Code student working on network virtualization and some related topics, published the code for the pcnet32 device driver that he had modified to run as a user-space process instead of inside the kernel, and posted some preliminary performance benchmark results. The test results are mostly on par with the in-kernel driver, so they show that moving the lower-layer parts of the networking stack, the device drivers themselves, into user space can be done without losing (much) performance. Given this encouraging start, work is going on to explore whether the Device Driver Environment that has been created for L4-based systems can be used for providing GNU/Hurd systems with device drivers that (a) are more recent than our current ones, (b) support classes of devices that we don't support so far, and (c) are running as (possibly separate, fault-isolated) user-space processes.

Thanks to Samuel Thibault, the latest Debian GRUB 2 package (1.97+20091130-1) supports native installation from GNU/Hurd itself -- booting GNU/Hurd systems with GRUB has always been working, but until now it wasn't possible to install GRUB from a GNU/Hurd system. GNU GRUB has originally been written for booting GNU/Hurd systems, so this step completes its original purpose.

Samuel also continued to work on preparing the Xen branch of GNU Mach for being merged with the mainline code, and he fixed a kernel panic in the kernel's floating point support code.

2009-10-31

A month of the Hurd: new installation CDs, further Git migration, porting. Details.

This month Philip Charles created a new installation CD, the L series, for the Hurd, which brings us a big step towards installing the Hurd from the Hurd (without the need of a Linux-based installer). If you enjoy testing stuff, please give it a try.

On the same front, Michael Banck uploaded a new version of crosshurd that makes it again possible to use this package for creating a GNU/Hurd system image directly from Debian unstable packages.

Also, Thomas Schwinge migrated Sergiu Ivanov's nsmux, Flávio Cruz' cl-hurd (clisp bindings), and Carl Fredrik Hammar libchannel repositories into our new incubator Git repository, making them easier to access for other contributors.

Our bunch of porters continued to make further Debian packages usable on GNU/Hurd: Pino Toscano worked on a lot of packages, and Wesley W. Terpstra made mlton build -- together with Samuel Thibault, who first had to enhance GNU Mach to support allocating more than 1 GiB of RAM to one user-space process, which mlton needs.

On the go, Samuel also fixed a number of other bugs here and there, for example together with Eric Blake and Roland McGrath hashed out a difficile issue in the filesystem servers regarding POSIX conformance and system stability.

2009-09-30

A month of the Hurd: Successful Google Summer of Code project: unionmount. Details.

This month saw the successful completion of the Google Summer of Code 2009, for which Sergiu Ivanov created a unionmount translator. His work allows you to simply union one directory or translator into another one, so you see the files of both of them side by side.

He was mentored by Olaf Buddenhagen and both are now working on polishing the code and extending the namespace based translator selection (nsmux) which allows you to read a node with a selected translator by simply appending ,,<translator> to its name.

That aside, we saw the usual steady rate of enhancement discussions, as well as bugs getting fixed: X server crashing, preventing that GCC versions after 4.2 optimize too much, etc.

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

To help the Hurd you can for example (from high level stuff to the inner core)

Read about ways to contribute in more detail.

Getting Help

There are a couple of different Hurd FAQs. 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 to make money online.

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

There has not yet been an official 1.0 release. 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.

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

How is this site arranged?

The menu on the upper right corner provides a rough structuring about the available content. Just follow those topics and explore these pages.

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


These pages are powered by ikiwiki.