OSKit-Mach began as a branch of the GNUMach 1.2 kernel, but since the release of GNU Mach 1.3, OSKit-Mach has been merged as the new GNUMach 2.x mainline. The history page tells a more interesting story including other operating systems who use Mach in their kernels.

GNU Mach 2.0 makes use of the drivers provided by the OSKit from the Flux Research Group. The OSKit provided a neat driver base where both ?FreeBSD and Linux (2.2.12) drivers are made available to Mach and thus the Hurd. However, OSKit isn't maintained anymore.


The OSKit-Mach version of GNUmach is today (2005) more or less defunct. Nobody is working on it. Few people ever got it running, and by now there are also problems building with recent toolchains. Instead, the Hurd developers now concentrate on completely different microkernels (Coyotos being the current favourite), as well as on improving the original GNU Mach 1.x codebase. (See also projects.)

The mailing lists, or the IRC is, like always, the best source of more current information.

There also exist other efforts:


First you need to get the latest OSKit release and, preferrably, the latest CVS version of GNUmach. Take a look at the following tutorial to get started. Or the locally kept version, BuildingOskitMach.


You start Oskit-Mach almost the same way as the old 1.x version of GNUmach. Using GRUB an entry can look like this:

title GNUmach 1.90 (CVS)
   root (hd0,1)
   kernel /boot/oskit-mach.gz root=device:hd0s2 --
   module /hurd/ext2fs.static                             \
          --multiboot-command-line=${kernel-command-line} \
          --host-priv-port=${host-port}                   \
          --device-master-port=${device-port}             \
          --exec-server-task=${exec-task}                 \
          -T typed ${root} $(task-create) $(task-resume)
   module /lib/ld.so.1 /hurd/exec $(exec-task=task-create)

Remember to ensure that there are no trailing spaces after the backslashes on the lines above if you copy-paste this into your menu.list file.


We have bugs, just like any other software product. To get around the more nasty ones you can apply the unofficial patches found on


See Igor Khavkine's, i_khavki@alcor.concordiaNOSPAM.ca, excellent help to remote debug oskit-mach over a serial line, or the local RemoteDebugOskitMach.