## Table of Contents
%TOC%
## About
OSKit-Mach began as a branch of the [[Mach/GnuMach]] 1.2 kernel, but since the release of GNU Mach 1.3, OSKit-Mach has been merged as the new [[Mach/GnuMach]] 2.x mainline. The [[Mach/MachHistory]] 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](http://www.cs.utah.edu/flux/oskit/) from [the Flux Research Group](http://www.cs.utah.edu/flux/). The OSKit provides a neat driver base where both [[TWiki/FreeBSD]] and Linux (2.2.12) drivers are made available to [Mach](http://www-2.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html) and thus the Hurd.
## Status
The OSKit-Mach version of GNUmach is today (2005) more or less defunct. Nobody is actively working on it. Instead most resources are put into the [[Hurd/HurdOnL4]] port. -- [[Main/JoachimNilsson]] - 11 Apr 2005
The [[OskitMachStatusList]] tells what is required before GNUmach 2.0 (a.k.a. OSKit-Mach) goes mainstream. Status of the new console/term is on that page. The [[Hurd/MailLists]], or the [[Hurd/HurdIRC]] is, like always, the best source of more current information.
There also exist other efforts:
* [OSKit and OSKit-Mach PPC Port](http://es.gnu.org/~jemarch/ppc-oskit/) - Maintained by [Jos� Marchesi](mailto:jemarch AT gnu DOT org)
* [OSKit-Mach Alpha Port](http://savannah.gnu.org/projects/gnumach-alpha/). - This work has been integrated into the actual OSkit cvs tree at utah.
## Building
First you need to get the latest OSKit release and, preferrably, the latest CVS version of GNUmach. Take a look at the following [tutorial](http://www.etherhogz.org/doc/oskit-mach.html) to get started. Or the locally kept version, [[BuildingOskitMach]].
## Starting
You start Oskit-Mach almost the same way as the old 1.x version of GNUmach. Using [[Hurd/GrubNotes]] 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.
## Bugs
We have bugs, just like any other software product. To get around the more nasty ones you can apply the unofficial patches found on
* [[OskitMachPatches]]
## Debugging
See Igor Khavkine's, [i\_khavki@alcor.concordiaNOSPAM.ca](mailto:i_khavki@alcor.concordiaNOSPAM.ca), excellent help to [remote debug oskit-mach over a serial line](http://www.etherhogz.org/doc/oskit-boot.txt), or the local [[RemoteDebugOskitMach]].
----
**_Comments:_**