Skip site navigation (1) Skip section navigation (2)

Books and Articles Online

On this site

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

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.

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.


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. : A Case Study (
How FreeBSD helped a large ISP in Latin America.

The Committer's Guide (committers-guide)
Introductory information for FreeBSD committers.

Installing and using Compiz Fusion (compiz-fusion)
How to install and use the Compiz Fusion composite window manager under FreeBSD.

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.

CUPS on FreeBSD (cups)
How to setup CUPS with FreeBSD.

Using newer version of GCC and binutils with the FreeBSD Ports Collection (custom-gcc)
How to use newer versions of the GCC compilers and binutils from the FreeBSD ports tree. Custom GCC are also discussed.

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.

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.

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.

Build Your Own FreeBSD Update Server (freebsd-update-server)
Using a FreeBSD Update server allows a system administrator to perform fast updates for a number of machines from a local mirror.

Writing a GEOM Class (geom-class)
A guide to GEOM internals, and writing your own class.

Implementing UFS journaling on a desktop PC (gjournal-desktop)
A guide to create UFS partitions configured with journaling for desktop use.

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.

LDAP Authentication (ldap-auth)
A practical guide about setting up an LDAP server on FreeBSD and how to use it for authenticating users.

FreeBSD: An Open Source Alternative to Linux (linux-comparison)
A white paper explaining the differences between Linux and FreeBSD.

Linux emulation in FreeBSD (linux-emulation)
A technical description about the internals of the Linux emulation layer in FreeBSD.

FreeBSD Quickstart Guide for Linux Users (linux-users)
An introductionary guide for the users that came from Linux.

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.

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 "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.

Remote Installation of the FreeBSD Operating System without a Remote Console (remote-install)
Describes the remote installation of the FreeBSD operating system when the console of the remote system is unavailable.

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.

Design elements of the FreeBSD VM system (vm-design)
An easy to follow description of the design of the FreeBSD virtual memory system.

On other web sites

Various independent efforts have also produced a great deal of useful information about FreeBSD.