[FAQ Index] | [6.9 -> 7.0] [7.1 -> 7.2]
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.rd
SHA256.sig
Verify bsd.rd
and SHA256.sig
using
signify(1):
$ signify -C -p /etc/signify/openbsd-71-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
base71.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 xshare71.tgz # tar -C / -xzphf xserv71.tgz # tar -C / -xzphf xfont71.tgz # tar -C / -xzphf xbase71.tgz # tar -C / -xzphf man71.tgz # tar -C / -xzphf game71.tgz # tar -C / -xzphf comp71.tgz # tar -C / -xzphf base71.tgz # Install last! # /sbin/orebootor, if you use ksh(1), you can do:
# cp /sbin/reboot /sbin/oreboot # for _f in [!b]*71.tgz base71.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.
If you explicitly pass audio device descriptors to programs (through
program options or through the AUDIODEVICE
environment
variable), then the descriptors might need to be updated as follows.
Otherwise, skip this section.
Audio devices exposed by sndiod(8) are not bound to physical audio devices anymore, so the physical audio device number component of sndio(7) descriptors was removed. For instance, if the server is started with:
# sndiod -f rsnd/0 -s foo -f rsnd/1 -s barthen programs will need to use
"snd/foo"
and "snd/bar"
(instead of
"snd/0.foo"
and "snd/1.bar"
).
By default programs will try to use "snd/default"
(instead
of "snd/0"
).
Unless -s default
option is used,
"snd/default"
is automatically created and attached to
the first physical audio device specified on the command line (i.e. first
-f
or -F
option).
If needed, this setting may be changed at run-time with the
server.device
control exposed by
sndioctl(1).
For each physical device managed by the server (i.e. each -f
or -F
option) the server also exposes a
"snd/<number>"
descriptor bound to the physical device of the same number.
Consequently, "snd/0"
, "snd/1"
, ...
still can be used to refer to specific physical devices.
xterm*allowMouseOps: true
/etc/login.conf.d/$class
is now checked and,
if available, used in preference to /etc/login.conf
.
If you have changed settings for software in packages, you may
find that it is now overridden by a file in
/etc/login.conf.d
and will need to make your changes
there instead.
Python 3.8 and 3.10 packages now include pip since the py3-pip package only supports Python 3.9.
Python 3.8 is planned to be removed prior to the 7.2 release.
[FAQ Index] | [6.9 -> 7.0] [7.1 -> 7.2]