DEVEL15-linux-nfstrans-updates-20080630
[openafs.git] / README
diff --git a/README b/README
index c3bf710..862de41 100644 (file)
--- a/README
+++ b/README
@@ -32,47 +32,64 @@ A. Creating the proper directory structure.
 
       alpha_dux40
       alpha_dux50 (only tested on 5.0A, does not work with 5.1)
-      i386_fbsd42, i386_fbsd43, i386_fbsd44, i386_fbsd45,
-             i386_fbsd46 (gmake is required to build for FreeBSD)
-      i386_linux22
-      i386_linux24 
+      i386_fbsd_42, i386_fbsd_43, i386_fbsd_44, i386_fbsd_45,
+         i386_fbsd_46, i386_fbsd_47, i386_fbsd_50, i386_fbsd_51,
+         i386_fbsd_52, i386_fbsd_53, i386_fbsd_60, i386_fbsd_61
+         (client does not work)
+      i386_linux22, i386_linux24, i386_linux26
+      i386_umlinux22, i386_umlinux24
+      i386_obsd31, i386_obsd32, i386_obsd33, i386_obsd34, i386_obsd35,
+         i386_obsd36, i386_obsd37, i386_obsd38, i386_obsd39
       rs_aix42
       sgi_65 (file server not tested)
       sun4_413 (No client support, no fileserver support, db servers only)
-      sun4x_56, sun4x_57, sun4x_58, sun4x_59 (logging UFS not supported 
-             for mixed-use partitions containing client cache)
-      ppc_darwin_13, ppc_darwin_14, ppc_darwin_60 (file server not tested)
-      ppc_linux22
-      ppc_linux24
-      alpha_linux22 
-      alpha_linux24 
-      ia64_linux24
-      sparc_linux22
-      sparc_linux24
-      sparc64_linux22
-      sparc64_linux24
-      hp_ux110 (See notes below for information on getting missing header)
+      sun4x_56, sun4x_57, sun4x_58, sun4x_59, sun4x_510,
+      sunx86_57, sunx86_58, sunx86_59, sunx86_510 (logging UFS not supported 
+         for mixed-use partitions containing client cache)
+      ppc_darwin_70
+      ppc_linux22, ppc_linux24
+      alpha_linux22, alpha_linux24 
+      ia64_linux24, ia64_linux26
+      sparc_linux22, sparc_linux24
+      sparc64_linux22, sparc64_linux24
+      hp_ux11i, hp_ux110 (See notes below for information on getting 
+         missing header)
       hp_ux102 (Client port possible, but db servers and utilities work)
 
    2. Using configure in the top level directory, configure for your
       AFS system type, providing the necessary flags:
       % ./configure --with-afs-sysname=sun4x_58 --enable-transarc-paths
 
-      For Linux systems you need also provide the path in which your
-      kernel headers for your configured kernel can be found. This should
-      be the path of the directory containing a child directory named
-      "include". So if your version file was 
-      /usr/src/linux/include/linux/version.h you would invoke:
-      % ./configure --with-afs-sysname=i386_linux24 --with-linux-kernel-headers=/usr/src/linux
+      If you do not have the "configure" script you can re-create it by
+      running regen.sh.  You will need autoconf to do this.
 
-      Currently you can build for only one Linux kernel at a time,
-      and the version is extracted from the kernel headers in the root
-      you specify.
+      For some systems you need also provide the path in which your kernel
+      headers for your configured kernel can be found.  See the
+      system-specific Notes sections below for details.
 
-      Be prepared to provide the switches --enable-obsolete and
-      --enable-insecure if you require the use of any bundled but obsolete
-      or insecure software included with OpenAFS. See README.obsolete and
-      README.insecure for more details.
+      There is an option to control whether or not binaries are stripped
+      of their symbol table information.  All binaries, except for the
+      'fileserver' and 'volserver' executables, are stripped by default.
+
+      To prevent stripping, specify the '--disable-strip-binaries' option on
+      the ./configure command line.
+
+      This option works alongside the existing --enable-debug option to
+      control how binaries are produced.  When --enable-debug is specified,
+      binaries will not be stripped.  This behavior can be modified by
+      using different combinations of --enable-debug and --enable (or
+      --disable)-strip-binaries.  One can, for example, compile binaries for
+      debug and strip them anyway.  Alternatively, one can compile without
+      debug and force the binaries to not be stripped.  Note that these
+      combinations are not necessarily useful.
+
+      If neither of these options is specified, the default will be to build
+      non-debug binaries that are stripped (with the exceptions noted above,
+      which are never stripped at present).  Specifying --enable-debug also
+      turns on --disable-strip-binaries.  These are the most useful settings.
+
+      The two binaries noted above, 'fileserver' and 'volserver' will never
+      be stripped, regardless of any options given to configure.
 
   There are two modes for directory path handling: "Transarc mode" and "default mode":
   - In Transarc mode, we retain compatibility with Transarc/IBM AFS tools
@@ -97,6 +114,13 @@ A. Creating the proper directory structure.
     afsbosserver  $(afsbindir)/bosserver     $(sbindir)/bosserver
 
 
+    The Demand Attach Fileserver (DAFS), is built by providing the
+    --enable_demand_attach_fs argument to configure.  Note that the
+    bosserver must be built with DAFS in order to be able to create
+    the dafs instance, which will be used in place of the fs instance.  In
+    addition, the fileserver, volserver, salvager, salvage, and salvageserver
+    binaries must be built for DAFS.
+
 B  Building
 
    1. Now, you can build OpenAFS. 
@@ -113,22 +137,12 @@ B  Building
       e.g. sun4x_57/dest or i386_linux22/dest 
 
    2. As appropriate you can clean up or, if you're using Linux, build for
-      another kernel version:
-      a. To clean up:
+      another kernel version.
+      To clean up:
          % make clean
 
-      b. To build for another Linux kernel version:
-         the system type defined in step A1.
-         % ./configure --with-afs-sysname=i386_linux22 --with-linux-kernel-headers=/usr/src/linux-2.2.19-i686
-         % make 
-
-         Your dest tree will now include an additional kernel module for your
-         additional kernel headers. Be aware that if the kernel version string
-         which UTS_RELEASE is defined to in include/linux/version.h matches
-         the last kernel you built for, the previous kernel module will be 
-         overwritten.
-
 C  Problems
+
    If you have a problem building this source, you may want to visit
    http://www.openafs.org/ to see if any problems have been reported 
    or to find out how to get more help.
@@ -136,7 +150,32 @@ C  Problems
    Mailing lists have been set up to help; More details can be found
    on the openafs.org site.
 
-D Notes
+D  Linux Notes
+
+   For Linux systems you need also provide the path in which your
+   kernel headers for your configured kernel can be found. This should
+   be the path of the directory containing a child directory named
+   "include". So if your version file was 
+   /usr/src/linux/include/linux/version.h you would invoke:
+   % ./configure --with-afs-sysname=i386_linux24 --with-linux-kernel-headers=/usr/src/linux
+
+   Currently you can build for only one Linux kernel at a time,
+   and the version is extracted from the kernel headers in the root
+   you specify.
+
+   To build for another Linux kernel version:
+   the system type defined in step A1.
+      % ./configure --with-afs-sysname=i386_linux24 --with-linux-kernel-headers=/usr/src/linux-2.2.19-i686
+      % make 
+
+   Your dest tree will now include an additional kernel module for your
+   additional kernel headers. Be aware that if the kernel version string
+   which UTS_RELEASE is defined to in include/linux/version.h matches the
+   last kernel you built for, the previous kernel module will be
+   overwritten.
+
+E  HP-UX 11.0 Notes
+
    HP-UX 11.0 requires a header called vfs_vm.h which HP has provided on their
    web site: http://h21007.www2.hp.com/dspp/tech/tech_TechSoftwareDetailPage_IDX/1,1703,687,00.html
    To navigate down from the top level of the portal, one would do
@@ -144,3 +183,46 @@ D Notes
         www.hp.com/dspp -> i want to... -> download software -> operating systems
 
    to get to the same page. 
+
+F  OpenBSD Notes
+
+   If you need to run regen.sh to make the configure script, you should
+   first install autoconf-2.59, then setenv AUTOCONF_VERSION 2.59.
+
+   You need kernel source installed to build OpenAFS.  Use the
+   --with-bsd-kernel-headers= configure option if your kernel source is not
+   in /usr/src/sys.
+
+   If you want to build src/aklog, add the following options to your
+   configure.  Note that you shouldn't need aklog because heimdal afslog
+   does (almost) the same thing.
+     --with-krb5 KRB5CFLAGS=-I/usr/include/kerberosV KRB5LIBS=-lcrypto
+
+   src/packaging/OpenBSD/buildpkg.sh will make a tar file for installing the
+   client.  There is no server package, but I am told that "make install"
+   will put server binaries in /usr/afs.
+
+   Your kernel may panic when you try to shutdown after running the OpenAFS
+   client.  To prevent this, change the "dangling vnode" panic in
+   sys/kern/vfs_syscalls.c to a printf and build a new kernel.
+
+   You can't run arla and OpenAFS at the same time.
+
+G  FreeBSD Notes
+
+   The FreeBSD client does not currently work.  The remaining problems
+   mostly have to do with locking, vnode refcounting, and packaging.  The
+   server should work.
+
+   You need kernel source installed to build OpenAFS.  Use the
+   --with-bsd-kernel-headers= configure option if your kernel source is not
+   in /usr/src/sys.
+
+   You also need access to your kernel build directory for the opt_global.h
+   include file.  Use the --with-bsd-kernel-build= configure option if your
+   kernel build is not GENERIC in the standard place.
+
+   There is no server package, but I am told that "make install" will put
+   server binaries in /usr/afs.
+
+   You can't run arla and OpenAFS at the same time.