*BSD News Article 11975


Return to BSD News archive

Received: by minnie.vk1xwt.ampr.org with NNTP
	id AA2306 ; Mon, 01 Mar 93 10:53:14 EST
Newsgroups: comp.os.386bsd.questions
Path: sserve!manuel.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!agate!howland.reston.ans.net!usc!cs.utexas.edu!torn!mcshub!martin
From: martin@innovus.com (Martin Renters)
Subject: Re: NFS diskless ?!
Message-ID: <1993Feb26.173913.14233@mcshub.dcss.mcmaster.ca>
Sender: usenet@mcshub.dcss.mcmaster.ca
Nntp-Posting-Host: foxtrot.innovus.com
Organization: Innovus Inc., Hamilton, Ontario, Canada
References: <1mkv3f$bu3@Germany.EU.net>
Date: Fri, 26 Feb 1993 17:39:13 GMT
Lines: 40

In article <1mkv3f$bu3@Germany.EU.net> bs@Germany.EU.net (Bernard Steiner) writes:
>Hi all,
>quite recently when I was browsing through /usr/include I came across a file
>called nfsdiskless.h.
>
>There were some nice things in there that suggest it might be possible
>to boot 386bsd (off a floppy, probably) and the nmake it use NFS root and
>swap partitions.
>
>Would anyone care to comment on the state of this ? Is this partially
>implemented, does one just need to give some magik option to config to make
>it work, or is that just a stub for future glory ?

It is possible to run 386bsd diskless.   The code as shipped requires a
couple of patches to make it work, but these are fairly minor.  The
actual configuration of the kernel is more of a problem as you need to
install some NFS handles into the nfs_diskless structure.  The way I did
this was to use a lan analyzer to get them.  There is also a getfh()
system call which can be used, but this works only on directories and you'll
also need a handle for your swapfile.

The approach I'm looking into at the moment is based on what Wolfgang
Solfrank has done in his implementation of BSD on the 386 which is to
use a two stage BOOTP process.  The second stage does DNS and NFS handle
lookups and installs them into the kernel as it loads it.

The other possibilty is to modify the /usr/sbin/config program to do
NFS lookups, or write a program that patches a kernel binary after
a compile.

There are a couple of problems with diskless support as it sits right now.
The major one is that the flock() system call is not implemented over
NFS so programs which use flock() (like passwd) don't work.  This could
probably be gotten around via lock files for the moment until flock()
is implmented.

Performance on WD8013 cards is pretty good..

Martin Renters					martin@innovus.com
Innovus Inc.