[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
is included in the section entitled
[[GNU Free Documentation License|/fdl]]."]]"""]]
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 or Extended GNU from
## Step 4: Extract the snapshot to the newly created partition
# mount /dev/hdd6 /mnt
# cd /mnt
# tar -jxvf /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.
*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 to help finish the GNU System.