Hurd Traffic #23 For 10 Nov 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

Mailing List Stats For This Week

We looked at 43 posts in 134K.

There were 20 different contributors. 10 posted more than once. 9 posted last week too.

The top posters of the week were:

 

1. New Tarball Tested
25 Oct 1999 - 2 Nov 1999 (7 posts) Archive Link: "new tarfile"
Topics: Emulators: VMWare
People: Roland McGrathMark KettenisMarcus Brinkmann

Marcus Brinkmann announced that not only was there a new tarfile at http://www.debian.org/~brinkmd/alpha/gnu-19991025.tar.gz, but the German universities have new transatlantic bandwidth, reducing his upload time from 1 hour to 4 minutes. So we can look forward to frequent updates from now on.

Stefan Weil tried out the new tarball and reported on his experiences. At one point, he discovered that booting the Hurd under VMWare would work if he specified 32M ram, but not if he specified 48M or 64M, and only sometimes if he specified 92M. The error he'd get was "bootstrap/default-pager panic: openi 5000". Mark Kettenis replied that Roland McGrath had made some changes recently that would cause better errors to be displayed; he recommended upgrading as soon as Marcus made new Hurd .debs available.

Stefan also noticed a gradual destablizing of the system, forcing periodic reboots. The similarity with Microsoft ended there however, when Mark attributed the problem to bugs in the system rather than intentional features.

Stefan also reported that the environment variable 'OSTYPE' had the value "linux-gnu" instead of something like "hurd". Mark replied that he believed 'OSTYPE' was hardcoded in 'bash' and would require recompiling to fix.

 

2. Installation Recovery Without Linux
26 Oct 1999 - 29 Oct 1999 (6 posts) Archive Link: "It Works!"
People: Roland McGrathMarcus Brinkmann

Kapil Hari Paranjape happily reported success installing the Hurd. He congratulated everyone and offered to help with development. One problem he ran into during the installation process was when 'native-install' crashed. Once this happened, the only way to get things working was by booting back into Linux and running 'e2fsck'. This was because there was no /dev/hd0s[0-9] device on which to run 'e2fsck' under the Hurd. He asked if there was a way to create that node before the Hurd booted, just in case.

Marcus Brinkmann replied that it was not yet possible to create the node prior to boot, and suggested writing a 'settrans' for Linux. Roland McGrath suggested that this would be a straightforward addition to debugfs, and Marcus asked if this should be added to the task list. Roland posted some C code, and added, "Here is a program I whipped up that you can drop into the e2fsprogs-1.17/misc directory and build. This is very rough, but does most of the job and should be enough for someone else to take and clean up to be a usable program, or to submit for inclusion in e2fsprogs. It should be enough to show you how to add the features to debugfs too."

 

3. 'screen' Still Not Working
3 Nov 1999 - 4 Nov 1999 (3 posts) Archive Link: "Screen"
People: Marcus Brinkmann

Kapil H. Paranjape said that since neither X nor console switching was yet available under the Hurd, he had tried to get 'screen' version 3.9.5-2.1 working. Compilation only gave a couple warnings about incompatible formats, which might have been OK, but the binary didn't work, and would hang at startup. He asked if anyone else had had success. Marcus Brinkmann explained that the hang was caused by the 'screen' binary attempting to close 2^32 (4,294,967,296) open file descriptors. He recommended commenting out the relevant loop in the source. Marcus also added that glibc had to be upgraded as well, which was a huge task. He didn't recommend it, but said he'd be doing it himself in the next few days, and that a 'screen' binary would follow shortly.

 

4. Hurd Q/A
28 Oct 1999 - 3 Nov 1999 (8 posts) Archive Link: "Some questions"
Topics: Logo
People: Brent FulghamZsombor GergelyMarcus BrinkmannKalle Olavi Niemitalo

Zsombor Gergely had a number of questions about the Hurd. First, it was his understanding that calling something a "micro" kernel really had nothing to do with its size (he pointed out that the Mach binary was bigger than Linux). He asked for confirmation of this, and asked how this would affect the Hurds applicability in areas such as embedded systems. Brent Fulgham replied:

The current implementation of GNUMach has just about every driver included. This is analogous to a Linux kernel with no modules and every driver built in (much like the default Kernels found in install sets).

If you compile your own GNUmach for your system, you will most likely see a much smaller size. Furthermore, most drivers are based on the Linux device drivers, and have not been abstracted out of the microkernel as the design goal dictates. So, you are looking at an incomplete implementation.

Marcus Brinkmann added that with equivalent drivers compiled in, and both kernels compressed, Linux and Mach were similarly sized. He went on to say that even so, Mach was oversized, and modern microkernels were much more "micro".

In his original post, Zsombor also asked how a Hurd system could ever truly stablize, if users could write their own servers for any tasks. How could other programs interface with these servers without knowing each individual protocol? He asked, "what makes the _whole_ thing coherent?" Marcus replied:

Not much. it the idea that every user can build up his own system on top. So, if you want to operate, start compatible servers. It's after all your decision, much like it is your personal decision if you use one desktop system (like Gnome) or Xlib, Athena etc programs together. Latter don't interoperate well (drag&drop etc). As they run in user space, you can tweak the system to your liking, even as a user.

But there are still some servers that are the base of the Hurd system. Thosee are the auth, proc, init and password server at least. You don need to register your process with the proc server (and it won show up in the output of "ps" if you don do so), but that the only thing that will give you access to the features of the proc server. Same with auth. If you don use auth, your tasks will have little to none privilegdes.

Zsombor also asked in his original post, if it was possible to change his keyboard layout to suit his Hungarian toungue. Marcus said he'd send him the files he'd need to hack on, but added that for a more permanent solution, Kalle Olavi Niemitalo was working on a real console translator that would have localization. Kalle replied:

How would you like localization to work? I'm planning that the translator would require --keymap=FILE on its command line; the FILE would be in the same format as in the console-tools of Linux. The keymap could also be changed via fsysopts.

Should there be a builtin fallback if the FILE is unreadable? (That would be very easy to implement.)

If the FILE doesn't bind all keys, should the fallback keymap be used for the missing ones?

P.S. Nobody has yet suggested a new name for the program. :(

Marcus replied that conforming to the console-tools of Linux for the FILE format was a fine idea; he also suggested using an American layout as the fallback if FILE was unreadable; and regarding what to fall back to if FILE didn't bind all the keys, Marcus said:

In Linux, it will simply change the files in the keymap and if the key was set to something else prior it just leaves it as it is. I am not sure how useful this is. Falling back to the default map makes sense to me.

Maybe you can make this optional (clearing the keymap or setting some builtin default before reading the keymaps file).

Marcus promised to work on a good name.

 

5. New Packages
3 Nov 1999 (1 post) Archive Link: "new packages"
People: Marcus Brinkmann

Marcus Brinkmann announced, "as promised, I uploded inetutils 1.3.2-8 (which was compiled weeks ago, I simply forgotto upload it) and grub 0.5.93, they will hit the archive tomorrow. A few days ago I already uploaded some random crap, at, megahal, a new version of gawk, and, most importanly, man-db. Installation of man-db will show you that set_priority isnot correctly implemented in the glibc version we use. I will update glibc soon, but it might be that this problem is still not fixed. However, although the install aborts, man will work quite well."

There was no reply on the list.

 

6. EROS
4 Nov 1999 - 5 Nov 1999 (2 posts) Archive Link: "I'd like to know your thoughts about EROS"
People: Marcus Brinkmann

This issue came up a little while ago in Kernel Traffic #25, Article 4 (../../kt19990701_25.html#4) , when Eric S. Raymond pitched EROS to Linux kernel developers. This time on debian-hurd, Renaud Hebert gave a link to the EROS microkernel (http://www.eros-os.org) , and pointed out that it had been released under the GPL. He asked what people thought of it. Marcus Brinkmann replied:

EROS is a research project and is not in any usable stage. On the contrary, we are developing a usable OS distribution here.

Unless you have some idea how the use of EROS code could improve the Debian GNU/Hurd distribution, there is little we can say about EROS.

As the Hurd is based on a microkernel, there is a reason to discuss some aspects of microkernels on this list. But in general this is not the appropriate forum for microkernel design, and you will probably not find many people interested in such a discussion here.

 

7. The 'apt' Saga Continues
6 Nov 1999 - 7 Nov 1999 (3 posts) Archive Link: "dpkg, apt broken"
Topics: Apt, FS: FTPFS
People: Marcus Brinkmann

John Goerzen reported that 'dpkg' and 'apt' were both reporting architecture as i386, which was wrong. Marcus Brinkmann pointed out that 'dpkg' was broken by design, since its '--print-architecture' option remained undocumented; he also said that 'apt' had not been ported yet. The 'apt' saga was first covered in Issue #3, Section #6  (8 Jun 1999: Successful Hurd Install; Installing A Bootloader; Mounting A CD; Removing A Translator; ncftp Success; Lists Of Good Packages; apt-get Saga) , where there was a successful compile but unsuccessful run. The question came up again in Issue #10, Section #5  (30 Jul 1999: Longstanding Bug Tracked Down) , where some reasons for being reluctant to port 'apt' were mentioned. Then in Issue #18, Section #2  (26 Sep 1999: apt-get Failure) Marcus promised to port it soon, and finally in Issue #21, Section #6  (22 Oct 1999: httpfs; Porting 'apt') some interesting ideas on a translator-based 'apt' were brought up.

This time, Marcus said, "apt will be fixed by Brent and me. Please hold your breath or browse the apt bug list (search for my name or "archtable")."

 

 

 

 

 

 

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 kernel.org. All pages on this site are copyright their original authors, and distributed under the terms of the GNU General Public License, version 2.0.