146 lines
5.8 KiB
Plaintext
146 lines
5.8 KiB
Plaintext
This is an early beta version of an networking file system for MiNT.
|
||
|
||
Copyright 1993, 1994 by Ulrich K<>hn. All rights reserved.
|
||
|
||
|
||
DISCLAIMER:
|
||
===========
|
||
THIS PROGRAM COMES WITH ABSOLUTELY NO WARRANTY, NOT
|
||
EVEN THE IMPLIED WARRANTIES OF MERCHANTIBILITY OR
|
||
FITNESS FOR A PARTICULAR PURPOSE. USE AT YOUR OWN
|
||
RISK.
|
||
|
||
See also the file COPYING for further details.
|
||
|
||
|
||
|
||
EXPLANATION:
|
||
============
|
||
A network file system allows computers to access file that are physically
|
||
located on another computer transparently. Therefor the must be a means of
|
||
data transport between these two computers (see above for the current
|
||
situation). The computer accessing the remote file is called the client,
|
||
the computer being physically the owner of that file is the server.
|
||
On the server, there must be a service program running, that satisfies the
|
||
access requests of the client. This program is called nfs daemon, short
|
||
named nfsd. Because normally the client does not know which files can be
|
||
accessed by it, it must be told so; this is called mounting of a remote
|
||
directory or file and done with a program called mount on the client.
|
||
On the server side there must run another service program, the mount daemon
|
||
called mountd, which serves these mount requests by clients.
|
||
So: without nfsd no file access, without mountd no mounts to access files.
|
||
|
||
Another point is that both server and client can be the same computer!
|
||
Then the daemon programs run on that machine, and also the mount program is
|
||
executed there. This is the easiest way to test this package.
|
||
|
||
|
||
|
||
INSTALLATION:
|
||
=============
|
||
There are a few things to do (better try first server and client on the
|
||
same computer) :
|
||
- (both server and client) make sure to have Kay Roemer's mint-net (a socket
|
||
device) installed correctly. Version >= 0.30
|
||
(eMail: roemer@hera.rbi.informatik.uni-frankfurt.de)
|
||
This includes:
|
||
- make sure to have a directory u:\etc (make a symbolic link to
|
||
your preferred place in mint.cnf)
|
||
- place the following files in u:\etc
|
||
hostname, hosts, networks, services, resolv.conf
|
||
- name your host by writing a name into u:\etc\hostname
|
||
- (client) copy the nfs.xfs (the client filesystem driver) to a place where
|
||
MiNT can find it at boot time (that is \mint or \multitos on your boot drive)
|
||
- (server) install the portmapper daemon from the sun rpc package. Place
|
||
the rpc file into u:\etc
|
||
The portmapper is essential as both the mount daemon and the mount
|
||
command rely on that, but as a temporary hack, they can also work without
|
||
the portmapper.
|
||
- (server) create a file u:\etc\xtab containing all the exported directories
|
||
or files. This file is necessary for both nfsd and mountd (if necessary,
|
||
rename them to nfsd.ttp and mountd.ttp). Please look into the bundled
|
||
example, as no further docs are availbale at the moment. (or look into
|
||
some unix adm doc)
|
||
- reboot
|
||
|
||
|
||
Then start the mountd and the nfsd. Now the system is ready to do some
|
||
nfs mounts. Here an example: (suppose \etc\xtab contains a line
|
||
\f\source ....)
|
||
mount hostname:\f\source \nfs\source
|
||
where hostname is the name of your host. (all operations done while drive
|
||
u: is the current. It should be, as mount treats the ':' as separator
|
||
betweeen hostname and directory name)
|
||
Another point is that if you are trying to run server and client stuff on
|
||
the same machine, the hostname for the mount command must be 'localhost'
|
||
or 'loopback' (there should be such a line in \etc\hosts), as the resolver
|
||
otherwise does not find the correct host (this behavior might depend on the
|
||
version of the mint-net your are using, or on your configuration)
|
||
After this operation you should have a directory source in u:\nfs which has
|
||
all the contents of the original \f\source
|
||
|
||
All this can be done within mint.cnf (or better use a shell script which
|
||
is started from mint.cnf -- look at the example rc.mup and mint.cnf)
|
||
|
||
A new feature of the mountd and nfsd is that they can be started by
|
||
the inetd and terminate themselfes in this case after a short time, so
|
||
there is no need to hold the all the time running in memory. Just install
|
||
the inetd and make sure that the mount and nfs lines in u:\etc\inetd.conf
|
||
are correct, that means they are active and the paths are correct.
|
||
|
||
|
||
|
||
COMPILATION:
|
||
============
|
||
If you want to rebuild the binaries by yourself, you have first to edit
|
||
the paths in the Makevars file, especially the BUILDDIR variable.
|
||
Then simply type make all or make install and wait...
|
||
|
||
|
||
|
||
BUGS:
|
||
=====
|
||
- the nfsd is not able to find a file on a TOSFS (in the state of MiNT
|
||
<= 1.10) if it has only its nfs handle and no internal information. So
|
||
it does not work properly on such a file system, sorry. But it works on
|
||
a patched TOSFS with Julian Reschke's crc patch applied and enabled.
|
||
This patch is included in MiNT 1.12 (get this anyway, as binaries are
|
||
available!), but it seems to be disabled by default (take a look into
|
||
tosfs.c in the MiNT source).
|
||
- no caching of results for nonidempotent requests. So if the anser of a
|
||
file remove request gets lost and the client resends this request, it
|
||
will fail because the file is already gone.
|
||
- no exportfs command, so you have to edit your \etc\xtab yourself and
|
||
cannot use the \etc\exports file.
|
||
- several mount options are still not supported by the XFS, such as
|
||
hard mounts
|
||
|
||
|
||
|
||
MY CONFIGURATION:
|
||
=================
|
||
I am running this system on a TT030 with 4/4 Mb ram, TOS 3.06, a patched
|
||
MiNT 1.12, using both minixfs and the patched tosfs, and it seems to be
|
||
quite stable now, but who knows?
|
||
|
||
|
||
THANKS:
|
||
=======
|
||
Many thanks go to Kay Roemer for his great socket device, which made this
|
||
nfs possible. He also constantly supplied me with critics, suggestions,
|
||
ideas and bug fixes.
|
||
|
||
|
||
CONTACT ADDRESS:
|
||
================
|
||
If you have questions, bug reports, suggestions, etc. please contact
|
||
me under:
|
||
|
||
kuehn@math.uni-muenster.de (Ulrich Kuehn) preferred
|
||
|
||
Ulrich Kuehn, Geibelstr.9, 48161 Muenster, Germany
|
||
|
||
|
||
Have fun
|
||
Ulrich
|