Setup is very easy (You need a GNU/Linux system to install GNU, we are developing an installer for GNU and if you want to help us join us on [[http://lists.gnu.org/mailman/listinfo/gnu-system-discuss][gnu-system-discuss]]), just follow these steps ...

Step 1: Find a home for GNU

create a partition with minimum of 800 MB (if you want to install programs later you might need to allocate more space)

It comes with GNU Emacs 21.4, gcc 4.0, gdb 6.3, parted, wget and many more

Note: 2GB limit for partitions is no more there, it is fixed

Step 2: Create GNU Hurd filesystem on the partition

# mke2fs -o hurd /dev/hdd6

Step 3: Grab a snapshot of the GNU

from http://www.update.uu.se/~ams/home/slask/GNU/ or Extended GNU from http://i-hug.sarovar.org/downloads/GNU/extended/

Step 4: Extract the snapshot to the newly created partition

# mount /dev/hdd6 /mnt
# cd /mnt
# tar -jxvf <path to downloaded location>/GNU--2006-01-08.tar.bz2 

Wait for the extraction to complete, depending on the system configuration the time varies. The compressed image is 178MB and it uncompresses to about 750MB

Step 5: Configure grub to boot GNU

This can be tricky since the partition naming is different for linux, grub and hurd

My configuration look like this ...

title  GNU (also known as GNU/Hurd)(Single user)
root   (hd0,5)
kernel /boot/gnumach.gz root=device:hd3s6 -s
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) 

title  GNU (also known as GNU/Hurd)(Multi-user)
root   (hd0,5)
kernel /boot/gnumach.gz root=device:hd3s6 
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) 

grub         linux      hurd
hd0,5       hdd6        hd3s6

If you have only one harddisk it will be hd0 for grub wherever you connect it. But linux and hurd names depend on whether you connect it as primary master (hda or hd0), primary slave (hdb or hd1) [this is my cdrom drive], secondary master (hdc or hd2) or secondary slave (hdd or hd3) [this is my precious Maxtor 2GB hard disk].

The partition naming of hurd is similar to BSD slices. hda1 is hd0s1, hda2 is hd0s2 ...

In my case the root device is hd0s6 (hdd6)

Step 6: Now boot into your brand new GNU System.

It will do some initial setup and you will get a prompt. Now reboot into your configured GNU System.

# reboot 

Step 7: Start using your GNU system

Here is the GNU/Hurd users guide. It starts from the basics. http://www.gnu.org/software/hurd/users-guide/using_gnuhurd.html

Warning! : It is not yet ready for normal use, it is a developer's release.

So when you encounter bugs report it to bug-hurd@gnu.org

Join us on gnu-system-discuss http://lists.gnu.org/mailman/listinfo/gnu-system-discuss to help finish the GNU System.