===================
Distribution format
===================

A typical FreeBSD distribution directory looks something like this:

ABOUT.TXT       bin             compat3x        games           proflibs
HARDWARE.TXT    compat1x        info		src             tools
INSTALL.TXT     compat20        dict            manpages        packages
README.TXT      compat21        crypto          doc
RELNOTES.TXT    compat22        floppies        ports
XF86336

If you want to do a CDROM, FTP or NFS installation from this
distribution directory, all you need to do is make the 1.44MB boot
floppies from the floppies directory (see floppies/README.TXT for
instructions on how to do this), boot them and follow the instructions.
The rest of the data needed during the installation will be obtained
automatically based on your selections.  If you've never installed
FreeBSD before, you also want to read the INSTALL.TXT file for 
instructions.

If you're trying to do some other type of installation or are merely
curious about how a distribution is organized, what follows is a more
thorough description of each item in more detail:

1. The *.TXT files obviously contain documentation (this file is
   LAYOUT.TXT) and should be read before starting an installation.

2. The XF86336 directory contains the XFree86 project's 3.3.6 release and
   consists of a series of gzip'd tar files which contain each component
   of the XFree86 distribution.

3. The bin, dict, crypto, doc, games, info, manpages, proflibs, and src
   directories contain the primary distribution components of FreeBSD
   itself and are split into smaller files for easy packing onto floppies
   (should that be necessary).

4. The compat1x, compat20, compat21, compat22, and compat3x directories
   contain distributions for compatibility with older releases and are
   distributed as single gzip'd tar files - they can be installed during
   release time or later by running their `install.sh' scripts.

5. The floppies subdirectory also contains the floppy installation images
   and the floppies/README.TXT file should be read for further
   information on using them.

6. The packages and ports directories contain the FreeBSD packages and
   ports collections.  Packages may be installed from the packages
   directory by running the command: ``/stand/sysinstall configPackages''
   or by feeding individual filenames in packages/ to the pkg_add(1)
   command.

   The ports collection may be installed like any other distribution
   and requires about 100MB unpacked.  More information on the ports
   collection may be obtained from http://www.freebsd.org/ports or
   locally from ``file:/usr/share/doc/handbook'' if you've installed
   the doc distribution.

7. Last of all, the tools directory contains various DOS tools for
   discovering disk geometries, installing boot managers and the like.
   It is purely optional and provided only for user convenience.

A typical distribution (we'll use the info distribution as an example)
looks like this internally:

CHECKSUM.MD5    info.ab         info.ad         info.inf        install.sh
info.aa         info.ac         info.ae         info.mtree

The CHECKSUM.MD5 file contains MD5 signatures for each file, should
data corruption be suspected, and is purely for reference. It is not
used by the actual installation and does not need to be copied with
the rest of the distribution files.  The info.a* files are split,
gzip'd tar files, the contents of which can be viewed by doing:

        cat info.a* | tar tvzf -

During installation, they are automatically concatenated and extracted
by the installation procedure.

The info.inf file is also necessary since it is read by the installation
program in order to figure out how many pieces to look for when fetching and
concatenating the distribution.  When putting distributions onto floppies,
the .inf file MUST occupy the first floppy of each distribution set!

The info.mtree file is another non-essential file which is provided
for user reference.  It contains the MD5 signatures of the *unpacked*
distribution files and can be later used with the mtree(1) program
to verify the installation permissions and checksums against any possible
modifications to the file.  When used with the bin distribution, this can
be an excellent way of detecting trojan horse attacks on your system.

Finally, the install.sh file is for use by those who want to install the
distribution after installation time.  To install the info distribution from
CDROM after a system was installed, for example, you'd do:

                cd /cdrom/info
                sh install.sh

And that's all there is to it!  Each distribution contains its own
install.sh file for this.
