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-02-28

A month of the Hurd: DDE driver, X.org / libpciaccess, FOSDEM, and Google Summer of Code 2010. Details.

A bit late, but here it is finally: the MotH for February, 2010.

This month saw the first running and testable DDE driver by Zheng Da, with which he begins to reap the benefits of porting DDE to the Hurd -- essentially, allowing us to use current Linux device drivers.

Samuel Thibault pushed a libpciaccess x86 backend to X.Org:

This adds support on x86 for OSes that do not have a PCI interface, tinkering with I/O ports, and makes use of it on GNU/Hurd.

In the course of this, he also got commit access to X.org, so it should be easier now to get further Hurd-related patches applied.

As announced in our previous news blurb, at FOSDEM, Bas did his presentation of Iris, a new capability-based microkernel OS in the Embedded Developer Room, and Olaf illustrated Why is Anyone Still Working on the GNU Hurd?, and presented his work of Porting KGI graphics drivers from Linux to GNU Hurd, in the Alt-OS Developer Room.

In Mikel Olasagasti's words:

The room was full and people was "standing-up" for the talk. Some people even couldn't enter to the room (+20?).

Antrik [Olaf] made a good job. Was nice for the crowd to see Hurd running X, slow but working.

The regular IRC meeting schedule has been changed to Wednesdays, 11:00 UTC; see the IRC page for details.

Last, but not least, it is time again to think about the Google Summer of Code. In 2007, the GNU Hurd had one successful project, in 2008 five of them, 2009 saw another one, so we obviously plan to make it five projects again this year. We already have dozens of ideas online, and will add yet more -- also based on YOUR suggestions and wishes!

So, if you're a student, and interested in working on the GNU Hurd, please join in; browse through the GSoC pages, and don't be shy to contact us!

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.

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.

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.