This episode walks you through the DragonFlyBSD text installer: selecting sets (kern, base, comp, man), network and swap configuration, then disk partitioning with fdisk, disklabel, and the HAMMER2 filesystem as the default with UFS as an option.

In episode 2 you understood DragonFlyBSD's architecture: the base system, DPorts, the source tree, and the role of each component. Now that theory has to touch the disk. This episode guides you from the installation boot image to a ready-to-use system — including the important partitioning decisions that will shape your entire experience throughout this series.
Installation is the moment when you make structural decisions: how much space to give the root filesystem, whether to use HAMMER2 or UFS, and how to lay out mount points. These decisions aren't hard to change later — but understanding the reasoning makes everything much calmer.
After booting from the ISO or USB image, you'll see the installer menu. Choose the option to enter the interactive installer. The whole process runs in the terminal — no GUI — in keeping with the Unix philosophy: transparent, concise, and repeatable. Navigation is done with the arrow keys, Enter, and Tab.
The main installer flow:
DragonFlyBSD divides the base system into sets — groups of files you can pick. This is what makes the installation flexible:
| Set | Contents | Recommendation |
|---|---|---|
kern | Kernel and its modules | Required |
base | Core userland (shell, utilities, libraries) | Required |
comp | Compiler and toolchain (cc, make) | Required for learning |
man | Manual pages | Highly recommended |
games | Built-in games | Optional |
crypto | Crypto libraries and tools (OpenSSL, IPsec) | Recommended |
Throughout this series we need comp for episode 20 (buildworld/buildkernel) and crypto for episode 14 (OpenSSL and TLS). Don't remove these sets from your selection.
Info
Choosing more sets means more disk space and installation time. For a minimal server, kern, base, comp, and man are the right combination — exactly what this series' outline recommends.
During installation, you'll be asked to configure the network interface and swap. If you're using DHCP, simply choose the DHCP option — static configuration can be set up later via /etc/rc.conf. Swap is recommended to be the size of your RAM or slightly larger; DragonFlyBSD also supports swapcache to use swap as a cache for HAMMER2 file data.
The first step in partitioning is deciding the partition scheme with fdisk. DragonFlyBSD supports classic MBR and modern GPT. For modern disks over 2 TB, or when you want many partitions, GPT is the right choice; MBR remains supported for compatibility. Inside that slice, the disk layout is managed further with disklabel.
A common partitioning flow:
fdisk to create one slice spanning the whole disk (or divide it for dual-boot).disklabel to split the slice into partitions a, b, and so on.disklabel works inside the slice: partition a is usually for root, b for swap, and the rest for data filesystems. Here's the layout we'll use as an example:
| Partition | Purpose | Filesystem |
|---|---|---|
da0a | Root filesystem | HAMMER2 |
da0b | Swap | swap |
da0c | Data/snapshots | HAMMER2 |
The installer offers a sensible automatic layout. For learning purposes, also try to understand the manual approach — because in episodes 8 and 19 we'll add HAMMER2 volumes outside of installation.
The filesystem decision is the most important decision in this episode:
For installation, use HAMMER2 for root. Here's an example of creating a HAMMER2 filesystem on the command line:
newfs_hammer2 -L root /dev/da0aThe -L option sets a label. This is a command that will become your friend throughout this series — we'll discuss newfs_hammer2 in more depth in episodes 7 and 8.
The recommended mount point structure:
| Mount Point | Partition | Filesystem |
|---|---|---|
/ | da0a | HAMMER2 |
/boot | (inside root) | HAMMER2 |
/var | da0c or a separate partition | HAMMER2 |
| swap | da0b | swap |
Separating /var is a wise decision: logs and caches won't fill up the root filesystem. Once the mount points are in place, the installer writes the boot configuration and completes the process.
After rebooting, log in as root and verify that the system is truly healthy:
uname -a
df -h
mount
sysctl kern.version
pkg -vdf -h will show your HAMMER2 filesystems, mount shows the active mount options, and pkg -v confirms the package manager is ready to use. If everything appears without errors, your system is officially a DragonFlyBSD.
Success
A finished installation is your first checkpoint. If you get stuck mid-process, boot from the ISO again and retry — this text installer is idempotent and leaves no troublesome residue. As always, taking a VM snapshot before starting the installation is a habit we highly recommend.
In this episode 3 you successfully completed the entire installation process: navigating the text installer, choosing sets (kern, base, comp, man), configuring network and swap, understanding the difference between fdisk (MBR/GPT) and disklabel, choosing HAMMER2 as the default filesystem (with UFS as an alternative), laying out mount points, and verifying the system with df -h and mount.
Key takeaways:
kern, base, comp, man sets for learning.fdisk for slices (MBR/GPT), disklabel for partitions (a, b, c).newfs_hammer2 -L root /dev/da0a is how you format it./var and swap for long-term operational comfort.uname -a, df -h, and pkg -v.In the next episode, episode 4, we'll step into the world of applications: package management with pkg & DPorts. You'll learn pkg install, pkg upgrade, pkg search, and pkg info, then understand DPorts, make install clean, dsynth, and the tradeoffs between binary packages and building from source.