Difference between revisions of "Arch Hurd Project"

From ArchWiki
Jump to: navigation, search
(fix i18n; categorize)
Line 68: Line 68:
[http://trac.cross-lfs.org/ Cross Linux From Scratch]
[http://trac.cross-lfs.org/ Cross Linux From Scratch]
[http://fondriest.frederic.free.fr/hurd/GNU_HURD%20from%20scratch.html Hurd From Scratch - Non-English]
[http://fondriest.frederic.free.fr/hurd/GNU_HURD%20from%20scratch.html Hurd From Scratch - French]

Revision as of 09:48, 7 May 2010

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.

Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어

External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

The Arch Hurd Project is, unsurprisingly, a project to get a working Arch system running on GNU/Hurd. This page will, at some point, tell you how you too, can get an Arch Hurd system. Maybe we'll even set up repositories and suchlike, even a website if this thing takes off.

Currently we don't have anything but an idea, some people crazy enough to like the idea, and the promise of some PKGBUILDs and a working cross compiler. Sorry.

Stage 1 - Cross-compiler

Staying consistent with Arch, the target we will build for is i686-pc-gnu. Sources for Hurd components are obtained from their git repo.

Build order (from here):

  • binutils
  • gcc (pass 1)
  • mach
  • mig
  • hurd
  • glibc (pass 1)
  • libpthread
  • gcc (pass 2)
  • glibc (pass 2)

A script to generate a cross compile environment is available here. Currently this uses binutils-2.19.1, gcc-4.1.2, glibc-2.7 and is built for i586-pc-gnu.

Newer and more updated scripts are available here.

Stage 2 - Cross-compile a bootable system

A minimal bootable GNU system requires (at least) these packages built in roughly this order...

  • gnumach-headers (built above)
  • hurd-headers (built above)
  • libpthreads (built above)
  • glibc (built above)
  • gnumach
  • hurd
  • coreutils
  • bash
  • (grub)

Stage 3 - Natively build packages

  • get makepkg/pacman working
  • build packages
  • make install CD
  • party!


Just what makes something Arch-like? Add ideas to this list.

  • pacman/makepkg for package management
  • Some form of ABS tree (in git/svn/cvs/whatever to allow easy package rollbacks, perhaps?)
  • Something like the /etc/rc.conf file (anybody know anything about the Hurd boot process?)
  • optimization - build for i686.
  • mkinitcpio


I (Barrucadu) have a tonne of spare space/bandwidth on my Dreamhost account, so when this gets rolling if people want to volunteer to port/maintain packages they use, the repositories can live on there.

If I set up a git repo for the ABS tree, a packaging mailing list, and repositories (core/extra should do in the beginning, I imagine), I could give volunteers access to those so we could make progress.


The forum thread

Hurd project homepage, contains useful info/links

Debian GNU/Hurd

Cross Linux From Scratch

Hurd From Scratch - French