Hurd Traffic #56 For 10 Aug 2000

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

Mailing List Stats For This Week

We looked at 180 posts in 616K.

There were 53 different contributors. 26 posted more than once. 23 posted last week too.

The top posters of the week were:


1. Release Schedule
23 Jul 2000 - 24 Jul 2000 (11 posts) Subject: "Debian GNU/Hurd 0.3 -> 1.0"
Topics: Bootloaders
People: Erik EngeThierry LarondeGordon MatzigkeitMarcus BrinkmannOKUJI YoshinoriAlexandre Oliva

Erik Enge asked some fundamental questions:

When is Debian GNU/Hurd 0.3 comming out? Who decides why? I'm also having trouble seeing who has controll over GNU Mach, GNU Hurd and the Debian GNU/Hurd distribution. Is there some sort of strategic leadership here, or are we just moving along as it comes?

What needs to be done before Debian GNU/Hurd 1.0 ships? Who decides that? What resources are needed to make that goal within this century? And how do we go about getting those resources (more developer for example)?

Is there some kind of timeline or roadmap for the distribution, Mach or Hurd? And if it is, who is in charge of it?

Thierry Laronde replied:

One of the things that _have been done_ and will continue to be done, is promoting, showing, explaining the HURD, and GNU Mach during the Debian Conference. This year was the very beginning. The next one must emphasize the fact that kernel != linux, and that MACH/HURD exists (not to mention *BSD).

Another task (RMS was not quite happy with the state of the GNU HURD pages on the official site) is to organize and keep up to date the pages, to show that people are working.

I think I will volunteer for the task... and the fact that I know almost nothing about MACH/HURD is perhaps a quality : If I want to know what the site is about, I need to find, read and keep up to date the docs ;)

Gordon Matzigkeit also replied to Erik:

I was hired by the FSF to try to answer these questions---what needs to be done in order to release GNU 1.0?

After some time, the answer to me has two pieces:

1) Continue the tradition that made GNU software strong: its portability to non-GNU systems of all kinds.

2) Give the complete GNU system an advantage by writing GNU programs so that they exploit the special features only found in GNU.

These plans seem to be contradictory, but I believe all that is missing is a software package which makes it easy for programmers to satisfy both goals. With such a package, people would be able to develop new programs for non-GNU systems, but those programs would be faster/safer/simpler when they were run under GNU. Conversely, people would be able to develop new programs for GNU, and these programs would be immediately portable to non-GNU systems.

That kind of software would attract people to GNU even stronger than a few new packages that weren't available on non-GNU systems.

Two examples from my past serve to illustrate this point:

I designed GNU Libtool from scratch to be capable of building both shared libraries and static libraries. On platforms that didn't (yet) have shared library support, only static libraries were built. This allowed developers who only had access to static library platforms to build packages that made shared libraries when possible. Vice versa, shared library developers could make packages that Just Worked on static-only platforms (provided they followed other basic rules of portability).

GRUB was designed to run at boot time, but when I added the ability for it to run as a regular *nix program, I lowered the energy required to develop new features, and made most kinds of debugging simpler.

[It would be a crime to forget to mention the people who took these projects and ran with them: Alexandre Oliva, Thomas Tanner, Gary V. Vaughan, and OKUJI Yoshinori.]

Now I am working on Figure, a general-purpose application framework whose goal is to provide programs with an interface to powerful GNU features, while remaining portable to many other systems.

The more programs which use Figure (or something like it), the more consistent and portable GNU will be.

Anyway, that's enough high-level discussion for now, and I don't want to stray too much off-topic. If anybody wants to continue along this avenue, I recommend you to the Figure home page and mailing list:

Marcus Brinkmann also replied to Erik, saying Debian Hurd 0.3 would come out when it was ready. He pointed out, "Note that GNU/Hurd 0.3 will appear independently and probably sooner. The Debian release number is coupled to the Linux release." In terms of who made those decisions, Marcus went on, "For GNU/Hurd, this would be the Hurd authors. For Debian, this would be the Debian community, with my and other peoples input. The last call has probably the release manager." And to the question of how much needed to be done before 1.0 could come out, Marcus said, "About ten times as much as already has happened." He concluded with jocularity, "You see, I try to avoid to answer your questions. You will not squeeze anything out me :) But if you want to make it happen, get the Hurd, gdb, and start to debug. With every bug recognized and fixed, we come closer to a release of GNU/Hurd 0.3"

Erik asked if any long term plans had been formulated, and Marcus replied:

If I would spend my time on documenting my thoughts and plans, I would have no time left to work on it. I leak plenty of hints and tasks on the mailing lists, and sometimes people ask me about what to do and I make suggestions.

There are also tasks lists in CVS and on the web (look at the Debian GNU/Hurd page)

Nobody can say that it is hard to find a job related to Hurd. At least, if you really want to help and can't find anything, let me know [and provide a small description about what you like to do, so I can try a best match] :)


2. Trouble Getting On The Documentation Mailing List
23 Jul 2000 - 25 Jul 2000 (2 posts) Subject: "hurddocs"
People: Jim FranklinJuli-Manel Merino VidalJeff Bailey

Juli-Manel Merino Vidal tried and failed to subscribe to the hurddocs-volunteers mailing list, and asked for help. He had some graphics to contribute to the web page, but didn't know who to contact. Jim Franklin replied, "contact Jeff Bailey ( " . End Of Thread.


3. Emacs, bsdutils, util-linux
26 Jul 2000 (2 posts) Subject: "emacs"
People: Juli-Manel Merino VidalMarcus Brinkmann

Juli-Manel Merino Vidal reported, "I'm trying to install emacs; I've downloaded emacs20 and emacsen-common, and also bsdmainutils, which emacs depends on. But I can't install bsdmainutils cos it conflicts with fileutils in the 'tsort' program. What do I have to do ? force installation of bsdmainutils ?" Marcus Brinkmann replied:

Yes, this is safe. If you want to keep a copy of tsort from fileutils around, just cp it to some other name.

Use 'dpkg --force-overwrite', and if you get dependency issues, with bsdmainutils it is safe to --force-depends

I am sorry for the persistent problems with bsd*utils and lack of util-linux, but there are far more pressing problems until I can attack those.


4. Spanish Keyboard Support
26 Jul 2000 (3 posts) Subject: "spanish keyboard"
People: Marcus BrinkmannJuli-Manel Merino Vidal

Juli-Manel Merino Vidal asked how to set up the keyboard for spanish input, and Marcus Brinkmann replied, "Different keyboard maps are not supported easily, but look at keymap.tar.gz in Different fonts are not supported (yet)." Juli-Manel replied, "I've modified the map.en to create a and works well. Main problem is the representation of non-english characters and I don't know how to implement the key that is at right of the 'z'. It has the '<' '>' characters."


5. Color At The Mach Console
26 Jul 2000 - 1 Aug 2000 (11 posts) Subject: "Mach console"
Topics: Emulators: VMWare
People: Tomasz WegrzanowskiMarcus BrinkmannJuli-Manel Merino Vidal

Juli-Manel Merino Vidal asked why the Mach console didn't support color, graphics characters, or boldface. Tomasz Wegrzanowski replied:

Mach terminal emulator's main task is printing boot-up messages. Then, Hurd (userspace) terminal emulator should start. It should, but there is no such thing yet, look at Kalle's colortext for something that will become one (it is _quite_ usable now).

Color support is quite easy to do, but it would need recompiling Mach microkernel and many many reboots to test, and that's why nobody tried.

Juli-Manel replied that 'VMWare' could keep reboots to a minimum, and asked about implementation details for color support. Several posts down the line, Marcus Brinkmann said:

I have implemented color and other attributes for the GNU Mach console, so if people are really dying to see colors on the Hurd, I am willing to make the patch available. I could even include it in the Debian binary.

However, it is definitely not the right thing to do, so don't spend any time on it. Instead, people should focus on colortext by Kalle, which has color support and much more, and is a user space server, and the way to go.

Juli-Manel asked Marcus to please make the patch available, and Marcus agreed. Later, under the Subject: gnumach color support () , Marcus posted his patch, and said:

I am not sure it still applies cleanly, but the conflicts should be easily resolvable. Let me know.

There are at least two problems with this patch (apart from the simple fact it is heading in the wrong direction):

  • the colors are all scrambled, that means, you get colors, but not the correct ones. I need a corrected list of the color values.
  • There are some restrictions for the attributes. I think bold and dim are not supported at the same time, or so. I don't think it matters much. I copied the strategy from linux, IIRC.

I don't care about the latter, but the ordering of colors must be corrected. So, someone please work this out and send me a corrected list, and then I will compile and upload a new Debian package of gnumach, with color support.

Because I planned this a while ago, you just need to apply it to gnumach and compile. Then set

export TERM=mach-color

(you already should have it, it is in the newer ncurses packages).

or change the default in /etc/ttys (mach -> mach-color)

To Marcus' first problem, Juli-Manel Merino Vidal pointed him to Linux's 'console_codes(4)' which had a list of all colors and other codes. This looked good to Marcus, who added that now all he had to do was map the colors to the numbers in his patch.


6. New Hurd Packages
26 Jul 2000 (1 post) Subject: "new hurd packages"
People: Marcus Brinkmann

Marcus Brinkmann announced:

the new Hurd packages are currently stuck in the upload queue at

(version number: 20000726)

They will be moved eventually to:

and later enter the distribution.

There was no reply.


7. Avoiding Translator Delays
28 Jul 2000 - 29 Jul 2000 (9 posts) Subject: "ls /dev"
Topics: FS: FTPFS, FS: ext2, POSIX
People: Marcus BrinkmannTomasz WegrzanowskiJuli-Manel Merino Vidal

Juli-Manel Merino Vidal reported that doing an 'ls' on '/dev/index.html' would cause the translators for each device to start up, causing a delay in seeing the directory contents. Marcus Brinkmann explained:

your ls is really an alias, and you are using the -F or -l option, or some other option which calls stat() on each file in the dir.

stat() requires a lot of information from the inode (file size, ownership, permissions, etc) beside the file name. Those informations are provided by the translator, not by the underlying node directly.

So, all translators have to start up. You asked them to do :)

Tomasz Wegrzanowski felt this was not optimal behavior, and pointed out, "I find it very anoying that when I go to /mnt from mc, Hurd tries to mount all my disks, CD and floppy." Marcus replied, "You really have not swallowed the translator concept by heart. :) Only when you realize that there can't be any difference between a translator and a regular file in the POSIX interface, you will see why what the Hurd does is very sensible." Tomasz replied:

This is not translator/not-translator issue.

See examples :

  1. UI app is used to show number (+ size, maybe) of all files in every subdirectory.

    dir a is on ext2fs. dir b is on ftpfs.

    How do you tell user app that it's ok to ckeck subdir a, but not ok to check subdir b ?

  2. UI app is used to file sizes of all files in current directory. (even more common)

    file a is common file, file b is dynamically generated report. (How they happened to be in the same directory ? It might be weird translator, or shadowfs)

  3. How do you tell user app that it's ok to ask for size of a, but not ok to check for size of b ?
  4. dir a is on ftpfs. dir b is on the same ftpfs, but cached.
  5. dir a is on ftpfs from machine on different continent. dir b is on ftpfs from machine connected to you by 100 Mbps ethernet.

There must be some way for program to tell this difference. This has nothing to do with ``translatorness'' of the file.

To Tomasz's first item, Marcus replied:

What makes you think it is not okay to check subdir b?

If any clients thinks that ftpfs should not be entered, then by all means make the client configurable to take this into account.

There is no global parameter that can know about all server/user preferences. (What about user written translators, for example?)

And overall, he said, "if you really think that those are important factors, write a translator that is stacked on the root node and filters file request in some configurable manner, providing dummy information for inconvenient nodes. The Hurd translator concept allows this, so you can do it if you think it is a good idea without imposing your view on other people."

There followed a few brief implementation posts.


8. Brief fileutils Breakage Catches Unwary Developers
28 Jul 2000 - 29 Jul 2000 (4 posts) Subject: "WARNING fileutils 4.0x-1 severly broken"
People: Marcus BrinkmannJohn Leuner

Marcus Brinkmann cautioned:

Do NOT install fileutils 4.0x-1 that's in the archive since yesterday.

It is utterly broken. Even the simplest functions like rm, ln return "Function not implemented"

The next day, he replied to himself:

Okay, I uploaded fileutils 4.0x-1.1 today. It is in

and will beinstalled (hopefully!) at about 19:00 CEST in the archive at ( and then be mirrored around the world.

This version works. Older versions work. 4.0x-1 is the only one which doesn't work.

John Leuner got bitten by this, having upgraded just in that window of breakage. He asked how to fix the system while working around the problems. He asked, "Will this even be possible without a working ls, rm etc?" Marcus suggested rebooting to Linux, downloading the nonbroken packages, and installing them with Linux's own tools into the directories they needed to go.


9. Hurd Docs In Translation
31 Jul 2000 - 5 Aug 2000 (23 posts) Subject: "Hurd how to, french translation."
People: Denis BodorJuli-Manel Merino VidalTomasz WegrzanowskiKalle Olavi NiemitaloRoland McGrathMatthew VernonThierry LarondeThomas BushnellMarcus Brinkmann

Someone asked Matthew Vernon privately if anyone was translating "The Easy Guide" into French, and Matthew replied to the list, saying not that he was aware of. Denis Bodor replied:

I had translated this document some time ago. But it should be updated. You can view it on

I work currently on the translation and the creation of other useful French documentations.

You can contact me directly at

Stephane Camberlin replied with another translation, at, and offered to help translate other useful documentation.

Under the Subject: Hurd how to, spanish translation. () , Juli-Manel Merino Vidal offered to translate the "Easy Guide" into Spanish, and asked for information on the original sources (texinfo, latex, etc). Matthew replied that it was just in HTML. Later, under the Subject: Spanish documentation () , Juli-Manel gave a pointer to his translation ( of the Easy Guide. He added that he'd reorganized the paper somewhat Roland asked for details, and Juli-Manel replied:

The sections of my new document are as follow (and some comments for them):

  1. Legal stuff (GPL) - I think that GDPL could be better...
  2. Introduction
  3. Requeriments for installation - What you need to download.
    1. Requeriments for installation from debian packages
    2. Requeriments for installation from tarball

  4. Create a partition
  5. Cross-installing hurd
    1. Cross-installing from debian packages
    2. Cross-installing from tarball

  6. Partition names of Hurd and Grub - Very similar to the Easy Guide
  7. Installing and setting up Grub - Single user and Multi user options enables from start.
  8. Booting Hurd in single user mode - To finish installation with native-install but without any configuration stuff.
  9. Setting up the sytem.
    1. Network
    2. Home directory - I don't explain nothing about translators, as Easy Guide do, but I refer to a document that should explain it for begginner users (I still have to write it or refer to the debian page).

  10. Booting multiuser
  11. Getting help - Mailing lists
  12. The end

My idea is to put more contents in this document and make a very complete installation guide. What do you think of the structure ?

To the idea of switching from the GPL ( to the GDPL ( , Tomasz Wegrzanowski replied, "GNU ``free'' DL isn't really a free license. For example, you can mark every section ``invariant'', and you end with : ``verbatim copying allowed, but no modifications''" . He supported the GPL, but Kalle Olavi Niemitalo objected, "No, you can't. Invariant Sections are Secondary Sections, so they must contain "nothing that could fall directly within that overall subject."" There was no further discussion on that point.

Under the Subject: German translation? () , Jens Muller asked if the "Easy Guide" was available in German. Someone pointed him to, but added that while it was based on the Easy Guide, it wasn't a real translation.

Under the Subject: Installation manual () , Juli-Manel gave a link to the english translation ( of his spanish translation. There was no reply.

Under the Subject: Documents translation () , in the course of discussion Roland McGrath said, "I think it would be great if the hurddocs project ( ( ) could do a thorough overall infrastructure plan to have translations of all the hurd docs and web pages, i.e. start with the structure to have the whole web tree in parallel in several languages and wait for the individual translation to be filled in. Many of our active contributors (I think the majority, in fact) are native speakers of languages other than English, so it would be a fine and appropriate thing to start seeing Hurd-related content put up first in another language and later translated to English! Though the Hurd's original designers and authors are all Americans, we would be more than happy to see the system acquire a true international flavor as a testament to the universality and democracy of the goals and concepts that inspired the design. Translate away!"

Elsewhere, Timofey Korolyov announced work on Russian translations, and gave a pointer to his page ( .

Elsewhere, Thierry Laronde gave a pointer to Mach papers ( , and asked where Thomas Bushnell's paper "Toward A New Strategy Of Operating System Design" could be found. Marcus Brinkmann gave the link ( .


10. ShadowFS
4 Aug 2000 (2 posts) Subject: "Shadowfs"
People: Juli-Manel Merino VidalMarcus Brinkmann

Juli-Manel Merino Vidal asked, "I've been reading about Hurd and found in several places the "shadow filesystem", but what's that ?" and Marcus Brinkmann replied:

It's a good idea: Shadow several filesystems over each other, so you see the content of all of them in a single directory tree:

fs1: /usr/bin/foo
fs2: /usr/bin/bar


With sufficient options to specify which fs should be "on top" (override other fs) and where to put writes to (only the top level, the level from which the file comes etc), this can be used in manifold ways:

Shadowing an empty partition over a CD-ROM to get a copy-on-write system (useful for live-filesystems). Shadowing software installed in some weird tree (~/opt for example) over the root filesystem to "install" it. Shadowing some user filesystem over the root filesystem and boot in it (to get a subhurd without duplicating the parents files)


However, as with all useful things, it is not implemented yet :)


11. FAT Filesystem
4 Aug 2000 (3 posts) Subject: "FAT fs"
Topics: FS: FAT
People: Marcus BrinkmannJuli-Manel Merino Vidal

Juli-Manel Merino Vidal asked if a FAT filesystem translator were available, and Marcus Brinkmann replied:

I wrote a fatfs which can read FAT12/16/32. It does not support long filenames, and it does not support writing to FAT filesystems yet. I worked on write support, but because FAT is an inodeless fs (all meta info is stored in the directory entry), it is not easy to fit it into the rich semantics of the Hurd libraries without deadlocks. I will continue to work at it later, maybe in a couple of weeks (currently, more pressing things are on my TODO list).

You can find my fatfs at

(first hit with google search "fatfs" :)

I can make available my development version, which can write to files (but not create new directory entries :) and deadlocks pretty fast. It is much more advanced than 0.1, but just doesn't work yet.

To get all features, try mtools (there is a debian package for the Hurd).


12. Five New Pacakges: original-awk, smartlist, wdiff, zip, unzip
5 Aug 2000 (2 posts) Subject: "Uploaded 5 packages."
People: Santiago VilaMarcus Brinkmann

Santiago Vila reported:

Yesterday I have successfully installed the Hurd at home, by using the tarball from Marcus and then upgrading using individual packages.

It works great. Congratulations to everybody!

Lacking modem at home, I've compiled some packages I maintain and uploaded them today:

unzip_5.41-0.1 (non-US/main)

None of them required changes at all, so if there is a list somewhere of packages which compile cleanly, these ones are candidates to be added.

Marcus Brinkmann replied, "Ok, great and thanks. I will add them to the autobuilder if they are in the main (US) distribution. Others are not autobuilded yet. All of them will be added to the web page."


13. Connection Between Debian And Hurd
5 Aug 2000 (2 posts) Subject: "disks-hurd-i386"
People: Santiago VilaMarcus Brinkmann

Santiago Vila asked, "Would be possible to have the "base system" tarballs, the grub boot floopy and the current installation manual in the Debian archives in a directory named disks-hurd-i386?" to which Marcus Brinkmann replied, "I don't know. I think those files would have to be installed manually by the ftp admins. In general I avoid Debian resources because the restrictive Debian admin policies don't allow me to work conveniently (The only exception are the various home directories and the web CVS, at least after I got write permission. *sigh*). This is much better everywhere else. I would dislike to see those files there if I can't update or maintain them if they need attention. The lag imposed by the Debian admins is not acceptable for me."







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.