Coda Servers for Windows NT (and Windows 95) ============================================ This release of Coda has alpha support for Coda servers running on NT and Windows 95. The Win32 binaries are constructed using the Cygnus Win32 kit, which effectively translates Unix system calls to Win32 calls. We build the Win32 binaries on Linux workstations using a cross compiler, just for our convenience. At the moment this is not for the faint of heart, since quite a few things have to be done "by hand". Of course we encourage playing and will try to help and fix bugs. NOTE: there is no client support for NT yet. Building -------- 1. Get the cross compiling kit: ftp://ftp.coda.cs.cmu.edu/pub/tools/win32/cygwin-b19_glibc-2.i386.rpm You also need: ftp://ftp.coda.cs.cmu.edu/pub/tools/win32/libdb-nt-2.0.7-1.i386.rpm (These are rpms for RedHat 5.0. Sources are available of course.) 2. Get a tar ball of release 4.6.0 or higher: ftp://ftp.coda.cs.cmu.edu/pub/coda/src 3. Unpack & build ./configure --target=winnt make coda (drink coffee, ignore or better even fix the compiler warnings) Native building should be possible; you'll have to make a few changes to configs/coda.m4 and create a new configs/Makeconfig.ntnative file; then run autoconf and get cracking. But don't you dare send me patches with ^M characters made by Windoze machines! Installing ---------- 1. Install into an area for NT binaries on your Linux box still (drink coffee, ignore or better even fix the compiler warnings) Put the binaries in a suitable place using: make BINDIR=TARGET/bin SBINDIR=TARGET/bin server-install 2 get samba running on that RH machine and export the build area for Coda. 3 get the Cygwin kit from http://www.cygnus.com/misc/gnu-win32/ - install this on the NT machine, for example in C:\Cygnus - get a patch to "select" and replace C:\Cygnus\B19\H-i386-cygwin32\bin\cygwinb19.dll with the one from: ftp://ftp.coda.cs.cmu.edu/pub/coda/support/nt-patches - get bash going (its in the Cygwin package). - organise your mountpoints for Cywin. Find a large directory say C:\coda that can serve as your "Unix" root on NT and type mount -b //C/coda / The -b, for binary mounting is vital. mkdir /bin /vice /rvm /vicepa We need /bin/sh in several places. cp //C/Cygnus/B19/H-i386-cygwin32/bin/bash /bin/sh export PATH=/bin:$PATH 4 install your Coda stuff. Suppose the coda-4.5.1 area is a mapped drive on the NT machine with drive letter H: In bash: cd //H/ Copy all the .exe files you built above to /bin Configuring ----------- If all is well you just need to run /bin/vice-setup Choose /rvm/log and /rvm/data as the log and data file. I recommend starting small with 2MB log and 20MB data. When this script completes startserver should bring up the server. However, it may very well not do this. Now create a volume: You are ready to attach a client: On a Linux box for example install Coda client software: venus-setup nt-server.domain.org 10000 venus & And play around. Credits: -------- Coda was ported to NT by Peter Braam with generous help from Jay Kistler (who debugged RVM problems as well as some binding problems) and Michael Callahan who was a great source of inspiration and hacking friend throughout. Coda has evolved over a long time and lots of people have made contributions. See the CREDITS file in the top directory. Strategy: --------- The Coda filesystem is a large Unix application. Our porting strategy is to use the Cygwin kit to port it to Windows NT. For Windows 95 this approach leads to a working server but not client (see README.win95).