Now I have a complete GNU system on my PC

Posted in Bangalore, Free Software at 9:30 am by Pirate Praveen

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


  1. n3oo3n said,

    September 7, 2006 at 1:00 pm

    quite intresting !
    Thanks for sharing with us ..

  2. Navaladi said,

    September 7, 2006 at 3:21 pm

    Thanks Praveen,
    I am very nice to hear.I have couple of doubt.

    Does that 175MB(–>750MB) has all base GNU stuff?
    what about upgrading for other gnu utils,do we have to compile from source or pre-build available?

    How this differ from Debian/Hurd?they providing GNU with around 4 CD’s..does this has only base utils?


  3. Riyaz Usman said,

    September 8, 2006 at 1:29 pm

    Congrats Praveen, that now you are a proud owner of a COMPLETE gnu system. Happy Hacking!!!

    And thanks for sharing the info.

    How was the gplv3 conference ? I wanted to attend the same, but was quite busy that days since it was working days.

  4. Pramod said,

    September 9, 2006 at 9:10 am

    Wow! thatz kewl… thanx a lot 4 that info 😉 Enjoy!

  5. Vikram Vincent said,

    September 10, 2006 at 6:53 am

    Buddy, this is the basic stuff. What about some more advanced stuff? Plz need attn. to that.ty

  6. Jitendra said,

    September 14, 2006 at 5:07 pm

    Hi Praveen,

    First let me congratulate for u r live show on air in Radio city at bangalore. I m Jitendra frm Hyderabad working for Inforica India (Pvt) Ltd. as a S/w Engg.

    I got u r link while i was searching in google “how to listen FM online”. I m writting to u with an expectation that u can guide me how to listen to FM channels online. It would be greatful and helpful to me at work.

    Cheers 🙂

  7. Praveen A said,

    September 24, 2006 at 3:18 pm


    hmm its my pleasure 🙂


    as I mentioned in the blog it comes with GNU Emacs 21.4, gcc 4.0, gdb 6.3, parted, wget and many more
    Some more packages are available with
    AMS’ site
    . Others you will have to compile from source.

    Debian GNU/Hurd is debian’s port of GNU Hurd, it uses the Debian packaing format (deb), debian infrastructure, debian policy, …

    but GNU System which i’m talking about here is going to be the official release from FSF. It will have a different packaging format, directory structure, different motivation … AMS is the release manager for th GNU system and these are snapshots for testing purposes only. Help us in releasing the GNU system soon.

  8. Praveen A said,

    September 24, 2006 at 3:23 pm


    Thanks. GPLv3 conference was good. I have written about it

    And that motivated me to go ahead with Software freedom Day and it was awesome. Again some more scribbles here.

  9. Praveen A said,

    September 24, 2006 at 3:27 pm


    Its always my pleasure.


    I have the best operating system in the world — GNU Emacs, so what else I need? 🙂

    (btw Debian GNU/Hurd k14 is in the making, we can enjoy all the new features like PCMCIA support, WLAN support, Xorg 7.0 …)


    Sorry I don’t listen to FM online. http://radioverve.com/ might be of interest.

Leave a Comment