|  | To obtain the Plan 9 tree, use Git (see git(1)) or download a
    tar file from http://swtch.com/plan9port. 
    
    
    The tree can be unpacked anywhere, but the usual place is /usr/lib/plan9.
    In the root of the tree, run ./INSTALL. This script builds the
    Plan 9 build program mk(1) if necessary, cleans all previously
    built object files and libraries out of the tree, rebuilds and
    installs everything, and then cleans up. 
    
    
    There are a few files in tree which have the root hard-coded in
    them. After the build, INSTALL edits these files to replace the
    string /usr/lib/plan9 with the name of the root of the current
    tree. 
    
    
    Finally, INSTALL builds an HTML version of the manual and installs
    it in /usr/lib/plan9/man. 
    
    
    The installation can be thought of as two steps: build all the
    binaries, and then edit files as necessary to fix the references
    to the installation root. If necessary, these can be run separately.
    Given the −b flag, INSTALL performs only the first step. Given
    the −c flag, INSTALL performs only the second step. The first
    step can be done with the tree in a
    temporary work directory, but the second step must be done once
    the tree is in its final location. If you want to build the project
    in one location and then install into another location, use −r
    path to specify the final location of Plan9 tree. These flags
    are only necessary when trying to conform to the expectations
    of certain package management systems. 
    
    
    At the end of the installation, INSTALL prints suggested settings
    for the environment variables $PLAN9 and $PATH. 
    
    
    Plan 9 from User Space uses different threading implementations
    on Linux 2.6 and later kernels than on 2.4 and earlier; and on
    FreeBSD 5 and later kernels than on FreeBSD 4 and earlier. Running
    binaries from one class on another will not work. 
    
    
    Some Linux 2.6 systems (e.g., Gentoo) do not use the new NPTL
    pthread library even though the kernel supports them. On these
    systems, plan9port must fall back on the threading code intended
    for Linux 2.4. To accomplish this, INSTALL checks whether the
    running system uses NPTL and sets SYSVERSION in
    /usr/lib/plan9/config accordingly.
    The file /usr/lib/plan9/LOCAL.config
    is appended to config after this auto-detection and can be used
    to override the choices. If LOCAL.config contains a line WSYSTYPE=nowsys
    then the system is built without using
    X11. 
    
    
    On most Linux systems, the X11 header packages need to be installed
    to build using X11. On Debian. the required packages are libx11-dev,
    libxext-dev, and libxt-dev. On Ubuntu, it suffices to install
    xorg-dev. 
    
    
    INSTALL can safely be repeated to rebuild the system from scratch.
    
    
    
    Once the system is built for the first time, it can be maintained
    and rebuilt using mk(1). To rebuild individual commands or libraries,
    run mk install and mk clean in the appropriate source directory
    (see src(1)). 
 |