Upgrades are only supported from one release to the release immediately following.
Read through and understand this process before attempting it. For critical or physically remote machines, test it on an identical, local system first.
/usr partition has a size of at least 1.1G.
With less space the upgrade may fail and you should consider reinstalling
the system instead.
bsd.rd.
Download the ramdisk kernel and the cryptographically-signed checksum file
for your architecture.
bsd.rdSHA256.sig
Verify bsd.rd and SHA256.sig using
signify(1):
$ signify -C -p /etc/signify/openbsd-79-base.pub -x SHA256.sig bsd.rd Signature Verified bsd.rd: OK
bsd.rd, retrieved
in the previous step. Place it in the root of your filesystem and
instruct the boot loader to boot this kernel. Once this kernel is
booted, choose the (U)pgrade option and follow the prompts.
After upgrading the sets, the system will reboot with the upgraded kernel and run sysmerge(8) during boot. In some cases, configuration files cannot be modified automatically. Run
# sysmergeto check and perform these configuration changes.
Next remove the old files.
Finish up by upgrading the packages using pkg_add -u.
You may wish to check the errata page for any post-release fixes.
Sometimes, you need to perform an upgrade of a machine for which the normal unattended or interactive upgrade process is not possible.
/usr would be recommended.
sd0 is your boot disk:
# installboot sd0
If using the multiprocessor kernel:
# cd /usr/rel # where you put the release files # ln -f /bsd /obsd && cp bsd.mp /nbsd && mv /nbsd /bsd # cp bsd.rd / # cp bsd /bsd.spIf using the single processor kernel:
# cd /usr/rel # where you put the release files # ln -f /bsd /obsd && cp bsd /nbsd && mv /nbsd /bsd # cp bsd.rd bsd.mp / # may give a harmless warning
# sha256 -h /var/db/kernel.SHA256 /bsd
base79.tgz last, because the new base system,
in particular tar(1),
gzip(1) and
reboot(8),
will not work with the old kernel.
Either untar the needed filesets manually:
# cp /sbin/reboot /sbin/oreboot # tar -C / -xzphf xshare79.tgz # tar -C / -xzphf xserv79.tgz # tar -C / -xzphf xfont79.tgz # tar -C / -xzphf xbase79.tgz # tar -C / -xzphf man79.tgz # tar -C / -xzphf game79.tgz # tar -C / -xzphf comp79.tgz # tar -C / -xzphf base79.tgz # Install last! # /sbin/orebootor, if you use ksh(1), you can do:
# cp /sbin/reboot /sbin/oreboot # for _f in [!b]*79.tgz base79.tgz; do tar -C / -xzphf "$_f" || break; done # /sbin/orebootNote that tar(1) can expand only one archive per invocation, so a simple glob won't work.
/dev.
Run
MAKEDEV(8):
# cd /dev # ./MAKEDEV all
sd0 is your boot disk:
# installboot sd0
# sysmerge
# fw_update
dmesg -s)
and correct any failures as necessary.
All the steps following configuration changes
below also apply to manual upgrades.
Finally, remove /sbin/oreboot and update packages:
pkg_add -u.
Reboot once more to make sure you use the newest firmware files
and run on your own kernel generated by KARL.
IEEE 802.3ad/802.1AX Link Aggregation Control Protocol support has been removed from trunk(4). trunk(4) LACP configuration can be moved to aggr(4), the dedicated IEEE 802.1AX Link Aggregation network interface driver.
aggr(4) is compatible with trunk(4) with two exceptions:
An example of migrating configuration from trunk0 to aggr0:
# cd /etc
# ifconfig trunk0 | awk '/lladdr/ { print "lladdr $2" } > hostname.aggr0
# cat hostname.trunk0 >> hostname.aggr0
# echo up >> hostname.aggr0
# rm hostname.trunk0
HTTP Host: header passed to an upstream server when
Caddy is configured as a proxy has changed. If this causes problems
with your configuration, you may need to use header_up Host
{hostport} to revert to previous behaviour.
elldpd to free up the rc script name up for future use
in base. Adjust pkg_scripts in
/etc/rc.conf.local if you use it.
For ease of using pg_upgrade, if you have an existing database using 17.x, it is recommended to enable data checksums before upgrading OpenBSD:
# rcctl stop postgresql # su _postgresql -c '/usr/local/bin/pg_checksums -e -D /var/postgresql/data' # rcctl start postgresqlAfter upgrading, use
pg_upgrade as described in the
postgresql-server pkg-readme
or do a dump/restore.
Action Required: Users transitioning to OpenVox should thoroughly verify their Puppet modules and Hiera configurations. Due to the removal of the Ruby flavor and the shift in underlying binaries, testing in a non-production environment prior to upgrading is strongly recommended.