=================== Distribution format =================== A typical FreeBSD distribution directory looks something like this: ABOUT.TXT bin dict manpages tools HARDWARE.TXT compat1x des doc packages INSTALL.TXT compat20 floppies ports README.TXT compat21 games proflibs RELNOTES.TXT info src LAYOUT.TXT XF86332 If you want to do a CDROM, FTP or NFS installation from this distribution directory, all you need to do is make a 1.44Mb floppy from the floppies/boot.flp image file (see floppies/README.TXT for instructions on how to do this), boot it and follow the instructions. See INSTALL.TXT for more information. 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 XF86332 directory contains the XFree86 project's 3.3.2 release and consists of a series of gzip'd tar files which contain each component of the XFree86 distribution. 3. The bin, dict, des, 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 and compat21 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 30MB 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.