mirror of
https://git.openafs.org/openafs.git
synced 2025-01-19 07:20:11 +00:00
d7da1acc31
pull in all documentation from IBM
214 lines
9.2 KiB
HTML
214 lines
9.2 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 4//EN">
|
|
<HTML><HEAD>
|
|
<TITLE>Quick Beginnings</TITLE>
|
|
<!-- Begin Header Records ========================================== -->
|
|
<!-- /tmp/idwt3574/auqbg000.scr converted by idb2h R4.2 (359) ID -->
|
|
<!-- Workbench Version (AIX) on 2 Oct 2000 at 12:25:35 -->
|
|
<META HTTP-EQUIV="updated" CONTENT="Mon, 02 Oct 2000 12:25:35">
|
|
<META HTTP-EQUIV="review" CONTENT="Tue, 02 Oct 2001 12:25:35">
|
|
<META HTTP-EQUIV="expires" CONTENT="Wed, 02 Oct 2002 12:25:35">
|
|
</HEAD><BODY>
|
|
<!-- (C) IBM Corporation 2000. All Rights Reserved -->
|
|
<BODY bgcolor="ffffff">
|
|
<!-- End Header Records ============================================ -->
|
|
<A NAME="Top_Of_Page"></A>
|
|
<H1>Quick Beginnings</H1>
|
|
<HR><P ALIGN="center"> <A HREF="../index.htm"><IMG SRC="../books.gif" BORDER="0" ALT="[Return to Library]"></A> <A HREF="auqbg002.htm#ToC"><IMG SRC="../toc.gif" BORDER="0" ALT="[Contents]"></A> <A HREF="auqbg007.htm"><IMG SRC="../prev.gif" BORDER="0" ALT="[Previous Topic]"></A> <A HREF="#Bot_Of_Page"><IMG SRC="../bot.gif" BORDER="0" ALT="[Bottom of Topic]"></A> <A HREF="auqbg009.htm"><IMG SRC="../next.gif" BORDER="0" ALT="[Next Topic]"></A> <A HREF="auqbg009.htm#HDRINDEX"><IMG SRC="../index.gif" BORDER="0" ALT="[Index]"></A> <P>
|
|
<P>
|
|
<HR><H1><A NAME="HDRWQ163" HREF="auqbg002.htm#ToC_153">Appendix A. Building AFS from Source Code</A></H1>
|
|
<P>This chapter describes how to build AFS from source
|
|
code.
|
|
<A NAME="IDX3090"></A>
|
|
<A NAME="IDX3091"></A>
|
|
<A NAME="IDX3092"></A>
|
|
<A NAME="IDX3093"></A>
|
|
<A NAME="IDX3094"></A>
|
|
<HR><H2><A NAME="HDRWQ164" HREF="auqbg002.htm#ToC_154">Loading the Source Files</A></H2>
|
|
<P>Working on an AFS client machine, perform these steps to
|
|
load the AFS source tree from the AFS Source Distribution.
|
|
<OL TYPE=1>
|
|
<A NAME="IDX3095"></A>
|
|
<A NAME="IDX3096"></A>
|
|
<A NAME="IDX3097"></A>
|
|
<A NAME="IDX3098"></A>
|
|
<A NAME="IDX3099"></A>
|
|
<P><LI>Create and mount a volume for housing the AFS source tree. These
|
|
instructions name the volume <B>src.afs</B> and mount it at the
|
|
<B>/afs/</B><VAR>cellname</VAR><B>/afs/src</B> directory.
|
|
<P>Setting the <B>-maxquota</B> argument to <B>0</B> (zero) sets an
|
|
unlimited quota on the volume, which enables you to copy all of the files into
|
|
the volume without exceeding its quota. If you wish, you can set the
|
|
volume's quota to a finite value after you complete the copying
|
|
operation. At that point, use the <B>vos examine</B> command to
|
|
determine how much space the volume is occupying. Then issue the
|
|
<B>fs setquota</B> command to set a quota that is slightly larger.
|
|
<PRE>
|
|
# <B>vos create</B> <<VAR>machine name</VAR>> <<VAR>partition name</VAR>> <B>src.afs -maxquota 0</B>
|
|
|
|
# <B>cd /afs/.</B><VAR>cellname</VAR>
|
|
|
|
# <B>mkdir afs</B>
|
|
|
|
# <B>fs mkmount afs/src src.afs</B>
|
|
|
|
# <B>vos release root.cell</B>
|
|
|
|
# <B>fs checkvolumes</B>
|
|
|
|
</PRE>
|
|
<P><LI>On the local <B>/cdrom</B> directory, mount the CD-ROM that contains
|
|
the AFS source files. For instructions on mounting CD-ROMs (either
|
|
locally or remotely via NFS), consult the operating system
|
|
documentation.
|
|
<A NAME="IDX3100"></A>
|
|
<A NAME="IDX3101"></A>
|
|
<P><LI>Copy the source files from the CD-ROM into the newly created
|
|
volume.
|
|
<PRE>
|
|
# <B>cd /cdrom/src</B>
|
|
|
|
# <B>cp -rp * /afs/.</B><VAR>cellname</VAR>/<B>afs/src</B>
|
|
|
|
</PRE>
|
|
</OL>
|
|
<A NAME="IDX3102"></A>
|
|
<A NAME="IDX3103"></A>
|
|
<A NAME="IDX3104"></A>
|
|
<HR><H2><A NAME="HDRWQ165" HREF="auqbg002.htm#ToC_155">Compiling AFS Binaries Using the washtool Program</A></H2>
|
|
<P>The AFS distribution includes the <B>washtool</B>
|
|
program for managing a hierarchy of software development projects. The
|
|
program builds project trees for program editing, compilation, and
|
|
installation.
|
|
<OL TYPE=1>
|
|
<P><LI>Create a subdirectory under the
|
|
<B>/afs/.</B><VAR>cellname</VAR><B>/afs</B> directory for each
|
|
system type for which you will build AFS binaries. Creating and
|
|
mounting a volume for each system type is recommended, but you can also simply
|
|
use the <B>mkdir</B> command. If you create a new volume, grant it
|
|
an unlimited quota to avoid running out of space during the build
|
|
process.
|
|
<PRE>
|
|
# <B>cd /afs/.</B><VAR>cellname</VAR><B>/afs</B>
|
|
</PRE>
|
|
<P>If creating a new volume:
|
|
<PRE>
|
|
# <B>vos create</B> <<VAR>machine name</VAR>> <<VAR>partition name</VAR>> <VAR>sysname</VAR> <B>-maxquota 0</B>
|
|
|
|
# <B>fs mkmount</B> <VAR>sysname</VAR> <VAR>sysname</VAR>
|
|
</PRE>
|
|
<P>If not creating a new volume:
|
|
<PRE>
|
|
# <B>mkdir</B> <VAR>sysname</VAR>
|
|
|
|
</PRE>
|
|
<P><LI>In the directory for each system type, create subdirectories called
|
|
<B>dest</B>, <B>dest/bin</B>, and <B>obj</B>. If you plan
|
|
to use the <I>@sys</I> variable in pathnames that refer to these
|
|
directories, then you must use the conventional system names listed in the
|
|
<I>IBM AFS Release Notes</I>.
|
|
<PRE>
|
|
# <B>cd</B> <VAR>sysname</VAR>
|
|
|
|
# <B>mkdir dest</B>
|
|
|
|
# <B>mkdir dest/bin</B>
|
|
|
|
# <B>mkdir obj</B>
|
|
|
|
</PRE>
|
|
<P><LI>Create the indicated directories and symbolic links in the
|
|
<B>/afs/.</B><VAR>cellname</VAR><B>/afs</B> directory.
|
|
<PRE>
|
|
# <B>cd /afs/.</B><VAR>cellname</VAR><B>/afs</B>
|
|
|
|
# <B>ln -s @sys/dest dest</B>
|
|
|
|
# <B>ln -s @sys/obj obj</B>
|
|
|
|
# <B>ln -s . PARENT</B>
|
|
|
|
# <B>ln -s src/Makefile Makefile</B>
|
|
</PRE>
|
|
<P>The following is an example directory listing for the
|
|
<B>/afs/.</B><VAR>cellname</VAR><B>/afs</B> directory after
|
|
completing the preceding steps. It includes two example system
|
|
types.
|
|
<PRE>
|
|
lrwxr-xr-x admin 12 Jun 18 11:26 Makefile->src/Makefile
|
|
lrwxr-xr-x admin 1 Jun 18 11:26 PARENT -> .
|
|
lrwxr-xr-x admin 9 Jun 18 11:25 dest -> @sys/dest
|
|
lrwxr-xr-x admin 8 Jun 18 11:25 obj -> @sys/obj
|
|
drwxrwxrwx admin 4096 Jun 18 11:24 rcs
|
|
drwxrwxrwx admin 2048 Jun 18 11:27 rs_aix42
|
|
drwxrwxrwx admin 2048 Jun 18 11:10 src
|
|
drwxrwxrwx admin 2048 Jun 18 11:27 sun4x_56
|
|
|
|
</PRE>
|
|
<P><LI><B>(Optional)</B> By default, the build procedure writes its results
|
|
into a destination directory for each system type called
|
|
<B>/afs/.</B><VAR>cellname</VAR><B>/afs/</B><VAR>sysname</VAR><B>/dest</B>.
|
|
To write the results to a different destination directory, create a link from
|
|
the <B>dest</B> directory to it.
|
|
<PRE>
|
|
# <B>cd /afs/.</B><VAR>cellname</VAR><B>/afs/</B><VAR>sysname</VAR>
|
|
|
|
# <B>ln -s</B> <VAR>full_path_of_alternate_directory</VAR> <B>dest</B>
|
|
|
|
</PRE>
|
|
<A NAME="IDX3105"></A>
|
|
<A NAME="IDX3106"></A>
|
|
<P><LI>For each system type you plan to build, copy the binary for the
|
|
<B>washtool</B> program to the directory specified in the AFS
|
|
<B>Makefile</B>, which is
|
|
<B>/afs/</B><VAR>cellname</VAR><B>/afs/</B><VAR>sysname</VAR><B>/dest/bin</B>.
|
|
If you prefer to store the program in a different directory, you can use the
|
|
WASHTOOL variable on the <B>make</B> command line as described in Step <A HREF="#LIWQ166">6</A>.
|
|
<P>If there is a volume that houses the AFS binaries for each system type (as
|
|
recommended), the conventional location for the <B>washtool</B> binary is
|
|
the
|
|
<B>/afs/</B><VAR>cellname</VAR><B>/</B><VAR>sysname</VAR><B>/usr/afsws/bin</B>
|
|
directory. Use the following instruction to copy it.
|
|
<PRE>
|
|
# <B>cd /afs/</B><VAR>cellname</VAR><B>/</B><VAR>sysname</VAR><B>/usr/afsws/bin</B>
|
|
|
|
# <B>cp washtool</B> <B>/afs/.</B><VAR>cellname</VAR><B>/afs/</B><VAR>sysname</VAR><B>/dest/bin</B>
|
|
</PRE>
|
|
<P>Otherwise, mount the (binary) AFS CD-ROM for this system type on the local
|
|
<B>/cdrom</B> directory, and copy the <B>washtool</B> binary directly
|
|
from it.
|
|
<PRE>
|
|
# <B>cd /cdrom/</B><VAR>sysname</VAR><B>/bin</B>
|
|
|
|
# <B>cp washtool</B> <B>/afs/.</B><VAR>cellname</VAR><B>/afs/</B><VAR>sysname</VAR><B>/dest/bin</B>
|
|
|
|
</PRE>
|
|
<A NAME="IDX3107"></A>
|
|
<A NAME="IDX3108"></A>
|
|
<A NAME="IDX3109"></A>
|
|
<A NAME="IDX3110"></A>
|
|
<A NAME="IDX3111"></A>
|
|
<A NAME="IDX3112"></A>
|
|
<P><LI><A NAME="LIWQ166"></A>Working in the
|
|
<B>/afs/.</B><VAR>cellname</VAR><B>/afs</B> directory on a
|
|
machine of the system type for which you are building AFS, issue the <B>make
|
|
install</B> command. Set the SYS_NAME variable to the appropriate
|
|
system type name.
|
|
<P>If the <B>washtool</B> binary is not in the conventional directory
|
|
(<B>/afs/</B><VAR>cellname</VAR><B>/afs/</B><VAR>sysname</VAR><B>/dest/bin</B>),
|
|
set the WASHTOOL variable to the alternate full pathname of the binary.
|
|
<PRE>
|
|
# <B>cd /afs/.</B><VAR>cellname</VAR><B>/afs</B>
|
|
|
|
# <B>make SYS_NAME=</B><VAR>sysname</VAR> [<B>WASHTOOL=</B><VAR>alternate_washtool_directory</VAR>] <B>install</B>
|
|
|
|
</PRE>
|
|
</OL>
|
|
<HR><P ALIGN="center"> <A HREF="../index.htm"><IMG SRC="../books.gif" BORDER="0" ALT="[Return to Library]"></A> <A HREF="auqbg002.htm#ToC"><IMG SRC="../toc.gif" BORDER="0" ALT="[Contents]"></A> <A HREF="auqbg007.htm"><IMG SRC="../prev.gif" BORDER="0" ALT="[Previous Topic]"></A> <A HREF="#Top_Of_Page"><IMG SRC="../top.gif" BORDER="0" ALT="[Top of Topic]"></A> <A HREF="auqbg009.htm"><IMG SRC="../next.gif" BORDER="0" ALT="[Next Topic]"></A> <A HREF="auqbg009.htm#HDRINDEX"><IMG SRC="../index.gif" BORDER="0" ALT="[Index]"></A> <P>
|
|
<!-- Begin Footer Records ========================================== -->
|
|
<P><HR><B>
|
|
<br>© <A HREF="http://www.ibm.com/">IBM Corporation 2000.</A> All Rights Reserved
|
|
</B>
|
|
<!-- End Footer Records ============================================ -->
|
|
<A NAME="Bot_Of_Page"></A>
|
|
</BODY></HTML>
|