initial-html-documentation-20010606
[openafs.git] / doc / html / QuickStartUnix / auqbg008.htm
diff --git a/doc/html/QuickStartUnix/auqbg008.htm b/doc/html/QuickStartUnix/auqbg008.htm
new file mode 100644 (file)
index 0000000..be194b3
--- /dev/null
@@ -0,0 +1,213 @@
+<!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> &lt;<VAR>machine&nbsp;name</VAR>> &lt;<VAR>partition&nbsp;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> &lt;<VAR>machine&nbsp;name</VAR>> &lt;<VAR>partition&nbsp;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>&#169; <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>