Hurd on PowerPC

Note: I am no longer working on this project, since I don't have much time and my current computer doesn't run OSF Mach. I remain interested in the Hurd, both the version that runs on Mach the upcoming port to the L4 microkernel. In case you have any questions about this port or if you would like to contribute to the Hurd on PowerPC in any way, please e-mail me (

This page contains some information on running the GNU Hurd on PowerPC computers.

Everything here is experimental, so don't expect it to work right away. I didn't put in some of the hacks I had to make to even get everything to compile. E-mail me ( if you have any questions, find bugs (which shouldn't be hard ;-) ), have any suggestions, etc.

Please see for more information about the Hurd, and for related information and projects.

Hurd status

Most of the Hurd libraries and programs compile and run, but not much testing has taken place. In particular, none of the filesystems except ext2fs have been tested. I also haven't tested pfinet, since I need a driver for my network card first. The least stable part is the exec server; it tends to crash when starting two or more commands at nearly the same time (such as with pipes).

Ported packages

So far, I've compiled a couple of packages (bash, coreutils, gcc, binutils, sed, grep, awk, make, diffutils, findutils, emacs, ncurses, gzip, tar). Most of it works, although there are quite frequent crashes. Emacs is usable, but only if you use the vt100 termcap entry and edit the termcap file to use the right number of rows and columns, and if you don't try to use the Meta key.

Supported hardware

At the moment, the Hurd can only be expected to work on older PowerMacs (the ones on which MkLinux runs). A project is underway to port the OSF Mach microkernel to newer PowerPC machines using the OSKit from the University of Utah (see

OSF Mach sources

osfmk.tar.gz (source code of OSF Mach)
osfmk-export.tar.gz (headers and libraries; only the headers are needed for the Hurd)
osfmig-0.90.tar.gz (OSF Mig for i386 and PowerPC)


Patches for development tools (last updated March 13, 2004)

binutils.patch (configure changes for binutils)

Patches for glibc (last updated August 9, 2003)

libc-osfmach.diff (OSF Mach related; this file is currently missing)
libc-powerpc.diff (PowerPC related; this file is currently missing)
dl-start.S (put in libc/sysdeps/mach/hurd/powerpc/)

Patches for the Hurd (last updated August 9, 2003)

All patches (except misc.diff) are named after the subdirectory of the Hurd source directory they apply to.
libthreads.diff (adds PowerPC support to libthreads)
csw.S (put in hurd/libthreads/ppc/)
thread.c (put in hurd/libthreads/ppc/)

The following patches add support for OSF Mach to the Hurd.
daemons.diff, daemons.changelog
fatfs.diff, fatfs.changelog
init.diff, init.changelog
hurd.diff, hurd.changelog
libfshelp.diff, libfshelp.changelog
libports.diff, libports.changelog
libps.diff, libps.changelog
libshouldbeinlibc.diff, libshouldbeinlibc.changelog
libstore.diff, libstore.changelog
libdiskfs.diff, (no changelog yet)
libpager.diff, (no changelog yet)
misc.diff (rest of patches for the Hurd)
boot.diff, serverboot.diff (be careful, might ruin i386 support)

Last changed: September 11, 2005