OpenBSD -stable

What is the -stable branch?

The -stable branch is one of OpenBSD's three flavors. It consists of the release and errata patches. More precisely: This page describes how to follow the -stable branch via CVS and building from source. If you're running the -release branch on amd64, i386, or arm64, you can also use the syspatch(8) utility to upgrade any files in need of security or reliability fixes with binary updates. More information can be found here.

Getting -stable source code

To obtain the -stable tree for a particular release of OpenBSD, you can update on top of a pre-existing source tree or you can check out a fresh source tree from an AnonCVS server.

Do not attempt to go from one release to another via source. Instead, please follow the upgrade guide for the release before compiling -stable.

Building OpenBSD -stable

Details on building OpenBSD from source are provided in steps 2 and 3 of the release(8) manual. There is also an FAQ on building the system. If you have a number of machines to keep on the -stable branch, you may wish to make a release.

Rebuild the kernel and reboot

Replace GENERIC with GENERIC.MP for multiprocessor systems.
# cd /sys/arch/$(machine)/compile/GENERIC
# make obj
# make config
# make && make install
# reboot
If your system has trouble booting the new kernel, you can easily go back and reboot from the old kernel, now called obsd.

Rebuilding the userland

# rm -rf /usr/obj/*
# cd /usr/src
# make obj && make build