*BSD News Article 28302


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!munnari.oz.au!yoyo.aarnet.edu.au!news.adelaide.edu.au!news.cs.su.oz.au!harbinger.cc.monash.edu.au!msuinfo!agate!howland.reston.ans.net!pipex!sunic!EU.net!sun4nl!news.nic.surfnet.nl!tuegate.tue.nl!rw7.urc.tue.nl!not-for-mail
From: rcjvdb@rw7.urc.tue.nl (Jan van den Bosch)
Newsgroups: comp.os.386bsd.questions
Subject: NetBSD 0.9 & PC-NFS
Date: 13 Mar 1994 20:19:41 +0100
Organization: Eindhoven University of Technology, The Netherlands
Lines: 70
Distribution: inet
Message-ID: <2lvp0d$j36@rw7.urc.tue.nl>
NNTP-Posting-Host: rw7.urc.tue.nl


I'm using NetBSD 0.9, and would like it to run a PC-NFS
service too. But I didn't succeed so far...I also didn't
find the solution for my prolems in the FAQ.

What I did:

1. kernel rebuilt
  - added an option line to my kernel-configuration
    (GENERICAHA2 now):
    options NFSSERVER 
  then:
  - command 'config GENERICAHA2'
  - changed to the compile directory, command 'make depend' and 'make'
  - copy of the recompiled kernel (netbsd) to /netbsd
  Remark: the option NFSCLIENT was already in the GENERCIAHA file.

2. changed /etc/netstart: (NO to YES)
   nfs_client=YES
   nfs_server=YES

3. changed mountd line in /etc/rc: 
           (for pcnfs it must be mountd -n -->see 'man mountd'!!)
    # if $nfs_server == YES, the machine is setup for being an nfs server
    if [ X${nfs_server} = X"YES" -a -r /etc/exports ]; then
	rm -f /var/db/mountdtab	
    #	echo -n ' mountd';		mountd
    	echo -n ' mountd -n';		mountd -n
    	echo -n ' nfsd';		nfsd -u 0,0,2 -t 0,0
    fi

4. added export directories in /etc/exports: (better to put
   machine names at the end!)
    /usr/local/pcnfs
    /var/spool/pcnfs

5. made both directories , with rw permissions for the PC-user gid/uid.

6. installed the pcnfs daemon software from the PC-NFS version 5.0
   distribution, the 'Server Components' diskette. It was C-source, 
   one part especially for i386 BSD (No problem to compile it).
   I moved the executable (rpc.pcnfsd) to /usr/etc.

7. To start pcnfsd, added a line in rc.local:

   if [ -f /usr/etc/rpc.pcnfsd ]; then
   	/usr/etc/rpc.pcnfsd; echo 'rpc.pcnfsd' >/dev/console
   fi

8. made /etc/pcnfsd.conf (not needed if you have uid's > 100 and < ???):
   uidrange 100-60000

At this moment I thought: after a reboot everything should work!
But it didn't!

On the PC side, I get a login prompt from the pcnfsd. That's OK. 
I also get a listing of the exported directories with 'showmnt server1'. 
(server1 is the inernet name of my NetBSD system).
But when I do:
    net use G: server1:/usr/local/pcnfs
the mountd on server1 ended (everytime) with a coredump!
With gdb I could see it was crashed in the getfh() system call
(Bad adress or so).
With a fprintf() in mountd, I could see the directory name argument
of getfh() was OK (/usr/local/pcnfs), it should return with a file-id.

My question: 
>>>   did anyone allready solve this (NetBSD-) problem?