Hurd Traffic #29 For 29 Dec 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 35 posts in 100K.

There were 19 different contributors. 7 posted more than once. 6 posted last week too.

The top posters of the week were:

1. 'df' Under The Hurd

17 Dec 1999 - 22 Dec 1999 (9 posts) Archive Link: "Why df does not work"

Topics: FS: ext2

People: Marcus BrinkmannChris LingardBill White

Chris Lingard decided to find out why 'df' kept giving "cannot read table of mounted filesystems" errors. Using gdb, he found that 'df' attempted to read /etc/mtab, which was empty in the Hurd. He understood from a comment in daemon/ChangeLog, that /etc/mtab's existence was required by 'mke2fs', even though the file was empty, but he pointed out that 'df' needed either that file, or some other mechanism, to read which partitions were mounted. He suggested the problem boil down to a Hurd bug.

Marcus Brinkmann replied that the coment in daemon/ChangeLog was obsolete, /and etc/mtab should not exist at all. He said he'd remove the comment, and suggested naming the filesystem on the 'df' command line, as in '/debian-hurd/df_/index.html'. He added that this was in the FAQ, and said, "it is more a feature than a bug. The Hurd is a multiserver OS, and there is no central authority for mounted filesystems. What we could do is to write a database server where filesystems can register themselves if they want."

Chris replied that Marcus had told him about '/debian-hurd/df_/index.html' before, but he felt the error was annoying, and wanted to get rid of it. He added that /etc/mtab was important for administrators of large Hurd networks, who would need some way of knowing which partitions to back up, copy, or update.

Marcus welcomed Chris to hack away on 'df', 'mke2fs', and whatever else, and report back to the list; and added that sysadmins should know their partitions. Chris did some tests, running 'mke2fs' on both mounted and unmounted partitions. Running 'mke2fs' on an unmounted partition resulted in a partition that seemed to work, but would not mount under Linux even though fdisk showed it as a native Linux partition.

Running 'mke2fs' on a mounted partition under the Hurd, would actually work, but would damage the running translator, so it would give the error, "Unknown code P2 while determining whether /dev/hd1s2 is mounted". He added, "once in this state, the partition cannot be un-settransed. It is permanently busy. If the mounted partition is well populated with files it also messes up Linux. You have to put in the su pass word in during Linux boot, fsck cannot fix the partition so you have to run mke2fs in single user mode; then reboot."

Marcus replied that it looked like there was more than one problem involved, and he'd try to take a look at it.

Elsewhere, Bill White suggested that having a 'df' command at all was superflous under the Hurd. He pointed out, "For Unix, there is a 1-1 mapping between nodes in the file system and disk partitions. You use df to tell you how full the disk partion which holds a file system is. With the Hurd there is no such simple mapping. A node in the file system may correspond to no disk space at all ever. Asking what the df line for this file would be would be like asking what the df line for the /proc file system would be for Linux." He suggested, "Perhaps the protocol for translators could be extended with an operation which delivered how much resource was possible and how much was available. The interpretation of the resource would be up to the df program itself. For the ext2 file system it would be space. For an ethernet interface, it might be channel capacity."

2. Installation Docs

19 Dec 1999 - 20 Dec 1999 (4 posts) Archive Link: "Hurd page?"

People: Juli-Manel Merino VidalM.C. VernonMarcus Brinkmann

Juli-Manel Merino Vidal wanted to re-install the Hurd, but found that the hurd link on http://www.debian.org/ports appeared broken. Marcus Brinkmann replied that http://www.debian.org/ports/hurd worked for him, and M.C. Vernon suggested http://www.pick.ucam.org/~mcv21/hurd.html.

3. New Newbie Guide

20 Dec 1999 - 22 Dec 1999 (6 posts) Archive Link: "Basic Newbie guides"

People: Marcus Brinkmann

Someone posted a link to basic guides to Debian Hurd (http://gnuhurdguides.tripod.com) . Marcus Brinkmann replied that he loved the page, but didn't like the advertising window that popped up as well. Elsewhere, under the Subject: Newbie Hurd Guides New site (http://www.debian.org/Lists-Archives/debian-hurd-9912/msg00142.html) , the original poster gave a link to an ad-free site at http://www.crosswinds.net/~gnuhurd.

4. User Mode Mach

21 Dec 1999 - 26 Dec 1999 (7 posts) Archive Link: "User Mode Mach?"

Topics: Emulators: VMWare, FS: NFS

People: David MadoreChristopher BrowneAdam Sampson

Glenn Chambers asked if there was any possibility of a user-mode Mach, similar to the user-mode Linux kernel (http://www.mv.com/ipusers/karaya/uml/uml.html) . David Madore replied:

If you are referring to running Mach as a user process under Mach, then indeed it is possible?; more than that, it is essentially trivial, because Mach was designed so as to make it easy (see page 26 of ``Mach 3 Kernel Principles'', Keith Loepere, OSF&CMU: ``As mentioned [earlier], a thread that executes a system call instruction can have that system call redirected back into user space. This is accomplished by setting an emulation routine address[...].''). This is a capacity for reflexivity, and this is what User-Land Linux emulates by using strace (which lets you catch Unix system calls before they are sent to the kernel).

It is also possible to virtualize the Hurd under the Hurd. See section 3.2.3 (``Recursive Bootstrap'') of the GNU Hurd Reference Manual: ``The most appealing use of the serverboot program is to start a set of core Hurd servers while another Hurd is allready running.'' However, the Hurd's virtualization capacities are much more considerable, since not only can the entire Hurd be reflected under the Hurd, but each individual server can, too. In fact, this is the very point of the Hurd, and Mach's reflective capacities are what makes this possible.

It is also possible to run Linux as a user-land task under Mach. That is what MkLinux is.

However, what you're interested in, I suppose, is the possibility of running Mach as a user process under Linux. I do not think this is possible (without considerable efforts, involving a major rewrite of Linux, or else using some dirty tricks like emulating the entire machine, ? la VMWare). Indeed, Linux, for all its goods, is basically a Unix kernel, and so does not have all the RPC capabilities and fine-grained security that a microkernel such as Mach has (disclaimer: I don't know anything of what I'm talking about), and this is the sort of things you must have in kernel land, you cannot just emulate it from user land. If we could, we wouldn't bother, we would just make the Hurd run atop Linux rather than try to have the Hurd running atop a Mach which is running atop Linux.

I don't know how profound changes would need to be made to the Linux kernel to add to it the functionalities to make the Hurd run atop it. I shudder at the thought of having the large Hurd servers run atop a megalolothic kernel like Linux, but this would be a fun idea, certainly.

Adam Sampson asked if it would be possible to simultaneously run both Linux and the Hurd on top of gnumach; he felt it would be a very useful thing, though he saw some obvious difficulties (how to share devices, for example).

Christopher Browne replied:

The "obvious" difficulty shouldn't be *too* hard to resolve, so long as devices remain with clear "owners."

5. No More /proc In The Hurd

22 Dec 1999 (2 posts) Archive Link: "base-files at long last"

People: Thomas BushnellMarcus Brinkmann

Thomas Bushnell announced, "Version 13 of base-files, now on it's trek into the source archives, says it will not have /proc on GNU/Hurd systems. Finally. ;-)" Marcus Brinkmann replied, "Unfortunately, it has a stupid bug. But version 14 will work and uploaded (for the Hurd) really soon ;)"

 

 

 

 

 

 

Sharon And Joy
 

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.