[FAQ Index] | [7.2 -> 7.3] [7.4 -> 7.5]
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-74-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.
softdep mount option in
    /etc/fstab and rebooting before undertaking a manual upgrade.
    Having at least 500MB free on /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
base74.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 xshare74.tgz # tar -C / -xzphf xserv74.tgz # tar -C / -xzphf xfont74.tgz # tar -C / -xzphf xbase74.tgz # tar -C / -xzphf man74.tgz # tar -C / -xzphf game74.tgz # tar -C / -xzphf comp74.tgz # tar -C / -xzphf base74.tgz # Install last! # /sbin/orebootor, if you use ksh(1), you can do:
# cp /sbin/reboot /sbin/oreboot # for _f in [!b]*74.tgz base74.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.
  Update the passphrase on existing CRYPTO and RAID 1C
  softraid(4) volumes to update
  the number of rounds to a new hardware based default:
  
# bioctl -v -P sd1
  However, if you configured it with a hostname.pfsyncX
  entry like:
  
up syncdev $interface
Then it will need to be rearranged so the interface is configured before being brought up:
syncdev $interface up
operator to group _shutdown to
  separate the ability to use shutdown from other privileges operator
  grants.
  
  Those users who were given group operator should be moved to
  _shutdown in order to continue using 
  shutdown(8).
Before upgrading it is recommended to follow the borgbackup upgrade notes.
Steps you must take to upgrade a repository are detailed in the borgbackup documentation.
Additionally, exim's AUTH_SPA (NTLM) support has been disabled in the port, to match upstream's default.
  The influx command line interface is now in the separate
  influx-cli package, and has a completely different syntax.
  
Authentication is now mandatory via token, and the db is multi-tenant so an organization is also mandatory.
The web interface is now built-in and accessible on port 8086 by default. The database format needs to be upgraded with:
# doas -u _influx influxd upgrade(Also see the upstream documentation)
  Nextcloud 23 and 24 have been removed. As Nextcloud upgrades
  are only supported from one major version to the next, users of
  Nextcloud 23 must update to at least Nextcloud 24 before upgrading
  OpenBSD otherwise they will not be able to follow upstream's
  supported process. To do this, first backup your configuration and
  database, then pkg_delete nextcloud and pkg_add
  nextcloud selecting a 24.x release before following the usual
  Nextcloud upgrade procedure via the web interface or occ
  upgrade.
  
outputs.influxdb_v2 plugin (with org, token and bucket)
  per
  
  the documentation
  
  There is no more collectd direct sink in influxdb. collectd now needs
  to talk to telegraf with a
  collectd-enabled
  sink. An example configuration for telegraf.conf is provided
  below:
  
  [[inputs.socket_listener]]
    service_address = "udp://:25826"
    data_format = "collectd"
    collectd_auth_file = "/etc/collectd/collectd.auth"
    collectd_security_level = "encrypt"
    collectd_typesdb = ["/usr/local/share/collectd_types.db"]
    collectd_parse_multivalue = "split"
  [[outputs.influxdb_v2]]
   urls = ["http://influxdb:8086"]
   token = "$DOCKER_INFLUXDB_INIT_ADMIN_TOKEN"
   organization = "$DOCKER_INFLUXDB_INIT_ORG"
   bucket = "$DOCKER_INFLUXDB_INIT_BUCKET"
  
  As of the 12.5 release, torrc has been moved from
  ~/TorBrowser-Data/torrc to ~/TorBrowser-Data/Tor/torrc.
  If you wish to preserve your tor configuration (e.g., bridges), please
  do the following BEFORE starting tor-browser after you
  upgrade:
  
$ mv ~/TorBrowser-Data/torrc ~/TorBrowser-Data/Tor/