Introduction to OpenBSD
- About OpenBSD
- Hardware Support
- Manual Pages
- Mailing Lists
- Migrating to OpenBSD
- Reporting Bugs
- Supporting the Project
About OpenBSD
The OpenBSD project produces a freely available, multi-platform 4.4BSD-based UNIX-like operating system. Its goals emphasize correctness, security, standardization, and portability.
Reasons to use it include broad hardware support, a full system available in source and binary form at no charge, integrated security technology suitable for firewalls and network services, and a base that just works, minimizing the need for tweaking.
Is OpenBSD really free?
Yes: binaries, source, and every part of the system carry copyright terms permitting free redistribution. See the copyright policy for details.
What's included in the base system?
Along with much home-grown software, OpenBSD ships third-party products such as X.org, LLVM/Clang, GCC, Perl, NSD and Unbound, ncurses, binutils, gdb, libfido2, Expat and zlib, often patched for security or quality. Additional applications are available as packages.
Why is/isn't ProductX included?
Inclusion follows the wishes of the developers and compatibility with the goals of the project. Licensing is often the deciding factor: OpenBSD must remain usable by any person anywhere in the world for any purpose.
When is the next release?
A new release comes approximately every six months, targeting May and November. See here for the development cycle.
Hardware Support
OpenBSD runs on many platforms, including amd64, arm64, i386, riscv64, sparc64, powerpc64, and others. Hardware details are on the respective platform pages.
Manual Pages
Man pages are the authoritative documentation: developers update them
alongside code changes, and users are expected to check them before
asking for help.
They ship with the system, in the man79.tgz file set, and
online.
Useful pages for new users include afterboot(8), help(1), hier(7), man(1), adduser(8), syspatch(8), sysupgrade(8), dmesg(8), doas(1), tmux(1), ifconfig(8) and sendbug(1).
Read a page with man command.
To find one, search titles with man -k something and select
the section with man n command:
$ man -k cron cron(8) - clock daemon crontab(1) - maintain crontab files for individual users crontab(5) - tables for driving cron $ man 5 crontab
Mailing Lists
The project runs several lists: announce (releases and advisories), bugs, misc (user questions), ports, source-changes and tech. Check the archives before posting, and always include a full dmesg(8) for hardware questions.
Details are on the mailing list page; subscriptions are managed via the web interface.
Migrating to OpenBSD
If you know Unix from any of the good books, OpenBSD will feel familiar. Common differences from other variants:
- BSD-style, close to the 4.4BSD design, using rc(8) startup scripts (see here).
- A complete system kept in sync, not a kernel plus separately upgradable utilities.
- Third-party software via the ports tree and packages.
- Source history in CVS, with anonymous access and a web interface.
- No journaling filesystems.
- Firewalling, NAT and queuing through Packet Filter (PF).
- Default shell ksh; others installable from packages.
- Devices named by driver (
em0,bge0), not by type (eth0). - Two-layer disk partitioning on many platforms: fdisk plus disklabel.
- Use the standard GENERIC kernel; customization is discouraged.
Reporting Bugs
Bug reports need detail: what happened, the exact system configuration, a dmesg(8), and how to reproduce the problem. Prefer sendbug(1), which needs working outbound email. Full instructions are on the reporting page.
Mail may take a while to be accepted due to greylisting; please be patient. After submitting, developers may contact you for details or test patches.
Supporting the Project
If you find OpenBSD useful, contribute back:
- Donate money.
- Donate equipment and parts.
- Donate time and skills.
- Answer questions on the mailing lists.
- Submit documentation improvements to misc@openbsd.org.
- Form a local user group.