Books

Best FreeBSD Books for 2026: Absolute FreeBSD to FreeBSD Mastery

This post contains affiliate links. If you buy through them, we may earn a small commission at no extra cost to you. Learn more.

Ten of the twenty kernel modules in the code archive for FreeBSD Device Drivers still build on a current system. That ratio sums up every FreeBSD book you can buy today: the concepts hold, while the commands and APIs have moved. Seven of the eight FreeBSD books below were printed before FreeBSD 15 shipped, and the eighth, the March 2026 Book of PF, targets FreeBSD 14. So the real choice is which kind of drift you can live with.

Original content from computingforgeeks.com - post 56474

The list ranks the books by how much of each still applies. We used the publisher pages, the Amazon catalog and a FreeBSD 15.1 VM for the parts that are cheap to test: pf NAT syntax, a jail built from base packages, and the driver book’s code. That jail took 271 seconds and 863 MB to build the pkgbase way (measured October 2026 on FreeBSD 15.1), a route no jail book describes.

Which FreeBSD Book to Buy First

Buy for the job the machine does, because the books split cleanly by subsystem and only one of them covers the whole operating system:

  • A first FreeBSD server: Absolute FreeBSD, 3rd Edition. It is the only FreeBSD-specific administration book we found in print from an established publisher, and its 25 chapters run from installation to kernel panics.
  • A firewall or router: The Book of PF, 4th Edition, the newest book here. Test rulesets in both the OpenBSD and the classic FreeBSD NAT style parsed on FreeBSD 15.1, so its NAT chapter needs little translation.
  • A ZFS file server: FreeBSD Mastery: ZFS first, then Advanced ZFS for boot environments, replication and tuning.
  • Jails at any scale: FreeBSD Mastery: Jails, read next to the current Handbook chapter for the pkgbase install method.
  • Kernel or driver work: The Design and Implementation of the FreeBSD Operating System for the internals, FreeBSD Device Drivers for code, with the API changes measured below.

If you only buy one, buy Absolute FreeBSD and use the free FreeBSD Handbook for anything newer than 2018. The Handbook is maintained with each release, so it is the right source for what changed, while the book explains why the system is built the way it is.

FreeBSD Books Against the FreeBSD Releases

Each book was written against the release that was current when it went to print, so the publication date tells you which later changes it cannot know about. The FreeBSD dates come from the release and end-of-life tables:

BookPublishedCurrent FreeBSD thenBiggest change sinceOur 15.1 check
Absolute FreeBSD, 3rd EdOct 201811.x (12.0 shipped Dec 2018)pkgbase is the default for VM and cloud imagesfreebsd-update refuses to run on a pkgbase system
The Book of PF, 4th EdMar 2026Covers FreeBSD 14.xBeyond the 14.x it covers, 15.0 accepts OpenBSD-style nat-to and rdr-toClassic and OpenBSD-style test rulesets both parse
FreeBSD Mastery: ZFSMay 201510.xOpenZFS replaced the old ZFS in 13.0Pool shows raidz_expansion and block_cloning
FreeBSD Mastery: Advanced ZFSApr 201610.xSame OpenZFS switchSame pool
FreeBSD Mastery: JailsMar 201912.0Jail userland from base packages188-package jail built and started
FreeBSD Mastery: Storage EssentialsNov 201410.xi386 retired as a platform in 15.0Not run
Design and Implementation, 2nd EdSep 2014Covers versions 5 to 11Four major releases since 11, the last it coversNot run
FreeBSD Device DriversMay 20129.0DRIVER_MODULE dropped its devclass argument10 of 20 modules build

Read the last column as a floor, not a verdict. A book whose commands no longer run unchanged can still be the best explanation of its subject, and that is true of most of this list. The two that age fastest are the ones closest to code: the driver book, because kernel APIs change between major releases, and the jail book, because FreeBSD 15 added a second way for a jail to get its userland.

How the Books Were Checked

Every pick comes from No Starch Press, Addison-Wesley or Tilted Windmill Press, the imprint of longtime FreeBSD author and former committer Michael W. Lucas, and every one was buyable new on Amazon on the day we checked. Three sources fed the ranking:

  • Catalog census: a search of Amazon’s catalog for every FreeBSD title, out-of-stock ones included, to confirm no newer edition exists of any pick.
  • Publisher pages: table of contents, page count and the release each book says it covers, from No Starch Press, InformIT and the catalog Lucas keeps on his own site.
  • FreeBSD 15.1 VM: the official ZFS cloud image on our Proxmox lab, patched on first boot to 15.1-RELEASE-p5, for the pf, jail and driver tests.

Two groups were left out on purpose. The Handbook reprints from 2004 and 2015 are frozen copies of a free document that has since been rewritten. The several self-published FreeBSD 15 guides from 2025 and 2026 come from authors with no FreeBSD track record we could verify. The Amazon listings behind every link and the price bands below come from the Amazon catalog API on the day we checked.

1. Absolute FreeBSD, 3rd Edition

Michael W. Lucas wrote the general FreeBSD administration book, and nothing has replaced it in the eight years since the third edition came out:

Absolute FreeBSD 3rd Edition by Michael W. Lucas book cover
Absolute FreeBSD, 3rd Edition by Michael W. Lucas. Image: No Starch Press.

No Starch published it in October 2018 at 704 pages, two months before FreeBSD 12.0 shipped. The 25 chapters run from installation and the boot process through GEOM, UFS, ZFS, ports, upgrades, jails and crash dumps. Each one explains the reasoning behind a default before telling you how to change it. That reasoning is why the book has aged better than its commands: GEOM, rc.conf and the ZFS layout it describes still work as written.

The chapter that has aged worst is the one on upgrading. It teaches freebsd-update, which still works on systems installed from distribution sets but refuses to run on a pkgbase install, the default for FreeBSD 15 cloud and VM images. On our 15.1 VM it stopped with this:

freebsd-update is incompatible with the use of packaged base.  Please see
https://wiki.freebsd.org/PkgBase for more information.

Our FreeBSD 14 to 15 upgrade guide covers the freebsd-update path, and the FreeBSD 15 feature overview explains pkgbase. Skip the book if you only run FreeBSD appliances such as pfSense or OPNsense, which hide most of what it teaches. It sold for $40 to $50 when we checked, against a $64.99 list price. Check the current price on Amazon.

2. The Book of PF, 4th Edition

Peter N. M. Hansteen’s PF book is the newest title on this list and the only one written for a FreeBSD branch that is still supported:

The Book of PF 4th Edition by Peter N. M. Hansteen book cover
The Book of PF, 4th Edition by Peter N. M. Hansteen. Image: No Starch Press.

No Starch released the fourth edition in March 2026 at 248 pages, and the publisher page lists OpenBSD 7.x, FreeBSD 14.x and NetBSD 10.x as its targets. Ten chapters cover NAT, IPv6 and dual stack, wireless with authpf, CARP and relayd failover, adaptive rules against brute-force attackers, traffic shaping and logging. Traffic shaping is where the two systems still differ: the chapter’s main examples use OpenBSD’s queueing syntax, which FreeBSD lacks, so FreeBSD readers follow the book’s separate ALTQ and Dummynet material.

PF on OpenBSD and FreeBSD drifted apart for years, most visibly in NAT syntax, so OpenBSD-style examples had to be translated. FreeBSD 15.0 removed most of that friction: pf now accepts nat-to, rdr-to and binat-to on pass and match rules, and the old “nat on” form still works. We saved both styles as test files and parsed them with pfctl -n, starting with the OpenBSD form:

ext_if = "vtnet0"
match out on $ext_if from 10.0.10.0/24 nat-to ($ext_if)
pass in on $ext_if proto tcp to ($ext_if) port 8080 rdr-to 10.0.10.5 port 80
pass in on $ext_if proto tcp to port 22

Load the pf module, then ask pfctl to parse the file without installing it:

sudo kldload -n pf
sudo pfctl -nvf /tmp/pf-openbsd.conf

FreeBSD 15.1 expanded each rule and returned no error, so NAT rules written in the OpenBSD style need little translation on FreeBSD now:

ext_if = "vtnet0"
match out on vtnet0 inet from 10.0.10.0/24 to any nat-to (vtnet0) round-robin
pass in on vtnet0 inet proto tcp from any to (vtnet0) port = http-alt flags S/SA keep state rdr-to 10.0.10.5 port 80
pass in on vtnet0 proto tcp from any to any port = ssh flags S/SA keep state

The same rules in the classic “nat on … -> …” and “rdr on” form parsed too, so older configs keep working next to the new syntax. Our PF firewall guide for FreeBSD 15 builds a full ruleset from there. Skip the book if your firewall is a pfSense or OPNsense box managed through its web UI, since those write the rules for you. It sold for $40 to $50 when we checked, against a $59.99 list price on Amazon. Check the current price on Amazon.

3. FreeBSD Mastery: ZFS

Lucas and Allan Jude wrote the ZFS book most FreeBSD administrators start with, and its model of pools and datasets has not changed:

FreeBSD Mastery ZFS by Michael W. Lucas and Allan Jude book cover
FreeBSD Mastery: ZFS by Michael W. Lucas and Allan Jude. Image: Tilted Windmill Press.

Tilted Windmill Press published it in May 2015 at 233 pages. It covers hardware selection, vdev layout, datasets, compression, deduplication, snapshots, clones and custom ZFS installs, and it stays short because it assumes you already run FreeBSD. The gap is the engine underneath: FreeBSD 13.0 replaced its own ZFS with OpenZFS in 2021, and later OpenZFS releases added features the book could not cover. On our 15.1 VM, running OpenZFS 2.4.2, the root pool reported them like this:

zpool get -H -o property,value feature@raidz_expansion,feature@block_cloning,feature@fast_dedup zroot

RAIDZ expansion and the new deduplication sit enabled and ready, while block cloning is already active on a stock install:

feature@raidz_expansion	enabled
feature@block_cloning	active
feature@fast_dedup	enabled

Those three change real advice in the book. Advice written before RAIDZ expansion assumes a RAIDZ vdev keeps its width for life, which is no longer true, and the deduplication chapter predates fast dedup entirely. Our ZFS pool design guide for FreeBSD 15 covers the layouts with those features in mind. Skip the book if you only manage ZFS through TrueNAS. It sold for $20 to $30 when we checked, against a $29.99 list price. Check the current price on Amazon.

4. FreeBSD Mastery: Advanced ZFS

The sequel is where the operational ZFS material lives, and most of it is still the way production FreeBSD storage is run:

FreeBSD Mastery Advanced ZFS by Allan Jude and Michael W. Lucas book cover
FreeBSD Mastery: Advanced ZFS by Allan Jude and Michael W. Lucas. Image: Tilted Windmill Press.

Jude and Lucas published it in April 2016 at 242 pages. It covers boot environments, delegated permissions, ZFS datasets inside jails, send and receive replication, block storage, caching, large arrays and database tuning, which are the topics where a mistake costs a weekend. Boot environments in particular matter more now than in 2016, because they give a ZFS system a rollback point before any base system upgrade, whichever tool performs it.

Read it after the first ZFS book, not instead of it. The caching and tuning chapters describe tunables from the pre-OpenZFS era, so check each sysctl against the 15.1 manual pages before you apply it. Our snapshots and send/receive guide shows the replication commands on FreeBSD 15. It sold for $20 to $30 when we checked, against a $29.99 list price. Check the current price on Amazon.

5. FreeBSD Mastery: Jails

Jails are the FreeBSD feature people most often ask a book for, and Lucas’s is the only dedicated jails book we found in Amazon’s catalog:

FreeBSD Mastery Jails by Michael W. Lucas book cover
FreeBSD Mastery: Jails by Michael W. Lucas. Image: Tilted Windmill Press.

It came out in March 2019 at 245 pages, three months after FreeBSD 12.0. It covers how jails isolate processes, the jail tools in the base system and the iocage manager. It also covers jail networking, hierarchical jails and resource limits. jail.conf still drives jails on 15.1, and the definition we used to start our test jail has six parameters. iocage is still maintained as well, at version 1.13 in the FreeBSD 15 package repository, next to Bastille 1.4.4, which the book does not cover.

What changed is where a jail gets its userland. The book extracts base.txz, which FreeBSD still publishes (about 165 MB for 15.1). FreeBSD 15 adds a second route that installs the base system into the jail as packages, so the jail is patched with pkg like its host. On a host installed from distribution sets, the FreeBSD-base repository is disabled by default, so enable it under /usr/local/etc/pkg/repos/ first, as the Handbook’s jails chapter describes. Then prepare the root, including a copy of the base signing keys:

sudo mkdir -p /usr/local/jails/t1/var/cache/pkg /usr/local/jails/t1/var/db/pkg /usr/local/jails/t1/usr/share/keys
sudo cp -R /usr/share/keys/pkgbase-15 /usr/local/jails/t1/usr/share/keys/
sudo pkg -r /usr/local/jails/t1 install -y -r FreeBSD-base FreeBSD-set-base-jail

The install pulled 188 base packages into an 863 MB root in 271 seconds. Next, define the jail in /etc/jail.conf, the file jail -c reads by default. vi ships in the FreeBSD base system:

sudo vi /etc/jail.conf

These are the six parameters our test jail ran with, sharing the host’s network stack through ip4 = inherit:

t1 {
  path = "/usr/local/jails/t1";
  host.hostname = "t1";
  ip4 = inherit;
  exec.start = "/bin/sh /etc/rc";
  exec.stop = "/bin/sh /etc/rc.shutdown";
  mount.devfs;
}

Start the jail, list it, then ask the jail itself which userland it runs:

sudo jail -c t1
jls
sudo jexec t1 freebsd-version -u

jail prints t1: created and the jail’s rc startup lines first. After that, jls shows the running jail at its path, and the jail reports the same patch level as the host:

   JID  IP Address      Hostname                      Path
     1                  t1                            /usr/local/jails/t1
15.1-RELEASE-p5

Our guides to jails with Bastille on FreeBSD 15 and VNET jail networking cover the tooling the book predates. Skip it if you want OCI containers rather than jails; FreeBSD 15 publishes OCI-compatible base images for that. It sold for $25 to $30 when we checked, against a $29.99 list price. Check the current price on Amazon.

6. FreeBSD Mastery: Storage Essentials

Storage Essentials covers everything under the filesystem, which is the layer most FreeBSD outages actually start in:

FreeBSD Mastery Storage Essentials by Michael W. Lucas book cover
FreeBSD Mastery: Storage Essentials by Michael W. Lucas. Image: Tilted Windmill Press.

Published in November 2014 at 240 pages, it is the oldest Lucas title here. It explains CAM, the GEOM framework, GPT and MBR partitioning and alignment. It then covers UFS journaling, GELI and GBDE encryption and software RAID with gmirror and gstripe. GEOM and gpart have changed little since 2014, so the partitioning chapters and the GELI material still match what you type today. GBDE is gone: it was removed from the source tree in 2024 and FreeBSD 15 does not ship it. The alignment chapter remains a clear explanation of why a 4K disk performs badly when it is partitioned wrong.

The parts to read with care are the ones about 32-bit hardware and MBR-era installs, since FreeBSD 15.0 retired i386 as a platform. Skip it if every disk you run is in a ZFS pool, because the two ZFS books cover that path. It sold for $25 to $30 when we checked, against a $29.99 list price. Check the current price on Amazon.

7. The Design and Implementation of the FreeBSD Operating System, 2nd Edition

McKusick, Neville-Neil and Watson wrote the reference on how the FreeBSD kernel works, and no third edition exists:

The Design and Implementation of the FreeBSD Operating System 2nd Edition by McKusick, Neville-Neil and Watson book cover
The Design and Implementation of the FreeBSD Operating System, 2nd Edition by Marshall Kirk McKusick, George V. Neville-Neil and Robert N. M. Watson. Image: Addison-Wesley.

The 928-page Addison-Wesley hardcover appeared in September 2014 and, per the publisher, covers the changes from version 5 through 11. It walks the kernel from system calls down: process management, Capsicum and jail security, virtual memory, the I/O system, UFS and ZFS, NFSv4, sockets and the network stack, with DTrace for observing it. The authors built many of those subsystems, which is why the explanations of design decisions are worth more than any command listing.

Four major releases have shipped since 11, the last version it covers, so treat the data structure details as history and the design reasoning as current. Searches for a third edition turn up nothing; the second is the latest edition in the Amazon catalog and on the InformIT site. Skip it if you administer FreeBSD and never read kernel source, because it answers “why” far more than “how”. It sold for $60 to $80 when we checked, against a $79.99 list price. Check the current price on Amazon.

8. FreeBSD Device Drivers

Joseph Kong’s book is the only book-length FreeBSD driver guide we found in Amazon’s catalog, and its code is where the age shows most clearly:

FreeBSD Device Drivers by Joseph Kong book cover
FreeBSD Device Drivers: A Guide for the Intrepid by Joseph Kong. Image: No Starch Press.

The 352-page No Starch book dates from the FreeBSD 9 era. It starts with loadable kernel modules, then covers memory allocation, character devices, locking, Newbus, interrupts, DMA, CAM, USB and network drivers, working through real drivers such as the parallel port printer and the Intel gigabit Ethernet driver. We downloaded the code archive for the book, installed the FreeBSD-src-sys package and ran make in every directory, with the kernel’s usual -Werror flags:

  • Builds unchanged (10 modules): both chapter 1 modules, the chapter 2 and 3 echo drivers, the chapter 4 race and locking examples, the chapter 5 sleep example and the chapter 6 virtual null modem. hello.ko and echo.ko also loaded, and echo created /dev/echo.
  • DRIVER_MODULE errors (6 modules): chapters 8, 9, 10, 11, 13 and 15, because the macro no longer takes a devclass argument.
  • sysctl errors (2 modules): echo-4.0 and pointless, where the empty SYSCTL_STATIC_CHILDREN() call for the tree root no longer resolves.
  • Other (2 modules): foo_pci fails a -Wformat check on an ssize_t, and mfip stops because mfivar.h in the kernel tree includes opt_mfi.h, which a standalone module build does not provide.

That is 10 builds out of 20, plus three userland test programs that build once you pass MAN=. The DRIVER_MODULE failure is the one you will hit first, and the compiler shows the new macro signature next to the old call:

lpt.c:790:56: error: too many arguments provided to function-like macro invocation
  790 | DRIVER_MODULE(lpt, ppbus, lpt_driver, lpt_devclass, 0, 0);
      |                                                        ^
/usr/src/sys/sys/bus.h:924:9: note: macro 'DRIVER_MODULE' defined here

Deleting the devclass argument and its unused static devclass_t declaration was enough for lpt.c to build. Expect a similar small edit in each of the six DRIVER_MODULE chapters. The two network driver chapters ship as excerpts without a Makefile, so we could not build them. Skip the book if you want to write drivers for current hardware without reading kernel source next to it. It sold for $40 to $50 when we checked, against a $49.99 list price. Check the current price on Amazon.

What FreeBSD 15 Changed Under These Books

Seven of the eight picks predate FreeBSD 15.0 and the eighth was written for 14.x, and four changes in 15.0 touch more than one book. Check each one before you follow a printed procedure on a new install:

  • pkgbase: the base system can be installed and updated with pkg (499 base packages on our VM), and cloud and VM images use it by default, as do scripted bsdinstall installs since 15.1. freebsd-update and distribution sets remain supported for the life of FreeBSD 15 and are planned for removal in 16, per the 15.0 announcement.
  • pf syntax: OpenBSD-style nat-to, rdr-to and binat-to are accepted, so PF books written for OpenBSD now apply with fewer edits.
  • OpenZFS 2.4: 15.1 ships OpenZFS 2.4.2, with RAIDZ expansion, block cloning and fast dedup that the ZFS books predate.
  • Platforms: i386, armv6 and 32-bit powerpc are retired as hardware platforms; 32-bit binaries still run on 64-bit systems.

The release you run also decides how long the procedures in any of these books stay relevant to you. FreeBSD 15.1 is supported until March 31, 2027 and the 15 branch until December 31, 2029. On the 14 branch, 14.5 is supported until June 30, 2027 and stable/14 until November 30, 2028, according to the supported releases table. If you are still building a test machine to follow the books on, our guide to installing FreeBSD 15 on Proxmox or KVM gets you there with ZFS.

Error: “pkg: No trusted certificates” When Building a Jail

The pkgbase jail install failed twice before it worked, and the Handbook’s jails chapter does not mention the second failure. Without the var/cache/pkg and var/db/pkg directories in the jail root, pkg reported “No packages available” for FreeBSD-set-base-jail. With the directories in place but no signing keys under the root, it stopped with “No trusted certificates”, because pkg looks for the pkgbase keys under the target root rather than on the host.

Copying /usr/share/keys/pkgbase-15 into usr/share/keys under the jail root before the install, as in the Jails pick above, fixed it on the next run. If the error persists, pkg -r /usr/local/jails/t1 -d update -r FreeBSD-base reruns the catalog fetch with debug output, so you can see which files pkg tried to read.

Editions That Do Not Exist Yet

Three searches bring readers to this page that have no product behind them, and the answer for each is the same as of October 2026:

  • Absolute FreeBSD 4th edition: not announced. The third edition is the latest on the No Starch site, in the Amazon catalog and on the book list Lucas publishes.
  • Design and Implementation of the FreeBSD Operating System 3rd edition: not announced. The 2014 second edition is current.
  • A free PDF of Absolute FreeBSD: No Starch sells the ebook with the print copy as a bundle, but there is no legitimate free download. The free FreeBSD book is the Handbook.

If a new edition of either appears, it will replace the current one on this list, because both would be written for the pkgbase era. The one new title on the horizon is OpenZFS Mastery, which Lucas lists on his site as in progress with no date; it would be the natural follow-up to the two ZFS picks. His FreeBSD Mastery: Specialty Filesystems is still listed there too, and we left it out as a narrower add-on to the subsystem books above. For now, the pairing that covers the most ground is Absolute FreeBSD for the system, the matching FreeBSD Mastery title for each subsystem you run, and the current Handbook for the commands that changed.

Keep reading

Best Machine Learning Books (2026): Textbooks, Python, Free PDFs AI Best Machine Learning Books (2026): Textbooks, Python, Free PDFs Best C++ and C Programming Books for 2026: Beginner to Advanced Books Best C++ and C Programming Books for 2026: Beginner to Advanced Best System Design Books for Interviews and Architecture in 2026 Books Best System Design Books for Interviews and Architecture in 2026 Best OpenShift Books for Admins and EX280 Candidates Books Best OpenShift Books for Admins and EX280 Candidates Best API Design Books: REST, gRPC and GraphQL Books Best API Design Books: REST, gRPC and GraphQL Best Elasticsearch Books for 2026: Kibana, ELK and OpenSearch Books Best Elasticsearch Books for 2026: Kibana, ELK and OpenSearch

Leave a Comment

Press ESC to close