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.