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.
Archived copies of the FreeBSD documentation (articles, books, and textinfo manuals) are also available online at http://docs.FreeBSD.org/doc/.
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.
A project model for the
FreeBSD project (dev-model)
A formal study of the organization of the FreeBSD project.
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
Developers' 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. This article is primarily of historical interest.
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.
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.
Introduction to
NanoBSD (nanobsd)
Information about the NanoBSD tools, which can be used to create FreeBSD system images
for embedded applications, suitable for use on a Compact Flash card (or other mass
storage medium).
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.
Practical rc.d
scripting in BSD (rc-scripting)
A guide to writing new rc.d scripts and understanding those already written.
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 ports management 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.
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].
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 FreeBSD Architecture Handbook.
FreeBSD Assembly Language Programming Tutorial. This document has been imported into The FreeBSD Developer's 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.