Introduction
Welcome to the ultimate guide on installing OpenBSD—the operating system that prides itself on simplicity, correctness, and security. If you’ve ever wanted an OS so tightly audited that even your cat’s data packets are safe, you’re in the right place. In this tutorial we’ll cover every step from downloading the ISO to configuring your freshly minted OpenBSD box. Grab your favorite beverage (perhaps something strong enough for a time travel experiment) and let’s get started.
Why OpenBSD?
- Security by default: OpenBSD developers audit roughly one million lines of code per year.
- Simplicity: No unnecessary bells, no random whistles.
- Documentation: The man pages are legendary—sometimes referred to as “the best-written novels on operating systems.”
- Stability: Releases every six months, supported for one year—predictable like a Swiss watch.
System Requirements
| Component | Minimum | Recommended |
|---|---|---|
| Processor | 1 GHz | 2 GHz multi-core |
| RAM | 512 MB | 2 GB |
| Disk Space | 2 GB | 10 GB |
| Network | Ethernet or Wi-Fi | Gigabit Ethernet |
1. Downloading the ISO
Head over to the official OpenBSD site:
https://www.openbsd.org/ftp.html
- Choose a mirror close to you geographically for speed.
- Download
installXX.iso(where XX is the version number, e.g., 7.4). - Verify the
SHA256checksum to avoid thwarting ninjas who might tamper with your ISO.
2. Preparing Installation Media
2.1 USB Flash Drive
- Insert the USB drive (at least 1 GB).
- Identify device (e.g.,
/dev/sdbon Linux,disk2on macOS). - Burn ISO:
- Linux:
dd if=install74.iso of=/dev/sdb bs=1M sync - macOS:
dd if=install74.iso of=/dev/rdisk2 bs=1m sync
- Linux:
- Eject and reinsert to confirm the label
OpenBSD 7.4.
2.2 Virtual Machines
- VMware, VirtualBox, QEMU—take your pick.
- Attach ISO to virtual CD/DVD drive.
- Allocate at least 1 vCPU, 1 GB RAM, 2 GB disk.
3. Booting the Installer
- Power on or start VM select USB/CD as boot device.
- At the
bootgtprompt, pressEnterfor default options. - Watch the kernel and RAM disk load—Zen-like patience required.
4. The OpenBSD Installation Menu
Menu Options
- Install – Fresh install.
- Upgrade – From previous release.
- Shell – Drop to a shell for advanced tasks.
- Sysinst – The interactive installer.
5. Step-by-Step Installation
5.1 Select Keyboard
Choose your layout. Yes, even Dvorak. We won’t judge.
5.2 Hostname
Enter something unique, e.g., ozymandias—just for dramatic effect.
5.3 Network Configuration
- Detect interfaces: typically
em0,re0,wm0, etc. - DHCP vs Static:
- DHCP: Auto-config.
- Static: Provide IP, Netmask, Gateway, DNS.
- Hostname-to-IP mapping for
/etc/hosts.
5.4 Root Password
Pick a strong root password. No ‘password1234’ or ‘toor’ (seriously, who still does that?).
5.5 User Account
Create a non-root user. This is the OpenBSD Way™. Provide username, full name, and password.
5.6 Partitioning and Filesystems
sysinst offers:
- Auto: Guided layout (/ 2GB swap, /home as needed).
- Custom: For that inner control freak in you.
Recommended layout for desktops:
| Mount Point | Size | FS Type |
|---|---|---|
| / | 4 GB | FFS (soft updates) |
| /home | Remaining | FFS |
| swap | 1–2× RAM | swap |
5.7 Timezone
Select your continent and city. Traveling through time zones is optional.
5.8 Set Date Time
Confirm or tweak the current date/time. No flux capacitor needed.
5.9 Install Sets
Choose from:
baseXX.tgz– Core OScompXX.tgz– Compiler toolchaingameXX.tgz– Nostalgic ASCII gamesXbaseXX.tgz,XfontXX.tgz– XWindow systemetcXX.tgz– Default configuration files
5.10 MFS Root Options
Decide if you want RAM-based root (MFS) used for rescue only. Default is fine unless you plan a NASA mission.
5.11 Finish Installation Reboot
Wait patiently. The installer copies files, writes configuration, then prompts to remove media and reboot.
6. Post-Install Configuration
6.1 Initial Login
Login as root or your non-root user. Marvel at the “OpenBSD 7.4 (GENERIC) #0” banner.
6.2 Update Firmware Packages
OpenBSD doesn’t use apt or yum. Instead:
syspatch for kernel/security patches.
pkg_add -u to update installed packages.
6.3 Enable Services
- Edit
/etc/rc.conf.local:
sshd=YES ntpd=YES
/etc/rc.d/sshd start6.4 Configure pf (Packet Filter)
- Edit
/etc/pf.conf—OpenBSD’s built-in firewall. - Example block-all, allow SSH, HTTP:
block all pass in on egress proto tcp to port {22,80,443} pass out on egress all - Enable in
/etc/rc.conf.local:pf=YES
- Reload:
pfctl -f /etc/pf.conf
7. Desktop Environment (Optional)
If you crave a GUI:
- Install Xorg:
pkg_add xorg - Choose a window manager or desktop (fvwm, cwm, XFCE):
pkg_add fvwm - Create
~/.xinitrc:exec fvwm
- Start with
startx.
8. Essential Packages
Here are some favorites:
- shells: bash, zsh
- editors: vim, emacs
- network: curl, wget, openssh
- tools: git, tmux, htop
Install with pkg_add, e.g., pkg_add git tmux htop.
9. Security Hardening
- Keep
syspatchandpkg_add -ucurrent. - Disable unused services in
/etc/rc.conf.local. - Use
sshkey-based auth disablePermitRootLogin. - Regularly review
/var/log/authlog.
10. Troubleshooting Tips
- No network? Check
ifconfiganddhclient. - Stuck at boot? Hit any key at prompt for single-user mode, mount /, inspect
dmesg. - Installer froze? Use the Shell option and examine
/tmp/sysinst..log.
Conclusion
Congratulations—if you’ve followed along, you now have a running OpenBSD system. Be proud of your fortress-like fortress! Remember, with great power (and code audits) comes great responsibility. Maintain updates, read the man pages, and drop by the mailing lists if you’re feeling social:
https://marc.info/?l=openbsd-misc.
Enjoy your new playground of security and minimalism, and don’t forget—if someone asks why you chose OpenBSD, just say: “Because buffering is for wimps.”
Leave a Reply