Coda File System

(no subject)

From: William Van Etten <bill_at_bioteam.net>
Date: Mon, 16 Feb 2004 10:52:55 -0500
I am VERY MUCH interested in having the CODA file-system supported on 
Mac OS X!

As a resilient, secure, shared, WAN, caching file-system, CODA seems 
the perfect fit for my use case (cluster computing for bioinformatics).
Other shared file-systems that are available to the platform (NFS, SMB, 
AFP, AFS) are missing one or more of these key features.
I feel CODA would be additionally and particularly useful to mobile 
clients (laptops, there are lots of Mac OS X laptops out there).
In addition to a straight port of CODA to Mac OS X, I would like to see 
support for Open Directory and Rendezvous added to it.
Imagine the utility of having a cached copy of your HOME directory 
follow you around with "Zero Configuration", and yet take advantage of 
whatever necessary authentication mechanism? Sort of like my own 
personal (or institutional supported) iDisk.

Each Christmas vacation, I make considerable effort to port CODA to Mac 
OS X.
Compiling the binaries and their dependencies on Mac OS X is pretty 
straight forward (gets easier with each release),
but I've never made it all the way through porting the kernel module 
(close a couple of times).

Below are my notes from my most recent attempt on Mac OS X 10.3.? using 
the latest CODA and latest dependencies.
I have kernel extension (module) code that compiles without errors and 
provides the required interface using the FreeBSD CODA kernel module 
and the Mac OS X AFS kernel extension as a templates for the work. Glad 
to share this with anyone that might be interested.


Notes
=====
http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.3.tar.gz

# coda requires lwp, rpc2, and rvm
#	rpc2 requires readline

# build and install readline
wget ftp://ftp.gnu.org/gnu/readline/readline-4.3.tar.gz
tar zxvf readline-4.3.tar.gz
cd readline-4.3
./configure --disable-shared
make
make check
sudo make install

# build and install lwp
wget http://www.coda.cs.cmu.edu/pub/coda/src/lwp-1.10.tar.gz
tar zxvf lwp-1.10.tar.gz
cd lwp-1.10
# remove traditional-cpp from CPPFLAGS within configure
# like:
case "$build" in
     powerpc-apple-darwin*)
         CPPFLAGS="$CPPFLAGS"
         ;;
    esac
./configure
make
make check
sudo make install

# build and install rvm
wget http://www.coda.cs.cmu.edu/pub/coda/src/rvm-1.8.tar.gz
tar zxvf rvm-1.8.tar.gz
cd rvm-1.8
# remove traditional-cpp from CPPFLAGS within configure
# like:
case "$build" in
     powerpc-apple-darwin*)
         CPPFLAGS="$CPPFLAGS"
         ;;
    esac

./configure
make
make check
sudo make install

# build and install rpc2
wget http://www.coda.cs.cmu.edu/pub/coda/src/rpc2-1.20.tar.gz
tar zxvf rpc2-1.20.tar.gz
cd rpc2-1.20
# remove traditional-cpp from CPPFLAGS within configure
# like:
case "$build" in
     powerpc-apple-darwin*)
         CPPFLAGS="$CPPFLAGS"
         ;;
    esac
./configure

# add to config.h
# define socklen_t unsigned int
make
make check
sudo make install

# build and install coda
wget http://www.coda.cs.cmu.edu/pub/coda/src/coda-6.0.3.tar.gz
tar zxvf coda-6.0.3.tar.gz
cd coda-6.0.3
cp -r /usr/share/libtool/config.* configs


./configure --with-rvm=/usr/local --with-lwp=/usr/local 
--with-rpc2=/usr/local
#define T_SRV 33 in ./lib-src/base/coda_getaddrinfo.c or config.h
make
make check
# modify tools/our-install with
if [ $SYS = NetBSD -o $SYS = FreeBSD -o $SYS = OpenBSD -o $SYS = Darwin 
] ; then

sudo make client-install
sudo make server-install
sudo mknod /dev/cfs0 c 93 0

# freebsd coda kernel source
% setenv CVSROOT :pserver:anoncvs_at_anoncvs.FreeBSD.org:/home/ncvs
% cvs login
At the prompt, enter the password ``anoncvs''.
% cvs co sys/coda
% cvs release -d sys/coda
% cvs logout

http://www.coda.cs.cmu.edu/pub/coda/freebsd/freebsd-current-realms.patch

patch -p0 < freebsd-current-realms.patch

rm -rf /dev/cfs0
mknod /dev/cfs0 c 93 0
chmod 666 /dev/cfs0

tar zxvf coda.tar.gz -C /usr/local
chown -R root:wheel /usr/local
sudo venus-setup testserver.coda.cs.cmu.edu 20000

output>>
Creating /usr/coda, mode 755
Creating /usr/coda/spool, mode 755
Creating /usr/coda/venus.cache, mode 700
Creating /usr/coda/etc, mode 700
Creating //coda, mode 755
/usr/local/sbin/venus-setup: line 153: ./MAKEDEV: No such file or 
directory
/etc/services already has new services registered! Good.
/etc/services ready for Coda

sudo venus&


> Greetings from Apple Computer!
>
> I wanted to informally poll this group in an attempt to gauge the 
> amount of
> interest in Coda on OS X and perhaps better understand what potential
> "resources" are available in the open source community to help with any
> porting effort.
>
> While this e-mail should not be interpreted as a commitment by Apple 
> to port,
> adopt, and otherwise support Coda on OS X, there is potential leverage 
> in the
> filesystem mobility space that may require more investigation.
>
> Regards,
>
> Chris

--
William Van Etten, PhD
email: bill_at_bioteam.net
office/FAX: 978-255-1506
mobile: 617-921-3358
iChat: williamvanettenphd_at_mac.com



  • application/pkcs7-signature attachment: smime.p7s
Received on 2004-02-16 12:45:37