[comp.os.minix] NFS service

milne@ICS.UCI.EDU (Alastair Milne) (11/18/89)

   I have only just started looking at this board, so this may be an old
   question.

   I am interested in knowing whether MINIX supports NFS.  Our project has a
   number of DOS micro's running PC/NFS, using as their server(s) UNIX hosts
   belonging to our department.  While this arrangement has served well so
   far, I'd be interested in having a server that could take over when the
   department's machines are temporarily unavailable.  We have a PS/2 model 
   80 with a 70 meg hard disc, which is an obvious candidate (we'd need to get
   a MicroChannel ethernet card for it, but that shouldn't be impossible); but
   obviously it would have to run some OS that actually could provide proper
   service (there is at least one NFS server for DOS that runs on top of
   PC-NFS, but apart from its restricted performance, it prevents an expensive
   and useful machine from doing anything else).  MINIX is an obvious choice;
   but we'd need to know about its NFS abilities.

   Thanks for any help,

   Alastair Milne,
   U.C. Irvine

jca@pnet01.cts.com (John C. Archambeau) (11/19/89)

milne@ICS.UCI.EDU (Alastair Milne) writes:
>
>   I have only just started looking at this board, so this may be an old
>   question.
>
>   I am interested in knowing whether MINIX supports NFS.  Our project has a
>   number of DOS micro's running PC/NFS, using as their server(s) UNIX hosts
>   belonging to our department.  While this arrangement has served well so
>   far, I'd be interested in having a server that could take over when the
>   department's machines are temporarily unavailable.  We have a PS/2 model 
>   80 with a 70 meg hard disc, which is an obvious candidate (we'd need to get
>   a MicroChannel ethernet card for it, but that shouldn't be impossible); but
>   obviously it would have to run some OS that actually could provide proper
>   service (there is at least one NFS server for DOS that runs on top of
>   PC-NFS, but apart from its restricted performance, it prevents an expensive
>   and useful machine from doing anything else).  MINIX is an obvious choice;
>   but we'd need to know about its NFS abilities.

Not even SCO Xenix supports NFS.  SCO claims that there's no way to implement
it easily.  This may be true, but I do know that TCP/IP exists for SCO Xenix
via the Xenix-Net package SCO sells.  My company is about to be authorized
VAR's for SCO and once that happens, I will be raising some hell with SCO why
SCO Xenix does not support NFS.  I haven't seen the NFS developer's kit, but I
do know that one has to have a valid reason to get it from Sun MicroSystems. 
A friend of mine who works for a company that develops and does quality
control for networking boards can get the developer's kit at no charge, I
might be able to get it at no charge since I work for an Apple developer and
Sun VAR.  But I do know that Sun won't sell it to an end user, so don't expect
NFS unless somebody with an interest in Minix who has the pull to get it
decides to implement it.  I know NFS has some heavy copyrights and trademarks
on it.

My apologies to comp.os.minix for bringing up that nasty word 'business', but
this is the bull one will have to deal with if one decides to implement NFS
without some sort of company backing to get the developer's kit for it.
 
I'm pretty sure that if the PC-NFS code will fit in a seperate I&D space, it
will work with some hammering on PC Minix.  But of course, device drivers for
ethernet boards will have to be added.  Oh no!  Not /dev/ie0 and /dev/le0
again!  :)

 /*--------------------------------------------------------------------------*
  * Flames: /dev/null (on my Minix partition)
  *--------------------------------------------------------------------------*
  * ARPA  : crash!pnet01!jca@nosc.mil
  * INET  : jca@pnet01.cts.com
  * UUCP  : {nosc ucsd hplabs!hd-sdd}!crash!pnet01!jca
  *--------------------------------------------------------------------------*
  *         Apple Computer, Inc. is really the Anti-Christ!
  *--------------------------------------------------------------------------*
  * Note  : My opinions are that...mine.  My boss doesn't pay me enough to
  *         speak in the best interests of the company (yet).
  *--------------------------------------------------------------------------*/

thurlow@convex.com (Robert Thurlow) (11/21/89)

jca@pnet01.cts.com (John C. Archambeau) writes:
>Not even SCO Xenix supports NFS.  SCO claims that there's no way to implement
>it easily.  This may be true, but I do know that TCP/IP exists for SCO Xenix
>via the Xenix-Net package SCO sells.

I'm working on NFS right now for Convex.  The big requirement is a
BSD-socket TCP/IP implementation; given that, I'd suspect it to be
do-able, but who knows.  You *have* to have that socket interface,
though, and it has to be honest - the Sun stuff is pretty comfortable
on real BSD in that area :-)

>....  But I do know that Sun won't sell it to an end user, so don't expect
>NFS unless somebody with an interest in Minix who has the pull to get it
>decides to implement it.  I know NFS has some heavy copyrights and trademarks
>on it.

This is only partly right.  While Sun's implementation is copyrighted,
the NFS protocol has been released to the public-domain, and anyone
with patience can write one.  Further, RPC, on which NFS is based, can
be had in the public domain, which removes a lot of the nasty work.
Doing a server is not so bad as I see it, but a client needs the
file-system switch.  Not that I'm about to do either.  I've seen the
Sun code anyway, so I'd probably not be able to do a work-alike without
being extremely careful.

Rob T,
who is not speaking about anything on behalf of Convex Computer Corporation.
--
Rob Thurlow, thurlow@convex.com
"If you're not part of the solution, you're part of the precipitate."

abrams@cs.columbia.edu (Steven Abrams) (11/22/89)

In article <3267@convex.UUCP> thurlow@convex.com (Robert Thurlow) writes:
   I'm working on NFS right now for Convex.  The big requirement is a
   BSD-socket TCP/IP implementation; given that, I'd suspect it to be
   do-able, but who knows.  You *have* to have that socket interface,
   though, and it has to be honest - the Sun stuff is pretty comfortable
   on real BSD in that area :-)

I think it would *excellent* if someone could write a BSD sockets
package for minix, not only for NFS.  Once sockets are there, putting
RPC up is not *That* difficult.

   This is only partly right.  While Sun's implementation is copyrighted,
   the NFS protocol has been released to the public-domain, and anyone
   with patience can write one.

This is totally correct. Their protocol definition is practically
written to be trivially implemented under RPC -- at least for the
server.  The NFS server is a state-less server, so it has no knowledge
of its clients.  It's a fairly easy server to write.

   Further, RPC, on which NFS is based, can
   be had in the public domain, which removes a lot of the nasty work.
   Doing a server is not so bad as I see it, but a client needs the
   file-system switch.  Not that I'm about to do either.

The client would probably have to be hooked into the fs process in
minix.  It would be wonderful to be able to have my minix machine
access the rest of the world via ethernet/NFS to avoid having to
kermit files I pick up over the net down to my machine to do anything
useful.  

I'm currently working on finding the docs to write an esdi driver for
my PS/2 (so I can stop using the bios_wini.c and run in protected
mode), but since I need a project next semester, I may take this one
on.  Anyone interested in discussing it?

~~Steve

--
/*************************************************
 *
 *Steven Abrams             abrams@cs.columbia.edu
 *
 **************************************************/
#include <std/dumquote.h>
#include <std/disclaimer.h>

jca@pnet01.cts.com (John C. Archambeau) (11/23/89)

thurlow@convex.com (Robert Thurlow) writes:
>jca@pnet01.cts.com (John C. Archambeau) writes:
>>Not even SCO Xenix supports NFS.  SCO claims that there's no way to implement
>>it easily.  This may be true, but I do know that TCP/IP exists for SCO Xenix
>>via the Xenix-Net package SCO sells.
>
>I'm working on NFS right now for Convex.  The big requirement is a
>BSD-socket TCP/IP implementation; given that, I'd suspect it to be
>do-able, but who knows.  You *have* to have that socket interface,
>though, and it has to be honest - the Sun stuff is pretty comfortable
>on real BSD in that area :-)
 
I have seen the specs for TCP/IP and they are messy, especially if the
implementation supports multiple ethernet boards.  ISO isn't one to make
standards nice and neatly bundled.  Adding sockets to Minix should be fun to
say the least, getting that reasonably debugged, then adding TCP/IP.  Oh boy,
one should be grey by that time.  :)  But maybe there is a simplier solution.

>>....  But I do know that Sun won't sell it to an end user, so don't expect
>>NFS unless somebody with an interest in Minix who has the pull to get it
>>decides to implement it.  I know NFS has some heavy copyrights and trademarks
>>on it.
>
>This is only partly right.  While Sun's implementation is copyrighted,
>the NFS protocol has been released to the public-domain, and anyone
>with patience can write one.  Further, RPC, on which NFS is based, can
>be had in the public domain, which removes a lot of the nasty work.
>Doing a server is not so bad as I see it, but a client needs the
>file-system switch.  Not that I'm about to do either.  I've seen the
>Sun code anyway, so I'd probably not be able to do a work-alike without
>being extremely careful.
 
The moral to the story is "why reinvent the wheel?"  Unfortunately, all of the
neat implementations (at least the one's I have seen) are owned by some
corporation.  But it would be nice to have a go at it.  Even implementing
telnet or rlogin would be a nice addition and probably pave the way to NFS. 
But the again, we're talking about having Minix make a quantum leap into the
realm of making it more like real Unix rather than an educational tool.  I
don't expect to see Minix NFS (which it will get that far eventually, even if
it takes a decade) to do such things as boot over ethernet (although it's not
beyond the ability of NFS).  

Just where does one look for the public domain specs on NFS and RPC?  I would
like to see them if anything for personal interest.

 /*--------------------------------------------------------------------------*
  * Flames: /dev/null (on my Minix partition)
  *--------------------------------------------------------------------------*
  * ARPA  : crash!pnet01!jca@nosc.mil
  * INET  : jca@pnet01.cts.com
  * UUCP  : {nosc ucsd hplabs!hd-sdd}!crash!pnet01!jca
  *--------------------------------------------------------------------------*
  *         Apple Computer, Inc. is really the Anti-Christ!
  *--------------------------------------------------------------------------*
  * Note  : My opinions are that...mine.  My boss doesn't pay me enough to
  *         speak in the best interests of the company (yet).
  *--------------------------------------------------------------------------*/

al@escom.com (Al Donaldson) (11/24/89)

jca@pnet01.cts.com (John C. Archambeau) writes:
>  thurlow@convex.com (Robert Thurlow) writes:
>  >...  Further, RPC, on which NFS is based, can
>  >be had in the public domain, which removes a lot of the nasty work.
> The moral to the story is "why reinvent the wheel?"  ...

I'm just now starting to read the background papers on Amoeba,
but it seems to me there's been a lot of work done there to provide
the same kind of capability you're asking for, i.e., remote files.
Why not use Amoeba networking *instead of* NFS (see recent postings 
on Suns, etc), or use Amoeba RPC as a base for NFS?   

I apologize if the answer is entirely obvious to others -- if so,
please give me the page reference in "Computer Networks".  :-)

Al Donaldson

"No birds, no bees. No flowers, no trees.  No wonder, november."
	-- Benny Hill

mark@bruce.OZ (Mark Goodwin) (11/24/89)

From article <500@escom.com>, by al@escom.com (Al Donaldson):
> 
> Why not use Amoeba networking *instead of* NFS (see recent postings 
> on Suns, etc), or use Amoeba RPC as a base for NFS?   

Some kind of "NFS like" file client/server application will be developed
here at Monash before next March. Most likely we'll be talking Amoeba
on 386 clones running Minix, Sun3/50's under SunOS3.5 and BSD4.3 vaxen.

It would be far too much effort to port BSD4.3 sockets/TCP/NFS et. al.

----
Mark Goodwin, Programmer @ Monash Uni. Comp. Sci. Australia.

jca@pnet01.cts.com (John C. Archambeau) (11/26/89)

al@escom.com (Al Donaldson) writes:
>jca@pnet01.cts.com (John C. Archambeau) writes:
>>  thurlow@convex.com (Robert Thurlow) writes:
>>  >...  Further, RPC, on which NFS is based, can
>>  >be had in the public domain, which removes a lot of the nasty work.
>> The moral to the story is "why reinvent the wheel?"  ...
>
>I'm just now starting to read the background papers on Amoeba,
>but it seems to me there's been a lot of work done there to provide
>the same kind of capability you're asking for, i.e., remote files.
>Why not use Amoeba networking *instead of* NFS (see recent postings 
>on Suns, etc), or use Amoeba RPC as a base for NFS?   
 
Because of TCP/IP.  Everything out there runs on TCP/IP.  Rather than porting
Amoeba over to every platform that already has TCP/IP available already, why
not implement TCP/IP for Minix?  Doing one job for one OS is a lot simpler
than doing one job for many OS'es.  I'd much rather implement TCP/IP for Minix
rather than implement Amoeba for everybody else.  The reasoning is what is
considered the de facto standard out there.  TCP/IP is the de facto standard
out there for Suns.  Go out and run traffic and you'll see TCP and UDP.  I
don't know what the hell Amoeba uses, but since there are some PD TCP/IP
implementions out there with source for the IBM PC, it should not be that hard
to hammer into Minix unless of course they won't run in a 64K text and data
space.  If this is the case, then I don't expect to see TCP/IP until Minix
386 is out (probably won't be too far off since the price of 386SX
motherboards are about $100 to $200 more than 286 motherboards) and GNU C is
ported over or some masochist implements a large model C compiler for the 286
and modifies Evans' Protect Mode kernel to support large model programs.  Of
course, then there's the problem of which ethernet boards will be supported
and who's going to write the ethernet card driver.  Do we go 3 Com, Western
Digital, or ???

 /*--------------------------------------------------------------------------*
  * Flames: /dev/null (on my Minix partition)
  *--------------------------------------------------------------------------*
  * ARPA  : crash!pnet01!jca@nosc.mil
  * INET  : jca@pnet01.cts.com
  * UUCP  : {nosc ucsd hplabs!hd-sdd}!crash!pnet01!jca
  *--------------------------------------------------------------------------*
  *         Apple Computer, Inc. is really the Anti-Christ!
  *--------------------------------------------------------------------------*
  * Note  : My opinions are that...mine.  My boss doesn't pay me enough to
  *         speak in the best interests of the company (yet).
  *--------------------------------------------------------------------------*/