Daily Archive for September 7th, 2006

Now I have a complete GNU system on my PC

I’m writng this with GNU Emacs on a GNU Syatem (also known as GNU/Hurd) which I setup yesterday in my home PC.

Here I will explain how you can setup a GNU System on your PC.

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 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 here
Filename: GNU–2006-01-08.tar.bz2

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)
root (hd0,5)
kernel /boot/gnumach 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. Also more Resources at hurd.in

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.

or we hang out on IRC at these channels

#hurd (All GNU/Hurd distribution, the official hurd channel), ##hurd (GNU system discussions), #hurd.in (Hurd developers from India), #i-hug (Indian GNU/Hurd Users group)

on irc.Freenode.net

or if you are in orkut join hurd.in community.

An updated document is available from hurd.in wiki