[!] Jérémie Koenig has been working on this as a Google Summer of Code 2010 project.

The primary means of distributing the Hurd is through Debian GNU/Hurd. However, the installation CDs presently use an ancient, non-native installer. The situation could be much improved by making sure that the newer Debian Installer works on the Hurd.

Some preliminary work has been done, see http://wiki.debian.org/DebianInstaller/Hurd.

The goal is to have the Debian Installer fully working on the Hurd. It requires relatively little Hurd-specific knowledge.

A lot of the "non-Linux support" part of the project has already been done thanks to a previous GSoC, so at least no ground reason should bar the project. A lot of the required udebs are already in Debian or are pending upload, so that building an image and booting it does already work. A preliminary list of what remains is

  • Add initrd support to GNU Mach, unless youpi does it before :) This should not be very complicated by re-using the iopl driver code.
  • hurdify genext2fs to handle 4096 block size by default (see bug #562999) and support translator entries.
  • Port busybox. This needs to be synchronized with kfreebsd people, who have probably already done some work, but that seemingly still hasn't been merged. In the meanwhile, youpi has a version with most of it disabled so a d-i image can actually be built.
  • Port keyboard-setup to configure the xkb driver of the Hurd console

As a starting point to get a grasp at how the debian installer is built, students might wish to look at the current Debian installer source and build process on Linux:

  • svn co svn://svn.debian.org/d-i/trunk/installer/
  • cd installer/build
  • make build_monolithic

The same can be done on hurd-i386 but a few non-uploaded packages are needed, see http://people.debian.org/~sthibault/hurd-i386/README-d-i

Possible mentors: Samuel Thibault (youpi)

Exercise: Fix a couple of Hurd issues in busybox.