Before touching FreeBSD, you need to master the basic Unix/Linux administration skills: the CLI, kernel vs userspace concepts, filesystem & mounts, and basic networking. In this episode you will also prepare the software and hardware: a VM or bare metal, an ISO image, a memstick, and cloud images so you can start experimenting with FreeBSD.

Welcome to the Learn FreeBSD series! This series will take you on a journey to master FreeBSD — an open source, source-based, high-performance UNIX-like OS — from the base system, pkg vs ports, ZFS & boot environments, jails & bhyve, all the way to the pf firewall and enterprise production. There are 23 episodes in total, organized into six phases, starting from pre-requisites all the way to production readiness.
But before touching FreeBSD, there are a few basic skills and tools you must have. Why are these prerequisites important? Because FreeBSD is not a Linux distro. It is a complete UNIX system with its own way of thinking: the kernel and userland are developed together, configuration lives in a single place called rc.conf, and almost every decision is left to the administrator. If you don't yet understand how filesystems and networking work, those decisions will feel confusing.
This episode 0 is your roadmap. We'll make sure your basic skills are in place, set up your tooling, and then choose the hardware that will accompany you throughout the series. By the end of this episode, you'll have a FreeBSD environment ready to use.
FreeBSD is a terminal-based system. You must be comfortable with the shell, directory navigation, pipes, redirection, and command execution. Habits like reading man pages and checking exit codes are the daily bread of a FreeBSD administrator:
pwd
ls -la /var/log
grep -r "error" /var/log/messages | tail -5
man pwIf you come from Linux, most of the CLI will feel familiar. Differences will show up in BSD-specific tools like pw for users, bsdinstall for installation, and sysrc for service management.
Understand the difference between the kernel — the core of the system that manages hardware, processes, and memory — and userspace — the applications running on top of it. In FreeBSD, the kernel and userland are built from the same source tree and released together as a single unit called the base system.
This concept matters because it determines how you view the system. When you run kldload to load a kernel module or freebsd-update to update the base system, you're working with two different layers that are managed as one integrated whole.
You must understand how directories connect to storage media through the mount process. In FreeBSD this concept is very tangible because the system uses many pseudo-filesystems: devfs for devices, procfs for processes, and of course UFS or ZFS for data:
mount
df -h
zpool statusUnderstand how interfaces, IP addresses, routing, and DNS work. FreeBSD manages network configuration through /etc/rc.conf — not through NetworkManager like modern Linux. You'll be writing configuration like this:
ifconfig
route show
cat /etc/resolv.confFreeBSD offers two ways to install software: binary packages via pkg which are fast, and ports which are compiled from source. You need the willingness to learn a system that exposes the build process — including compiling with make, choosing compile flags, and managing dependencies. This is different from apt install or dnf install which feel instant.
Info
Don't panic if you've never touched a source-based system. Episode 4 covers pkg and ports in depth. For this episode 0, just internalize the mindset that FreeBSD gives you full control over how software is built and installed.
FreeBSD can be installed on a virtual machine or bare metal. For learning, VirtualBox, Proxmox, or libvirt/KVM are highly recommended because they're easy to reset and snapshot. If you want to feel the full performance and get direct access to the hardware, bare metal is the best choice — especially later when we discuss ZFS and bhyve.
I recommend starting with a VM. You can delete and recreate the system without fear, and snapshots let you return to a clean state in seconds.
FreeBSD installation images are downloaded from freebsd.org/where.html. You'll need the ISO image for a VM, or the memstick image to write to a USB drive with the dd command:
dd if=FreeBSD-15.1-RELEASE-amd64-memstick.img of=/dev/da0 bs=1M conv=sync
syncThe command above writes the image to the /dev/da0 device. Make sure the device name is really your USB drive — writing to the wrong device can destroy data.
For quick experiments, FreeBSD provides cloud images that work on AWS, Azure, GCP, and via Vagrant for local labs. This is very helpful because you don't need to manage a physical installation at all:
fetch https://download.freebsd.org/releases/VM-IMAGES/15.1-RELEASE/amd64/Latest/FreeBSD-15.1-RELEASE-amd64-BASIC-CLOUDINIT.zstFor the best experience, use a VM with UEFI and at least 2 GB RAM. UEFI matters because modern FreeBSD default installs use GPT partitioning and a boot manager that runs optimally on UEFI firmware. Add a second disk for the ZFS practice later.
| Component | Minimum | Recommended |
|---|---|---|
| RAM | 1 GB | 4 GB or more |
| CPU | 1 core | 2 cores or more |
| Disk | 10 GB | 20 GB + a separate disk for ZFS |
| Firmware | UEFI | UEFI with Secure Boot disabled |
Before moving on, make sure your hardware and tooling are ready by running a quick verification:
uname -a
qemu-system-x86_64 --version
VBoxManage --versionIf you use VirtualBox, make sure the extension pack for UEFI support is also installed. This verification establishes a baseline: a hypervisor ready to run a FreeBSD image, plus the knowledge to download and write the installation image.
Warning
If you use VirtualBox for the ZFS practice in episodes 8-9, enable I/O APIC support and attach a SATA controller (not IDE). ZFS works best when it gets truly raw disk access with support for trim and direct I/O.
In this episode 0, you've laid the foundation for the entire series: mastering the basic Unix/Linux administration skills, understanding kernel vs userspace concepts, filesystem & mounts, basic networking, and the source-based mindset. On the hardware side, you've decided between a VM or bare metal, prepared an ISO or memstick image, and know the recommended minimum specifications.
Key takeaways:
rc.conf, not scattered across many files.In the next episode, episode 1, we'll discuss history, background, and why to use FreeBSD — from the roots of 386BSD and the permissive BSD license, the succession of major releases, to the reasons behind "The power to serve" and the network and storage performance that is FreeBSD's main appeal. Make sure your environment is ready, because the Learn FreeBSD journey has just begun!