Hurd Traffic #8 For 28 Jul 1999

By Zack Brown

Do you pine for the nice days of minix-1.1, when men were men and wrote their own device drivers?
Are you without a nice project and just dying to cut your teeth on an OS you can try to modify for your needs?
Are you finding it frustrating when everything works on minix? No more all-nighters to get a nifty program working?
Then this post might be just for you :-)
-- Linus Torvalds, 1991

Table Of Contents


This week there was a lot more traffic, but I only wrote about the three threads that actually ended. There's 113K I haven't touched yet. That's normal: I don't like trying to summarize threads that are still going on, even though it makes the stats seem a little misleading in the short run.

Mailing List Stats For This Week

We looked at 17 posts in 55K.

There were 10 different contributors. 4 posted more than once. 1 posted last week too.

The top posters of the week were:


1. VMWare And The Hurd
19 Jun 1999 - 20 Jun 1999 (8 posts) Archive Link: "VMWare and GNU/HURD"
Topics: Bootloaders, Emulators: VMWare
People: David AndrewsArkadi E. ShishlovDaniel BurrowsMarcus Brinkmann

David Andrews got the Hurd running under VMWare ( . He described the process:

I went almost entirely by Matthew's easy guide to HURD installation. He describes two paths: either install the current debs using the supplied scripts (what he recommends) or download and expand a largish tarball that Marcus keeps at The first will make you a lot more current, while the second is much easier to accomplish.

Since I'm running the Caldera OpenLinux 2.2 distribution, which is rpm-based, I was obligated to install and learn about dpkg if I wanted to follow Matthew's recommendation. So I chickened out and downloaded the big tarball. It got me going; the dpkg experience will have to come later.

Here's what I did:

  1. Built a pair of virtual machines. The first is for GNU/HURD itself and a single IDE drive was defined for it. Matthew recommends that this be 500MB in size. I gave it 576MB, intending to split it into a 512MB main partition and a 64MB swap partition (I knew not to make the virtual drive larger than 1GB). The real floppy drive was made visible to the HURD VM, but not the real CDROM drive -- I didn't see the point just yet.

    The second virtual machine was for the bootstrap OS. I gave it a 500MB "hard drive" of its own -- I had plenty of disk space to spare. I also gave the bootstrap VM access to the existing drive defined to the GNU/HURD machine. It has access to both the real floppy drive and the real CDROM drive.

  2. Built the bootstrap OS. Taking the coward's way out, I simply stuck the Caldera CD into the cup holder, "powered up" the VM and told Caldera to perform a minimal installation. This gave me a bootstrap OS with network capability, and which could access the HURD drive as /dev/hdb. I did little else from the host machine after this.
  3. Steps 3-5 were straight from Matthew's instructions. I ftp'ed the HURD tarball and GRUB image to the bootstrap machine, then created the GRUB floppy.
  4. cfdisk'ed the HURD drive, splitting it into a 512MB type83 Linux partition and a 64MB type82 Linux swap partition. (I vaguely remember some recent discussion on the list concerning the need for a swap partition, whether or not you actually think you need it.) Executed "mke2fs" against the HURD partition, then mounted the new HURD filesystem on /gnu.
  5. Un-tar'ed the tarball into /gnu, then dismounted the HURD filesystem.
  6. VMWare wouldn't let me power-up the HURD VM without first shutting down the bootstrap OS -- it didn't want to have two VMs with concurrent access to the same virtual hard drive. So I shut down the bootstrap OS and "powered off" its VM, then "powered on" the HURD VM (having first inserted the GRUB floppy).
  7. GRUB came up and prompted me for boot options. I selected single user boot for hd0. Then it complained that it wasn't able to find the servers.boot file. I didn't know yet that I should have tailored the /boot/grub/menu.lst file on the GRUB floppy (Matthew - you might want to add that to the easy guide). For the nonce I simply typed in: /dev/hd0s1/boot/servers.boot
  8. GNU HURD booted up like a charm. I was amazed and laughed like a maniac. My wife thought I'd lost my mind.

It occurs to me that a tar'ed VMWare virtual machine would make a dandy development distribution for something like HURD -- iff the developer is licensed to use VMWare. Of course, VMWare is commercial software, not free, and should not be absolutely required for doing development.

But I have to say that having the facility (plus Marcus' tarball) sure made things absurdly easy for me. If a HURD VM image was available online, anyone running VMWare could be operating a GNU/HURD in little more time than it takes to download it.

Marcus Brinkmann gave it a try, but Grub got a disk geometry error. He finally did get the Hurd to boot, but it would hang right after loading all the servers. David didn't know the answer to this problem, and his faith in VMWare was a little shaken, but Arkadi E. Shishlov said, "I run HURD on P166/64Mb with 32Mb dedicated for HURD under VMWare-1.02. HURD is on real 700Mb partition at the end on 3Gb disk. I use gnu-19990505.tar.gz tarball and have no problem, grub boot ok, no lockups."

Elsewhere, Daniel Burrows announced that he'd cobbled together a Debian package that unpacked and installed the VMWare .tgz file (similar to the method used by the StarOffice Debian package). In the course of discussion, Marcus also gave a pointer to freemware ( , though the project had nothing on its download page.


2. Installing The Hurd Without Linux
21 Jul 1999 - 22 Jul 1999 (4 posts) Archive Link: "Installing HURD from scratch"
Topics: FS: NFS
People: Allover Stripes

Walter Thomas wanted to dedicate an entire machine to the Hurd, without using Linux at all, if he could help it. Allover Stripes replied:

Well, if you asked that in six months, we'd probably have a different answer for you. Right now, the easiest way is to install Linux first, perhaps on a partition later to become a swap partition. However, you might be able to do something like the following:

  1. Put the Hurd tarball and initial installation files on an NFS-exported disk visible to the new machine.
  2. Make a set of Debian install floppies. (That's just two, not the whole base distro)
  3. Boot the install floppies.
  4. NFS mount the Hurd files
  5. Follow the easy guide from your (very basic) Linux system

More generally, you might be able to get by with any of the single-floppy Linux distributions (see The Debian install floppies can probably do what you want, and if it doesn't work, you can just toss a base system (6-8 floppies?) onto the machine.

No, I haven't tried the above.

The real fun comes after the Hurd gets started.


3. Missing Perl Package; Binary Compatibility; And Helping Hurd Development
23 Jul 1999 (2 posts) Archive Link: "Perl Package"
Topics: POSIX
People: Kirstin S. ReeseMarcus Brinkmann

Kirstin S. Reese said:

I wanted to install the hurd, but I couldn't find the perl package. The only one on the ftp servers is a dummy upgrade package.

I know I am blind to something here, but what?

Also, is there any information about the development of packages for running linux binaries on the hurd?

And, what are the some of the key tasks left before the hurd's release? I would love to help out.

Regarding the Perl situation, Marcus Brinkmann replied:

OH NO! We are currently moving to versioned perl, and it seems that they replaced the old perl packages with dummy packages, to make room for the versioned perl packages. Damn. Silly guys. Now I need to upload perl 5.005 although we are not really ready for it... (of course, this move is important and needed, and the perl people are not silly but do the Right Thing, still, I wish I could "freeze" "my" binary-hurd-i386 ftp directory :)

Thanks for pointing out, there is indeed a problem. Currently, nobody will be able to install the Hurd using the Debian packages. Please use the tar file installation method. I will upload perl 5.005 packages now, but the installation will not be clean until I tested it (package names changed, dependencies changed).

Regarding the possibility of running Linux binaries under the Hurd, he added:

"This will happen automatically when libc6 is ready for it. We are lacking POSIX threading and some other stuff. Note that you don't need an "emulation" package or something, it will just happen to be possible with Hurds glibc. Of course, additional software for /proc filesystem emulation and kernel syscall wrapping would be useful."

Finally, about helping with Hurd development, Marcus gave pointers to and, and suggested reading the mailing list archive. More specifically, he said:

Some of the key tasks are:

  • Boot disks (you probably don't want to mess with them unless you know what you do)
  • Getting X servers to work (same remark here)
  • Packages, packages, packages (see above)
  • Some glibc issues (POSIX file locking, threading, ...)
  • Support for Linux character devices in GNU Mach
  • Writing documentation

I suggest you install the Hurd and poke around a bit until you find something you feel comfortable with and ask on bug-hurd or here if you know what you want to work on.







We Hope You Enjoy Hurd Traffic

Kernel Traffic is grateful to be developed on a computer donated by Professor Greg Benson and Professor Allan Cruse in the Department of Computer Science at the University of San Francisco. This is the same department that invented FlashMob Computing. Kernel Traffic is hosted by the generous folks at All pages on this site are copyright their original authors, and distributed under the terms of the GNU General Public License, version 2.0.