As a starting place for porting, you can think of GNU/Hurd as not very
different from GNU/Linux and just port the various pieces you need in
straightforward ways as you would port them to any new unix-like platform.
The substantial thing missing now for proceeding that way is the X server,
but you can just ignore that issue by not trying to use it. That is, you
can't right now easily get an X server running on your Hurd. The reasons
for this are not deep or very interesting, and certainly not what I would
recommend thinking about for an introduction to Hurd programming issues.
The X server will run fine just as soon as someone gets around to doing the
various bits of moderately dull work involved, but when it does it will
just be an X server and you know what that gets you. The approach I would
recommend for now is to just port GNUstep and the pieces it needs
(windowmaker and whatever) that are part of the X client side, and
test/debug that using another X server over the ethernet (an X terminal,
your linux box, whatever). There may well be little bumps along the way in
terms of smaller features the Hurd lacks, those will come out in the wash.
Once you have all the pieces working as X clients like they do on
GNU/Linux, then we can start thinking about places you could do things
differently to take advantage of the Hurd's architecture.
The active Hurd community (such as it is) is now pretty Debian-oriented.
So with anything being ported from GNU/Linux to GNU/Hurd, the path we'll
recommend is starting with the debian source packages for the packages
you're interested in, and getting those ported and running to the point of
making a binary hurd-i386 debian package. (If you're not into debian, you
can just get your porting changes into the sources and make patches
available or whatever is convenient for you, and leave the debianizing to
someone else. But you're not likely to get much in the way of user testing
until there is a debian binary package for people to install.)
- From: "Lucas C. Wagner" <email@example.com>