-Copyright 2000, International Business Machines Corporation and others.
-All Rights Reserved.
+AFS is a distributed file system that enables users to share and
+access all of the files stored in a network of computers as easily as
+they access the files stored on their local machines. The file system is
+called distributed for this exact reason: files can reside on many
+different machines, but are available to users on every machine.
-This software has been released under the terms of the IBM Public
-License. For details, see the LICENSE file in the top-level source
-directory or online at http://www.openafs.org/dl/license10.html
+OpenAFS 1.0 was originally released by IBM under the terms of the
+IBM Public License 1.0 (IPL10). For details on IPL10 see the LICENSE
+file in this directory. The current OpenAFS distribution is licensed
+under a combination of the IPL10 and many other licenses as granted by
+the relevant copyright holders. The LICENSE file in this directory
+contains more details, thought it is not a comprehensive statement.
-Short instructions for sites upgrading from a previous version of AFS:
-% ./configure --enable-transarc-paths
-% make
-% make dest
+See INSTALL for information about building and installing OpenAFS
+on various platforms.
-will create a Transarc-style dest tree in ${SYS_NAME}/dest where
-${SYS_NAME} is the AFS sysname of the system you built for.
-This assumes if you're building for Linux that your kernel source is
-in /usr/src/linux.
+See CODING for developer information and guidelines.
-Otherwise, please read on.
+See NEWS for recent changes to OpenAFS.
-Building OpenAFS on UNIX and LINUX
-----------------------------------
-
-A. Creating the proper directory structure.
-
- Uncompress the source into a directory of your choice. A directory
- in afs space is also valid. In the directory that you uncompressed the
- source in, you will only have an src/ directory.
-
- 1. Pick a system to build for, and note its default AFS sys_name.
- A directory will be automatically created for binaries to be written
- into with this name when you build.
-
- alpha_dux40
- alpha_dux50 (only tested on 5.0A, does not work with 5.1)
- 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_linux22
- i386_linux24
- i386_umlinux22
- i386_umlinux24
- i386_obsd31, i386_obsd32, i386_obsd33, i386_obsd34
- 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)
- 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
-
- 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.
-
- 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 are two modes for directory path handling: "Transarc mode" and "default mode":
- - In Transarc mode, we retain compatibility with Transarc/IBM AFS tools
- by putting client configuaration files in /usr/vice/etc, and server
- files in /usr/afs under the traditional directory layout.
- - In default mode, files are located in standardized locations, usually
- under $(prefix).
- - Client programs, libraries, and related files always go in standard
- directories under $(prefix). This rule covers things that would go
- into $(bindir), $(includedir), $(libdir), $(mandir), and $(sbindir).
- - Other files get located in the following places:
-
- Directory Transarc Mode Default Mode
- ============ ========================= ==============================
- viceetcdir /usr/vice/etc $(sysconfdir)/openafs
- afssrvdir /usr/afs/bin (servers) $(libexecdir)/openafs
- afsconfdir /usr/afs/etc $(sysconfdir)/openafs/server
- afslocaldir /usr/afs/local $(localstatedir)/openafs
- afsdbdir /usr/afs/db $(localstatedir)/openafs/db
- afslogdir /usr/afs/logs $(localstatedir)/openafs/logs
- afsbosconfig $(afslocaldir)/BosConfig $(afsconfdir)/BosConfig
- afsbosserver $(afsbindir)/bosserver $(sbindir)/bosserver
-
-
-B Building
-
- 1. Now, you can build OpenAFS.
-
- % make
-
- 2. Install your build using either "make install" to install
- into the current system (you will need to be root, and files
- will be placed as appropriate for Transarc or standard paths),
- "make install DESTDIR=/some/path" to install into an alternate
- directory tree, or if you configured with --enable-transarc-paths
- make dest to create a complete binary tree in the dest directory
- under the directory named for the sys_name you built for,
- 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.
- To clean up:
- % make clean
-
-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.
-
- Mailing lists have been set up to help; More details can be found
- on the openafs.org site.
-
-D Linux Notes
-
- 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.
-
-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
-
- www.hp.com/dspp -> i want to... -> download software -> operating systems
-
- to get to the same page.
-
-F OpenBSD Notes
-
- 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.
-
- There is a package builder in src/packaging/OpenBSD. "sh buildpkg.sh"
- should make a package for the client. Use pkg_add to install. The
- package will install using transarc-paths, regardless of how you
- configured.
-
- 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 is very new and untested. Do not trust it for
- production 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 client package, but you may be able to modify the OpenBSD
- package builder (see "OpenBSD Notes" above) or install by hand.
-
- There is no server package, but I am told that "make install" will put
- server binaries in /usr/afs.