[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: hurd does NOT need /hurd



On Mon, May 20, 2002 at 01:56:05AM +0200, Marcus Brinkmann wrote:
> > 1) is /hurd versioned?  Or is /hurd a 'special' filesystem(kinda like devfs
> >    for linux), that lists the available services that have been compiled into
> >    the kernel?
> Have you read my mail in response to Joey Hess?  I don't know what you
> discussed on IRC, but /hurd is a directory.  It contains programs.  You
> could also ask if /bin is versioned.

Using an analogy to Linux, it's not so much that it contains programs (in
the /usr/bin sense), it's more that it contains "filesystem definitions".
That those happen to be programs is interesting, but not particularly
important. So, where you'd type:

	mount -t msdos /dev/hda3 /mnt # in Linux

you type

	settrans -a /mnt /hurd/msdos /dev/hda3 # in Hurd

(assume there's a "/dev" translator setup if you have to)

"/hurd" isn't needed simply as somewhere to put these translators,
it's needed as a namespace to reference them.

The only alternative that I can see, would be having settrans and kin
have a default path to use (either a colon-separated $TRANSPATH, or
a single directory configurable at compile-time), in which case /hurd
could be moved under /usr/lib/fs-translators or similar (and the settrans
command would look more like `settrans -a /mnt msdos /dev/hda3').

> > In the current FHS, there is documentation about /lib/modules.
> Linux modules are not even remotely comparable to Hurd servers.  Linux
> modules are comparable to other binary plugins that are dynamically loaded
> and unloaded at run time by some programs that support plugins.

Sure they are. Hurd servers may have signficant advantages over Linux
modules, but they have the same broad aim. The latter was even partially
inspired by the former, aiui.
 
> /lib/modules is completely wrong.  Hurd servers are neither a library nor
> modules, nor non-executable architecture specific data or anything of that
> sort.

"lib" isn't just for "libraries", it's "object files, libraries, and
internal binaries that are not intended to be executed directly by users
or shell scripts" (well, /usr/lib, anyway). The latter seems a pretty
accurate description, so "/lib/servers" would be a fairly reasonable
place to put it, if you didn't have to type it out every time you wanted
to do a mount.

Anyway, this is all pretty irrelevant. If policy's not meant to be a
stick, then people shouldn't be trying to change however many years of
existing practice in the Hurd just for fun.

Cheers,
aj

-- 
Anthony Towns <aj@humbug.org.au> <http://azure.humbug.org.au/~aj/>
I don't speak for anyone save myself. GPG signed mail preferred.

     ``BAM! Science triumphs again!'' 
                    -- http://www.angryflower.com/vegeta.gif

Attachment: pgpvmiZnKONot.pgp
Description: PGP signature


Reply to: