|RELEASE(8)||System Manager's Manual||RELEASE(8)|
This manual describes the steps for the release and stable branches. To build a current release, additional steps may be required. See https://www.openbsd.org/faq/current.html for any needed workarounds.
Commands to be run as a user are preceded by a dollar sign ‘$’. Commands that must be run as the superuser are preceded by a hash mark ‘#’. Privileges will be de-escalated to the user build whenever possible.
Most of the defaults can be overridden by setting the appropriate variables in mk.conf(5).
releaseshould use sources that were checked out using the same cvs(1) tag. There are two families of tags:
See https://www.openbsd.org/anoncvs.html for instructions on fetching the sources for the first time.
To update existing sources to the versions identified by one of the above tags, use the commands:
$ cd /usr/src && cvs up -r TAG -Pd $ cd /usr/xenocara && cvs up -r TAG -Pd $ cd /usr/ports && cvs up -r TAG -Pd
# cd /sys/arch/$(machine)/compile/GENERIC.MP
Replace GENERIC.MP with a different kernel configuration if necessary.
Create the build directory and configuration file, then compile and install the kernel:
# make obj # make config # make && make install
The current kernel is copied to /obsd and the new kernel to /bsd. Reboot.
Create the tree of obj directories and begin the build:
# cd /usr/src # make obj && make build
# sysmerge # cd /dev && ./MAKEDEV all
At this point, the base system is up to date with the code that will be made into a release.
Create a RELEASEDIR directory to store the release files. This directory must be writable by build.
To build a release, it is necessary to prepare a filesystem mounted with the noperm mount(8) option. Either standard FFS or mount_mfs(8) may be used. The root of this filesystem must have owner build and mode 700. On this filesystem, create a DESTDIR directory. This will be the root of a complete OpenBSD installation.
Warning: DESTDIR and RELEASEDIR must not refer to any directory with /mnt in its path, as /mnt is used in the release generation process. The vnd(4) device vnd0 is also used and must not be configured.
Make the release and check the contents of the release tarballs:
# export DESTDIR=your-destdir RELEASEDIR=your-releasedir # cd /usr/src/etc && make release # cd /usr/src/distrib/sets && sh checkflist # unset RELEASEDIR DESTDIR
The following steps will build and install Xenocara.
# cd /usr/xenocara # make bootstrap # make obj # make build
The steps to build and validate the Xenocara release are:
# export DESTDIR=your-destdir RELEASEDIR=your-releasedir # make release # make checkdist # unset RELEASEDIR DESTDIR
At this point, OpenBSD base system and X Window System tarballs are in RELEASEDIR.
# export RELDIR=your-releasedir RELXDIR=your-xenocara-releasedir # cd /usr/src/distrib/$(machine)/iso && make # make install
The two installer images are now stored in the local release directory.
|June 23, 2018||OpenBSD-current|