Currently, we do not work on native boot disks. We are laying out some of the necessary foundations for that, though, and sometimes port individual necessary packages for that. If you want to help, work on the debian-installer project and make sure its components run on the Hurd.
If you want to help the Debian GNU/Hurd port, you should make yourself familiar with the Debian packaging system. Once you have done this by reading the available documentation and visiting the Developer's Corner you should know how to extract Debian source packages and build a Debian package. Here is a crash course for the very lazy people:
Extracting a Debian source package requires the file
package_version.dsc and the files listed in it. You build the
Debian build directory with the command dpkg-source -x
package_version.dsc
Building a package is done in the now existing Debian build directory
package-version with the command dpkg-buildpackage -B -rsudo
"-mMyName <MyEmail>". Instead -B you can use
-b if you also want to build the architecture independent
parts of the package. You can use -rfakeroot instead
-rsudo if you use the fakeroot package. You can do
without the -r if you build as user root. You can add
-uc to avoid signing the package with your pgp key.
Which package needs to be worked on? Well, every package that is not yet ported, but needs to be ported. This changes constantly, so either pick one of the missing packages at random, or watch out for information about the autobuilding process on the debian-hurd mailing list.
Some of these packages, or parts of them, might be portable later, but currently they are considered to be unportable at least.
base/update, because the Hurd does not need an update
daemon (the filesystems sync themselves). To change to sync interval,
you can use fsysopts to adjust the --sync
option. You can set different sync intervals for each file system!
To do this manually, use the syncfs utility.base/makedev, because the Hurd comes with its own version
of this script. The Debian source package only contains a Linux
specific version.base/ld.so, because the Hurd does use the linker that
ships with the GNU C library.base/modconf and base/modutils, because
modules are a concept specific to Linux.base/netbase, because the remaining stuff that is there
is highly specific to the Linux kernel. The Hurd uses
inetutils instead.base/pcmcia-cs, because the Hurd does not have any PCMCIA
support (and even if it had, this package is probably Linux specific).base/procps, because this code is specific to the Linux proc
filesystem.base/ppp and base/pppconfig, because the
Hurd does not have any PPP support (and even if it had, this package
is probably Linux specific).base/setserial, because it is specific to the Linux
kernel. However, with the port of Linux char drivers to GNU Mach, we
might be able to use it.A list of common issues is available on the upstream website.