All the documentation on this site can be downloaded in a variety of different formats (HTML, Postscript, PDF, and more) and compression schemes (BZip2, Zip) from the FreeBSD FTP site.
This documentation is provided and maintained by the FreeBSD Documentation Project, and we are always looking for people to contribute new documentation and maintain existing documentation.
The
FreeBSD FAQ (faq)
Frequently Asked Questions, and answers, covering all
aspects of FreeBSD.
The FreeBSD Handbook (handbook)
A constantly evolving, comprehensive resource for
FreeBSD users.
The FreeBSD Developer's Handbook
(developers-handbook)
For people who want to develop software for FreeBSD
(and not just people who are developing FreeBSD
itself).
The FreeBSD Architecture Handbook
(arch-handbook)
For FreeBSD system developers. This book covers the
architectural details of many important FreeBSD kernel
subsystems.
The Porter's Handbook (porters-handbook)
Essential reading if you plan on providing a port of a
third party piece of software.
The
PMake Tutorial (pmake)
A tutorial for the make utility. This book is
essential reading for anyone who wants to understand
all the details of using make of reading and
writing makefiles.
Chapter 2 of "The Design and Implementation of the
4.4BSD Operating System" (design-44bsd)
Donated by Addison-Wesley, provides a design overview
of 4.4BSD, from which FreeBSD was originally
derived.
Chapter 8 of "The FreeBSD Corporate Networker's
Guide" (corp-net-guide)
Donated by Addison-Wesley, provides an in-depth look
at using FreeBSD to provide printing services to
Windows, NT, and Novell hosts.
The FreeBSD Documentation Project Primer for New
Contributors (fdp-primer)
Everything you need to know in order to start
contributing to the FreeBSD Documentation Project.
The Roadmap for 5-STABLE (5-roadmap)
Describes medium-term development and release
engineering plans leading to the 5-STABLE branch
point.
Why you should use a BSD style license for your Open
Source Project (bsdl-gpl)
Describes the benefits of releasing code under a BSD
license.
Building Products with FreeBSD
(building-products)
How FreeBSD can help you build a better product.
Argentina.com : A Case Study
(casestudy-argentina.com)
How FreeBSD helped a large ISP in Latin America.
Integration of Checkpoint VPN-1/Firewall-1 and FreeBSD
IPsec (checkpoint)
How to configure Checkpoint VPN-1/Firewall-1 and
FreeBSD IPsec.
The Committer's Guide (committers-guide)
Introductory information for FreeBSD committers.
Console Server Tutorial (console-server)
How to setup a FreeBSD based console server with a
cheap multi-port serial card.
Contributing to FreeBSD (contributing)
How to contribute to the FreeBSD Project.
Contributing to the FreeBSD Ports Collection
(contributing-ports)
How to help maintain the FreeBSD Ports Collection.
The List of FreeBSD Contributors
(contributors)
A list of organizations and individuals who have
helped enhance FreeBSD.
Setting up a CVS repository - The FreeBSD way
(cvs-freebsd)
How to set up a CVS repository that uses the same
CVSROOT infrastructure as the FreeBSD project.
CVSup Advanced Points (cvsup-advanced)
An article with some tips about the subtleties of
CVSup.
Dialup firewalling with FreeBSD
(dialup-firewall)
How to set up a firewall using PPP and ipfw over a
dialup link with dynamically assigned IP addresses.
Creating a diskless X server (diskless-x)
How to create a diskless X server.
The Euro symbol on FreeBSD (euro)
How to configure FreeBSD and related applications to
display the Euro symbol.
Explaining BSD (explaining-bsd)
An answer to the question ``What is BSD?''
FreeBSD From Scratch (fbsd-from-scratch)
How to automatically compile, install and configure a
system from scratch (i.e. to an empty file system),
including your favorite ports.
Filtering Bridges (filtering-bridges)
Configuring firewalls and filtering on FreeBSD hosts
acting as bridges rather than routers.
Fonts and FreeBSD (fonts)
A description of the various font technologies in
FreeBSD, and how to use them with different
programs.
Formatting media on FreeBSD
(formatting-media)
How to slice, partition, and format fixed and
removable media on FreeBSD.
How to get the best results from the FreeBSD-questions
mailing list (freebsd-questions)
Tips and tricks to help you maximize the chances of
getting useful information from the -questions mailing
list.
Working
with Hats (hats)
A committer's guide to working with ``hats'' (other
committers with authority over specific areas of
FreeBSD).
Mirroring
FreeBSD (hubs)
The all in one guide for mirroring the FreeBSD website,
CVSup servers, FTP servers, and more.
Independent Verification of IPsec Functionality in
FreeBSD (ipsec-must)
A method for experimentally verifying IPsec
functionality.
Java, and Jakarta Tomcat (java-tomcat)
Information on setting up Java and Jakarta Tomcat on a
FreeBSD system.
FreeBSD on Laptops (laptop)
Information about running FreeBSD on a laptop.
FreeBSD: An Open Source Alternative to Linux
(linux-comparison)
A white paper explaining the differences between Linux
and FreeBSD.
Frequently Asked Questions About The FreeBSD Mailing
Lists (mailing-list-faq)
How to best use the mailing lists, such as how to help
avoid frequently-repeated discussions.
An
MH Primer (mh)
An introduction to using the MH mail reader on
FreeBSD.
Using FreeBSD with other operating systems
(multi-os)
How to install FreeBSD alongside one or more different
operating systems on the same computer.
FreeBSD First Steps (new-users)
For people coming to FreeBSD and UNIX® for the
first time.
Perforce in FreeBSD Development (p4-primer)
A guide to the Perforce version control system. It
also describes how to manage experimental projects with
the FreeBSD Perforce server.
Pluggable
Authentication Modules (pam)
A guide to the PAM system and modules under
FreeBSD.
Package building procedures (portbuild)
Describes the approach used by the FreeBSD port
manager team to regularly build ports into packages. It
describes the portbuild cluster, as well as the tools
needed to do incremental, experimental, and official
release package builds.
FreeBSD Problem Report Handling Guidelines
(pr-guidelines)
Recommended practices for handling FreeBSD problem
reports.
Writing FreeBSD Problem Reports
(problem-reports)
How to best formulate and submit a problem report to
the FreeBSD Project.
PXE
booting FreeBSD (pxe)
How to create an Intel PXE server using FreeBSD, and
how to configure a FreeBSD client to boot from a PXE
server.
FreeBSD as a greylist mail server
(relaydelay)
Implementing a greylist mail server on FreeBSD using
Sendmail, MySQL, Perl and the relaydelay software. This
is an excellent method to use in the fight against
spam.
FreeBSD Release Engineering (releng)
Describes the approach used by the FreeBSD release
engineering team to make production quality releases of
the FreeBSD Operating System. It describes the tools
available for those interested in producing customized
FreeBSD releases for corporate rollouts or commercial
productization.
FreeBSD Release Engineering for Third Party
Packages (releng-packages)
Describes the approach used by the FreeBSD release
engineering team to produce a high quality package set
suitable for official FreeBSD release media. This
document is a work in progress, but eventually it will
cover the process used to build a clean package set on
the FreeBSD.org "Ports Cluster", how to configure any
other set of machines as a ports cluster, how to split
up the packages for the release media, and how to
verify that a package set is consistent.
Serial and UART devices (serial-uart)
Detailed information about the use of serial ports on
FreeBSD, including several multi-port serial cards.
FreeBSD and Solid State Devices (solid-state)
The use of solid state disk devices in FreeBSD.
Storage Devices (storage-devices)
Detailed information about using storage devices with
FreeBSD, including ESDI disks, and SCSI disks, tape
drives, and CDROM drives.
Choosing the FreeBSD Version That Is Right For You
(version-guide)
How to decide which version of FreeBSD is right for
your needs. Topics include the releases, branches, the
difference between -CURRENT and -STABLE, and the
current scheduling goals of the project.
Bootstrapping Vinum: A Foundation for Reliable
Servers (vinum)
A gentle introduction to failure-resilient servers and
step-by-step instructions for building one with
Vinum.
Design elements of the FreeBSD VM system
(vm-design)
An easy to follow description of the design of the
FreeBSD virtual memory system.
Zip-drives and FreeBSD (zip-drive)
How to format, mount, and use an Iomega Zip (SCSI,
IDE, or parallel) Drive on FreeBSD.
Various independent efforts have also produced a great deal of useful information about FreeBSD.
A Comprehensive Guide to FreeBSD - an attempt at a more readable, "book-like" tutorial explaining the FreeBSD Operating System. Intended for people new to both FreeBSD and UNIX. Currently a work in progress.
Niels Jorgensen has authored an academic study on the dynamics of the FreeBSD development process: ``Putting it All in the Trunk, Incremental Software Development in the FreeBSD Open Source Project'' [Information Systems Journal (2001) 11, 321-336].
Computer Bits, an Internet online magazine, has, since March 1996, been running an excellent series of FreeBSD related articles in their column titled The Network Community, by Ted Mittelstaedt.
Some of the more popular articles include: Setting up a FreeBSD-based mail server, Network Address Translation, and Building a fax server.
Kirk McKusick, one of the original architects of BSD at U.C. Berkeley, teaches two 4.4BSD Kernel Internals courses using FreeBSD. For those unable to attend the courses in person, a video tape series is also now available.
FreeBSD How-To's for the Lazy and Hopeless is another somewhat more light-hearted attempt to provide more readable "how-to" style information on setting up and configuring FreeBSD.
The Linux+FreeBSD mini-HOWTO describes how to use Linux and FreeBSD on the same system. It introduces FreeBSD and discusses how the two operating systems can cooperate, e.g. by sharing swap space.
FreeBSD Installation Details for Newbies. This document has been imported into The FreeBSD Handbook.
Writing an ISA device driver. This document has been imported into The Developers Handbook.
FreeBSD Assembly Language Programming Tutorial. This document has been imported into The Developers Handbook.
The SMP support page contains information on the SMP support in FreeBSD 4.X and earlier.
Appendix A from the college textbook Operating Systems Concepts by Silberschatz, Galvin and Gagne has been made available online in PDF format. The appendix is dedicated to FreeBSD and offers a good introduction to FreeBSD's internals.