Coda File System

doc patches for coda

From: Greg Troxel <gdt_at_ir.bbn.com>
Date: Tue, 24 Feb 2004 12:42:16 -0500
New file INSTALL that gives basic info similar to that for lwp etc.
Bring README.BSD 6 years forward, and in particular remove what is now
very bad advice about copying an ancient mount.h from the coda tree
(fortunately it is gone!) into /usr/include/sys


Index: INSTALL
===================================================================
RCS file: INSTALL
diff -N INSTALL
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ b/INSTALL	24 Feb 2004 17:36:18 -0000
@@ -0,0 +1,57 @@
+Basic Installation
+==================
+
+Obtaining the sources
+---------------------
+
+The sources can be downloaded from:
+    ftp://ftp.coda.cs.cmu.edu/pub/coda/src/rpc2-6.x.y.tar.gz
+
+Or obtained from the anonymous CVS repository:
+
+Autoconf must be installed on your system in order to set up the build
+environment.  Autoconf 2.59 is known to work.  (The coda sources,
+unlike lwp, rpc2 and rvm, do not yet use automake and libtool.)
+
+    $ cvs -d':pserver:anonymous_at_coda.cs.cmu.edu:/coda-src' login
+    Password: <return>
+    $ cvs -d':pserver:anonymous_at_coda.cs.cmu.edu:/coda-src' co coda
+    $ cd coda
+    $ ./bootstrap.sh
+
+From here the everything is identical to (but possibly more up-to-date
+than) using the tarball from the Coda ftp site.
+
+Prerequisites
+-------------
+
+GNU Make is required to build coda; 3.80 is known to work.
+
+Perl is required; 5.6.1 is known to work.
+
+GNU readline is used by a large number of programs.  [FIXME: describe what you
+lose without readline, and how much it matters.]
+
+Configuring
+-----------
+
+Run the ./configure script. The default installation path is /usr/local, but
+this can be modified by using the --prefix option.
+
+Building and installing
+-----------------------
+
+# The following assumes that GNU make is gmake.
+
+# Build the entire tree (libraries, client (venus), server (codasrv)
+$ gmake
+
+# Install the libraries and programs needed to run venus.
+$ gmake client-install
+
+# Install the libraries and programs needed to run codasrv
+$ gmake server-install
+
+# Note that one may do both installs with no ill effects, e.g. on a
+# server that is also a client.
+
Index: README.BSD
===================================================================
RCS file: /coda-src/coda/README.BSD,v
retrieving revision 4.3
diff -u -r4.3 README.BSD
--- a/README.BSD	29 Apr 1999 18:28:05 -0000	4.3
+++ b/README.BSD	24 Feb 2004 17:36:18 -0000
@@ -1,52 +1,96 @@
-This file is Readme.bsd current as of 01/09/98.
+$Id:$
 
-To build Coda on a BSD system (NetBSD/FreeBSD), you must first make
-sure that perl, and readline are installed on your machine.
-Secondly, you must copy the sys/mount.h from the Coda kernel sources
-to /usr/include/sys.  This defines MOUNT_CFS in a way appropriate for
-the particular BSD system.
-
-Under NetBSD:
-
-1. To install perl:
-	cd /usr/pkgsrc/languages/perl
-	make install;
-3. To intall readline:
-	get the readline tar.gz
-		ftp to prep.ai.mit.edu
-		cd /u2/emacs
-		get readline-2.1.tar.gz
-		quit ftp.
-	tar xvzf readline-2.1.tar.gz
-	cd readline-2.1
-	./configure
-	make install
-4. cp <foo>/src/sys/sys/mount.h /usr/include/sys
+This file is README.BSD, rewritten by Greg Troxel and current as of
+2004-02-24.
 
+* INTRODUCTION
 
+Most BSDs have support for coda in the kernel already.  There is a
+minor complication of version 2 versus version 3 of the venus/kernel
+interface.  This file is in Coda 6, which uses version 3 in order to
+support multiple realms.
 
-Under FreeBSD:
-
-1. cd /usr/ports/languages/perl
-	make install;
-2. cd /usr/ports/databases/gbdm
-	make install
-3. To intall readline:
-	get the readline tar.gz
-		ftp to prep.ai.mit.edu
-		cd /u2/emacs
-		get readline-2.1.tar.gz
-		quit ftp.
-	tar xvzf readline-2.1.tar.gz
-	cd readline-2.1
-	./configure
-	make install
-4. cp <foo>/src/sys/sys/mount.h /usr/include/sys
+This file contains BSD-specific notes.  Also see INSTALL.
 
-Building Coda:
+* KERNEL SUPPORT
 
-1. unpack the tar ball, say in SRC=/moose/coda-4.?.?
+To use Coda 6, you must have version 3 'pseudo-device vcoda' (only one
+needed, but people typically put in 4), and 'file-system CODA' in your
+kernel config.  Some systems have version 3, and some require patches.
 
-2. cd $SRC ; mkdir obj ; cd obj $SRC/configure ; make coda
+You must ensure that /dev/cfs0 exists.
+
+** NetBSD
+
+If /dev/cfs0 does not exist (it is not created by default on 1.6.2 or
+-current), run ./MAKEDEV cfs0.
+
+NetBSD-current (as of 2004-01) has up-to-date version 3 support.
+Ensure that the two lines above are in the kernel config and simply
+compile coda.
+
+NetBSD 1.6.2 (the entire netbsd-1-6 branch) has version 2 support.
+Apply Phil Nelson's patch at:
+  ftp://ftp.coda.cs.cmu.edu/pub/coda/netbsd/netbsd-1.6-realms.patch
+and build a new kernel
+
+Some bugs were fixed in 2003 in vnode handling in the kernel code.  It
+is recommnded to be running either recent -current or netbsd-1-6.
+Aside from having to apply the patch, -current and netbsd-1-6 are
+equally good from the coda viewpoint.
+
+** FreeBSD
+
+Check /dev/cfs0 and create it if it is missing.
+[XXX Does MAKEDEV support this?  If not, what numbers to use?]
+
+[XXX Explain whether 4.9, 5.2, and -current have realms support.]
+
+Obtain the realms patch for 4.8 or -current from
+  ftp://ftp.coda.cs.cmu.edu/pub/coda/freebsd/
+and build a new kernel.
+
+** OpenBSD
+
+[unknown.  check /dev/cfs0, and see if the kernel support in sys/coda
+is version 2.  If so, apply the netbsd-1-6 patch, which might or might
+not be hard.]
+
+** Darwin
+
+As of this writing, there is not known to be kernel support.  Study
+the vnode interface in Darwin, and adapt either FreeBSD or NetBSD's
+sys/coda to Darwin.  Put the resulting patch on your web site, and
+send email announcing it to codalist_at_coda.cs.cmu.edu
+
+** BSDI
+
+[unknown]
+
+* PREREQUISITES
+
+** ALL SYSTEMS
+
+Ensure that GNU make, autoconf, perl, and GNU readline are installed.
+Use pkgsrc (NetBSD) or ports (FreeBSD/OpenBSD), and refer to your OS's
+documentation for help - there is nothing coda-specific about
+installing these packages.
+
+** PKGSRC (NetBSD and others):
+
+When configuring, pass LDFLAGS and CFLAGS so that programs in /usr/pkg
+(namely readline) will be found.  The following may be helpful:
+
+#!/bin/sh
+for i in lwp rpc2 rvm coda; do
+  echo "BUILDING $i" && \
+  (cd $i && \
+  ./bootstrap.sh && \
+  rm -f config.cache && \
+  LDFLAGS="-L/usr/pkg/lib -R/usr/pkg/lib" CFLAGS="-I/usr/pkg/include" CXXFLAGS="-I/usr/pkg/include" ./configure --prefix=/usr/local/coda && \
+  gmake -k clean && 
+  gmake -k &&
+  gmake install)
+done
+(cd coda && gmake -k client-install server-install)
 
-3. to install: cd $SRC/obj 
Received on 2004-02-24 12:44:28