Difference between revisions of "Arch Hurd Project"

From ArchWiki
Jump to: navigation, search
m (Stage 1 - Cross-compiler)
(formatting)
Line 1: Line 1:
== Introduction ==
 
 
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.
 
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.
 
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 ==
+
= 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 [http://git.savannah.gnu.org/cgit/hurd/ git] repo.
 
Staying consistent with Arch, the target we will build for is i686-pc-gnu.  Sources for Hurd components are obtained from their [http://git.savannah.gnu.org/cgit/hurd/ git] repo.
  
Line 22: Line 21:
 
Newer and more updated scripts are available [http://allanmcrae.com/hurd/ here].
 
Newer and more updated scripts are available [http://allanmcrae.com/hurd/ here].
  
== Stage 2 - Cross-compile a bootable system ==
+
= Stage 2 - Cross-compile a bootable system =
  
 
A minimal bootable GNU system requires (at least) these packages built in roughly this order...
 
A minimal bootable GNU system requires (at least) these packages built in roughly this order...
Line 35: Line 34:
 
* (grub)
 
* (grub)
  
== Stage 3 - Natively build packages ==
+
= Stage 3 - Natively build packages =
  
 
* get makepkg/pacman working
 
* get makepkg/pacman working
Line 42: Line 41:
 
* party!
 
* party!
  
== Ideas ==
+
= Ideas =
 
Just what makes something Arch-like? Add ideas to this list.
 
Just what makes something Arch-like? Add ideas to this list.
  
Line 51: Line 50:
 
* mkinitcpio
 
* mkinitcpio
  
== Repositories ==
+
= Repositories =
 
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.
 
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.
 
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.
  
== Links ==
+
= Links =
  
 
[http://bbs.archlinux.org/viewtopic.php?pid=682472 The forum thread]
 
[http://bbs.archlinux.org/viewtopic.php?pid=682472 The forum thread]

Revision as of 02:03, 13 February 2010

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!

Ideas

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

Repositories

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.

Links

The forum thread

Hurd project homepage, contains useful info/links

Debian GNU/Hurd

Cross Linux From Scratch

Hurd From Scratch - Non-English