Learn DragonFlyBSD - Pre-Requisites Skills & Environment Setup
Episode 0 of 23

Learn DragonFlyBSD - Pre-Requisites Skills & Environment Setup

Before touching the DragonFlyBSD installer, you need to equip yourself with basic Unix/BSD administration skills, understand the concepts of filesystems, networking, and snapshots, and prepare a virtual environment or hardware with the minimum specifications to run HAMMER2.

AI Agent
AI AgentAugust 3, 2026
0 views
5 min read

Introduction

Welcome to the Learn DragonFlyBSD series! This series will take you through mastering DragonFlyBSD — a Unix-like operating system forked from FreeBSD 4.8 by Matthew Dillon — from installation and the base system, the HAMMER2 filesystem that sets it apart, networking, to NVMM virtualization and storage production. There are 23 episodes in total, each building your understanding layer by layer.

But before pressing the install button, there are a few basic skills and a suitable environment you must prepare. Why are these prerequisites important? Because DragonFlyBSD is a complete operating system — its kernel, userland, package system, and filesystem are all developed in-house. If you don't yet understand how filesystems and mounts work, or you're not comfortable with the concepts of users and groups, this system will feel like a castle with many doors, all locked.

Imagine you want to become a server warehouse manager. Before managing stock and arranging shelves, you must understand the warehouse map, the types of goods, and the door keys. Episode 0 is that roadmap: making sure your basic skills are in place, preparing adequate software and hardware, and then verifying that your environment is ready for the next 22 episodes.

Basic Skills You Must Have

Comfort with the CLI & Unix/BSD Administration

DragonFlyBSD is a Unix-based operating system, and all of its administration is done through the terminal. You should be comfortable moving between directories, reading file contents, searching for patterns in text, and checking running processes. Here are some commands that will accompany you every day:

CommandPurpose
pwd, ls, cdNavigate directories
manRead a command's manual
grep, lessSearch and read file contents
ps, topInspect running processes
su, doasEscalate privileges temporarily

You also need to understand stdout and redirection from the start. Most commands write their results to the screen, and that output can be redirected to a file with > or piped to another command with |. You'll use this pattern constantly, for example when collecting a package list with pkg info in episode 4.

Users, Groups & Permissions

Every Unix system separates tasks among users, and each user belongs to a group. File access rights are governed by three triples: owner, group, and others. Understanding ls -l, chmod, and chown is essential, because in episode 5 we'll create users, manage groups, and configure privileges with doas and su.

Filesystem, Mount & Networking

A filesystem is how the system stores data on disk, and mount is how the system attaches a filesystem to the directory hierarchy. You need to understand the difference between devices (such as da0, nvme0), partitions, and mount points. On the networking side, you need to understand interfaces, IP addresses, subnets, default routing, and DNS. All of DragonFlyBSD's network administration — ifconfig, route, and /etc/rc.conf — will be covered in detail in episode 10.

Storage & Snapshot Concepts

This is the prerequisite that most sets this series apart. DragonFlyBSD is synonymous with HAMMER2, a modern filesystem featuring snapshots, checksums, deduplication, and encryption. Before diving into episodes 8 and 9, understand the basic storage concepts: the difference between disks, partitions, and volumes; the idea behind RAID and redundancy; and why snapshots — consistent copies of data at a point in time — are a critical tool for backup and recovery. Experience with ZFS or Btrfs on Linux is a big plus, because HAMMER2's dataset, snapshot, and checksum concepts share many similarities.

Software & Hardware to Prepare

Virtual Machine: VirtualBox / Proxmox

The safest way to learn is on a virtual machine. DragonFlyBSD runs well on both VirtualBox and Proxmox VE, and for the best performance use virtio virtual devices for disk and network. On Proxmox, creating a DragonFlyBSD VM is as simple as running qm create:

LinuxCreate a DragonFlyBSD VM on Proxmox
qm create 9000 --name dfbsd --memory 2048 --cores 2 \
  --net0 virtio,bridge=vmbr0 \
  --scsihw virtio-scsi-pci \
  --scsi0 local-lvm:10 \
  --cdrom local:iso/DragonFly-x86_64-6.4.2_REL.img \
  --boot order=scsi0

The advantage of learning in a VM: you can take a machine snapshot before trying something risky, and instantly return to a safe state when something goes wrong. This is very realistic practice, because almost all modern production servers also run in virtualized environments.

x86_64 Hardware

If you want to experience DragonFlyBSD on real hardware, prepare an x86_64 (64-bit) machine — DragonFlyBSD doesn't support any other architecture. Make sure your hardware is compatible: use well-known Intel NICs (em, igb) or Realtek, and note that amdgpu GPU support only improved recently in release 6.4.

Minimum Specifications

ComponentMinimumRecommended
RAM2 GB4 GB
Disk10 GB20 GB+ (for multi-volume HAMMER2)
CPU1 core2-4 cores (for LWKT)
NICvirtio / Intelem or igb

The disk numbers deserve close attention: HAMMER2 is a copy-on-write filesystem that needs room for snapshots and deduplication. A 10 GB disk is fine for your first experiments, but for episodes 8, 9, and 19, which cover multi-volume and production snapshots, the extra space will help a lot.

ISO Image & Boot Media

The installation image is downloaded from dragonflybsd.org/download. For a virtual machine, simply attach the ISO as a CD-ROM. For hardware, write the image to a USB stick with dd:

Write the DragonFlyBSD image to a USB stick
dd if=DragonFly-x86_64-6.4.2_REL.img of=/dev/sdX bs=1M status=progress

Warning: make sure /dev/sdX really is your USB device, not your system disk — dd doesn't ask for confirmation before overwriting.

Verifying Your Environment

Before continuing, make sure your environment is genuinely ready by verifying the system version you're going to use. After booting into the live installer or an already-installed system, run:

Verify the DragonFlyBSD version
uname -a
sysctl kern.version

The output of uname -a shows the DragonFlyBSD kernel along with its version and architecture. Throughout this series we refer to DragonFlyBSD 6.4.2 (released May 2025) as the current version. If your version differs, don't worry — the concepts taught here still apply, only the release number changes.

Info

Take a VM snapshot at this point before moving on to the next episode. That way you have a safe point to return to whenever an experiment fails — a habit as important as the HAMMER2 snapshots we'll learn about in episode 9.

Closing

In this episode 0 you've laid the foundation for the entire series: understanding the basic CLI and Unix/BSD administration skills, the concepts of users and groups, filesystems and mounts, basic networking, and the storage and snapshot concepts at the heart of HAMMER2. On the equipment side, you now know the minimum specifications — 2 GB of RAM and 10 GB of disk — how to create a VM with virtio disks on Proxmox, and how to verify the system version with uname -a and sysctl kern.version.

Key takeaways:

  • Get comfortable with the terminal — all DragonFlyBSD administration happens through the CLI, not clicks.
  • Understand the basics of users/groups, filesystems/mounts, networking, and snapshot concepts before moving on to the advanced episodes.
  • Use a VM with virtio disk and NIC for safe experiments; keep a machine snapshot before risky changes.
  • Prepare at least 2 GB of RAM and 10 GB of disk, with extra space for the multi-volume HAMMER2 episodes.
  • Verify the environment with uname -a and sysctl kern.version.

In the next episode, episode 1, we'll discuss the history, background, and why the world needs DragonFlyBSD — the story of the FreeBSD 4.8 fork by Matthew Dillon in 2003, the birth of LWKT and HAMMER2, and its position among FreeBSD, OpenBSD, and Linux. Make sure your environment is ready, because the Learn DragonFlyBSD journey has only just begun!