Before diving deeper into NetBSD, there are a few basic skills and tools you need to prepare first, from a willingness to master the CLI, an understanding of the source tree and build system concepts, to setting up a VM or hardware with the correct NetBSD installer image.

Welcome to the Learn NetBSD series! This series will take you through mastering NetBSD — an open source UNIX-like operating system famous for its extreme portability — from installation, package management, kernel, and networking, all the way to NetBSD 11 and embedded production. There are 23 episodes in total that will build your understanding layer by layer, from conceptual foundations to practices ready for the real world.
But before typing your first sysinst command, there are some basic skills and tools you must have and prepare first. Why are these prerequisites important? Because NetBSD is a complete operating system — it has a kernel, userland, filesystem, and build system that must all be understood as one unified whole. If you don't yet understand how a UNIX system works, NetBSD commands will feel like magic incantations that sometimes work and sometimes don't, without you knowing why.
Imagine wanting to become a house architect without understanding the foundation and structure of a building. No matter how great the building materials are — and NetBSD is very solid material — it's still hard to build without understanding the structure. Episode 0 is the roadmap: we'll prepare the basic skills, make sure your environment is ready, then equip the supporting tools that will accompany you throughout the series.
NetBSD is a Command Line Interface (CLI)-first system. Installation is done through sysinst, administration through the terminal, and the build system through build.sh. This is why the first step is to prepare your mindset: don't be afraid to type, be willing to read errors, and be patient in building up your muscle memory.
A simple analogy: a GUI is like a TV remote — simple, but limited to the buttons available. The CLI is like an airplane control panel — intimidating at first, but it gives you full control over every aspect. All the system administration work you'll encounter — managing users, networks, kernels, and services — starts with a command in the terminal.
Before wrestling with NetBSD, make sure you're comfortable navigating the terminal. At minimum, these four commands are enough as a starting point:
| Command | Function |
|---|---|
pwd | Displays the current working directory |
ls | Lists the contents of a directory |
cd | Changes to another directory |
man | Reads the manual for a command |
One concept you must understand from the start: output stream. When a command succeeds, its result is written to stdout — that is, your terminal screen. This output can be redirected to a file with > (redirect) or piped to another command with | (pipeline). You'll use this pattern constantly, for example sysctl hw.model — so understand it from the beginning.
This is what sets NetBSD apart from most Linux distros. On Linux, you usually install pre-built binary packages. On NetBSD, you'll often build things yourself: the kernel from source in /usr/src/sys, the userland from /usr/src, and third-party software through pkgsrc with make install.
Concepts you need to understand:
| Concept | Explanation |
|---|---|
| Source tree | The collection of system source code, usually in /usr/src |
| Compiler | The tool that turns source into binary, e.g. gcc or clang |
| Make | A build tool that orchestrates compilation across many files, e.g. make and build.sh |
| Toolchain | The collection of compiler, assembler, linker, and other tools |
You don't have to be a build system expert in episode 0, but you should be comfortable with the idea that NetBSD is a system that can be rebuilt from source at any time. That is one of its core philosophies.
NetBSD uses the FFS (Fast File System) filesystem as its default. You'll deal with mount concepts, disklabel partitions, and swap. On the networking side, understand the roles of IP address, interface (e.g. wm0), and routing — all of these will be used starting in episodes 3 and 8.
The good news: you don't need to sacrifice dedicated hardware to get started. The most comfortable way to learn NetBSD is to use a Virtual Machine:
| Option | Description |
|---|---|
| VirtualBox | Free, easy to use on Windows/macOS/Linux |
| Proxmox VE | KVM-based, suitable if you already have a homelab |
| QEMU | CLI-first, a favorite for users who like full control |
| Physical hardware | x86_64, arm64/aarch64, or RISC-V for a real-world experience |
It's recommended to give the VM at least 1 GB RAM and 10 GB disk — enough for the base system installation, comp sets, and a little room to experiment.
The NetBSD installer image can be downloaded from the official site netbsd.org/releases/. You'll find several formats for different architectures:
# From netbsd.org/releases/formal-11/ for x86_64
# CD/DVD image for booting a virtual machine
curl -O https://cdn.netbsd.org/pub/NetBSD/NetBSD-11.0/amd64/iso/NetBSD-11.0-amd64.isoNetBSD-11.0-amd64/
├── binary/sets/ # base, kern-GENERIC, comp, man, etc.
├── installation/ # installer, miniroot, ramdisk
├── iso/ # CD/DVD image for booting
└── source/ # source sets (gnusrc, sharesrc, syssrc)Choose the architecture that suits you: amd64 for modern x86_64 PCs, aarch64 for 64-bit ARM, or riscv for RISC-V. For a VM, take the iso version that can be booted directly.
First security step before installation: verify the integrity of the image with the SHA512 checksum available on the official site:
sha512 NetBSD-11.0-amd64.isoSHA512 (NetBSD-11.0-amd64.iso) = 8d3f6a7b1c2e...f9a2b4c5d6e7Compare the output with the value listed in the SHA512 file in the release directory. If they don't match, the image is corrupt or modified — don't use it.
Throughout this series you'll frequently use several core NetBSD tools. Get to know their names now:
| Tool | Its Role in This Series |
|---|---|
sysinst | The interactive NetBSD installer |
pkg_add / pkgsrc | Installing packages and third-party software |
build.sh | Building the toolchain, kernel, and userland |
modload | Loading kernel modules dynamically |
npfctl | Managing the NetBSD Packet Filter firewall |
sysctl | Reading and setting kernel parameters |
Verify that your environment is ready by running:
uname -a
sysctl hw.modelNetBSD hostname 11.0 NetBSD 11.0 (GENERIC) #0: Thu Jul 30 12:00:00 UTC 2026
amd64pwd, ls, cd, man).make, build.sh).sysinst, pkg_add, build.sh, modload, npfctl, sysctl.In this episode 0 you've prepared the foundation for the whole series: understanding basic CLI skills and source tree concepts, getting familiar with basic filesystem and networking, making sure the NetBSD installer image is downloaded and verified, and equipping the supporting tools that will accompany your journey.
Key takeaways:
netbsd.org/releases/ and verify their checksums.sysinst, pkg_add, build.sh, modload, npfctl, and sysctl are the tools that will accompany you throughout the series.In the next episode, episode 1, we'll discuss the history, background, and why the world needs NetBSD — from its roots in 386BSD in 1993, the portability philosophy that gave birth to the slogan "Of course it runs NetBSD", to the release roadmap from 1.0 to 11.0. Make sure your environment is ready, because the Learn NetBSD journey has just begun!