[FAQ Index] | [6.4 -> 6.5] [6.6 -> 6.7]
Upgrades are only supported from one release to the release immediately following it. Read through and understand this process before attempting it. For critical or physically remote machines, test it on an identical, local system first.Start by performing the pre-upgrade steps. Next, boot from the install kernel, bsd.rd: use bootable install media, or place the 6.6 version of
bsd.rd 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.
Alternatively, a new unattended upgrade method has been introduced.
The sysupgrade(8) program
is available as a
syspatch(8) for OpenBSD 6.5
on the i386, amd64, and arm64 platforms. Once installed, the upgrade can be
performed by running sysupgrade.
Another option is using the manual upgrade process (although this is not recommended).
After upgrading the sets, apply the configuration
changes and remove the old files.
Finish up by upgrading the packages: pkg_add -u.
You may wish to check the errata page for any post-release fixes.
bsd.rd.
Download the ramdisk kernel and the cryptographically signed checksum file
for your architecture.
bsd.rdSHA256.sigVerify them using signify(1):
$ signify -C -p /etc/signify/openbsd-66-base.pub -x SHA256.sig bsd.rd Signature Verified bsd.rd: OK
/etc/acme-client.conf from
https://acme-v01.api.letsencrypt.org/directoryto
https://acme-v02.api.letsencrypt.org/directoryThe staging api url should also be changed from
https://acme-staging.api.letsencrypt.org/directoryto
https://acme-staging-v02.api.letsencrypt.org/directory
The -A and -D flags have been removed from
acme-client(1). The private keys are now created automatically
if missing. If you were using either of these flags on your regular
command lines, remove them.
bgpctl(8) irrfilter command has
been removed. People interested in generating prefix- and
as-sets from IRR data should use bgpq3 from ports.
route-collector is deprecated and will cause
bgpd(8)
to fail parsing the config. Instead disable the route evaluation process
on the Loc-RIB with
rde rib Loc-RIB no evaluate
boot
instead of bsd.
For example, the following kernel launch command
fatload usb 0 ${loadaddr} bsd; bootoctlinux rootdev=8e309909c27040dd numcores=4
would need to change to
fatload usb 0 ${loadaddr} boot; bootoctlinux rootdev=8e309909c27040dd numcores=4
See
INSTALL.octeon for the details on how to configure U-Boot. (Search for
"OpenBSD/octeon bootloader").
HOME and PATH
are now reset to the target user.
create,
start, and stop commands of
vmctl(8) has
been changed to match a commonly expected style.
Manual usage or scripting with vmctl must be adjusted to use the new
syntax.
For example, the old syntax looked like this:
# vmctl create disk.qcow2 -s 50GThe new syntax specifies the command options before the argument:
# vmctl create -s 50G disk.qcow2
rm -f /usr/share/man/man3p/carp.3p \
/usr/share/man/man3p/Tie::ExtraHash.3p \
/usr/share/man/man3p/Tie::StdHash.3p \
/usr/share/man/man3p/Tie::StdScalar.3p \
/usr/share/man/man3p/basename.3p \
/usr/share/man/man3p/cluck.3p \
/usr/share/man/man3p/confess.3p \
/usr/share/man/man3p/croak.3p \
/usr/share/man/man3p/dirname.3p \
/usr/share/man/man3p/fileparse.3p \
/usr/share/man/man3p/getopt.3p \
/usr/share/man/man3p/getopts.3p \
/usr/share/man/man3p/inet_aton.3p \
/usr/share/man/man3p/inet_ntoa.3p \
/usr/share/man/man3p/longmess.3p \
/usr/share/man/man3p/look.3p \
/usr/share/man/man3p/open2.3p \
/usr/share/man/man3p/open3.3p \
/usr/share/man/man3p/pod2usage.3p \
/usr/share/man/man3p/podchecker.3p \
/usr/share/man/man3p/podselect.3p \
/usr/share/man/man3p/shortmess.3p \
/usr/share/man/man3p/sockaddr_in.3p \
/usr/share/man/man3p/sockaddr_un.3p \
/usr/share/man/man3p/writemain.3p
rm -f /usr/sbin/snmpctl \
/usr/share/man/man8/snmpctl.8
rm -f /usr/X11R6/lib/pkgconfig/libfs.pc \
/usr/X11R6/include/X11/fonts/FSlib.h
rm -rf /usr/X11R6/share/doc/libFS
rm -f /usr/X11R6/bin/xman \
/usr/X11R6/lib/X11/xman.help \
/usr/X11R6/man/man1/xman.1 \
/usr/X11R6/share/X11/app-defaults/Xman
rm -f /usr/X11R6/lib/pkgconfig/libfs.pc \
/usr/X11R6/lib/modules/v10002d.uc \
/usr/X11R6/lib/modules/v20002d.uc \
/usr/X11R6/lib/modules/drivers/ark_drv.la \
/usr/X11R6/lib/modules/drivers/ark_drv.so \
/usr/X11R6/lib/modules/drivers/chips_drv.la \
/usr/X11R6/lib/modules/drivers/chips_drv.so \
/usr/X11R6/lib/modules/drivers/glint_drv.la \
/usr/X11R6/lib/modules/drivers/glint_drv.so \
/usr/X11R6/lib/modules/drivers/i128_drv.la \
/usr/X11R6/lib/modules/drivers/i128_drv.so \
/usr/X11R6/lib/modules/drivers/neomagic_drv.la \
/usr/X11R6/lib/modules/drivers/neomagic_drv.so \
/usr/X11R6/lib/modules/drivers/rendition_drv.la \
/usr/X11R6/lib/modules/drivers/rendition_drv.so \
/usr/X11R6/lib/modules/drivers/s3_drv.la \
/usr/X11R6/lib/modules/drivers/s3_drv.so \
/usr/X11R6/lib/modules/drivers/s3virge_drv.la \
/usr/X11R6/lib/modules/drivers/s3virge_drv.so \
/usr/X11R6/lib/modules/drivers/sis_drv.la \
/usr/X11R6/lib/modules/drivers/sis_drv.so \
/usr/X11R6/lib/modules/drivers/tdfx_drv.la \
/usr/X11R6/lib/modules/drivers/tdfx_drv.so \
/usr/X11R6/lib/modules/drivers/trident_drv.la \
/usr/X11R6/lib/modules/drivers/trident_drv.so \
/usr/X11R6/lib/modules/drivers/tseng_drv.la \
/usr/X11R6/lib/modules/drivers/tseng_drv.so \
/usr/X11R6/man/man4/chips.4 \
/usr/X11R6/man/man4/glint.4 \
/usr/X11R6/man/man4/i128.4 \
/usr/X11R6/man/man4/neomagic.4 \
/usr/X11R6/man/man4/rendition.4 \
/usr/X11R6/man/man4/s3.4 \
/usr/X11R6/man/man4/s3virge.4 \
/usr/X11R6/man/man4/sis.4 \
/usr/X11R6/man/man4/tdfx.4 \
/usr/X11R6/man/man4/trident.4 \
/usr/X11R6/man/man4/tseng.4 \
/usr/X11R6/man/man3/XkbAllocGeomOverlayKey.3
rm -f /usr/X11R6/include/X11/fonts/FSlib.h \
/usr/include/dev/ic/dwc_gmac_reg.h \
/usr/include/dev/ic/dwc_gmac_var.h \
/usr/include/llvm/Analysis/IndirectCallSiteVisitor.h \
/usr/include/llvm/CodeGen/GCs.h \
/usr/include/llvm/DebugInfo/PDB/Native/NativeBuiltinSymbol.h \
/usr/include/llvm/DebugInfo/PDB/Native/NativeEnumSymbol.h \
/usr/include/llvm/IR/TypeBuilder.h \
/usr/include/llvm/Transforms/Utils/OrderedInstructions.h
rm -f /usr/share/man/man1/clang++.1 \
/usr/share/man/man1/clang-cpp.1 \
/usr/share/man/man1/diagnostics.1 \
/usr/share/man/man3/SipHash24.3 \
/usr/share/man/man3/bitstring.3 \
/usr/share/man/man3/byteorder.3 \
/usr/share/man/man3/directory.3 \
/usr/share/man/man3/ethers.3 \
/usr/share/man/man3/exec.3 \
/usr/share/man/man3/fts.3 \
/usr/share/man/man3/getcap.3 \
/usr/share/man/man3/inet_net.3 \
/usr/share/man/man3/md5.3 \
/usr/share/man/man3/pcap-filter.3 \
/usr/share/man/man3/pcap.3 \
/usr/share/man/man3/pwcache.3 \
/usr/share/man/man3/resolver.3 \
/usr/share/man/man3/rmd160.3 \
/usr/share/man/man3/sha1.3 \
/usr/share/man/man3/sha2.3 \
/usr/share/man/man3/stdarg.3 \
/usr/share/man/man3/uucplock.3 \
/usr/share/man/man3/uuid.3 \
/usr/share/man/man3/ypclnt.3 \
/usr/share/man/man4/i386/vmm.4 \
/usr/share/man/man4/macppc/openprom.4 \
/usr/share/man/man4/sparc64/openprom.4
/etc/my.cnf option
innodb_additional_mem_pool_size,
found in some old default configurations, is no longer supported
— remove it if present. If the new version fails to start,
review /var/mysql/(hostname).err.
As usual, run mysql_upgrade(1) after the update.
daemon_flags="-w -l /var/postgresql/logfile"to
daemon_flags="-D /var/postgresql/data -w -l /var/postgresql/logfile"If you defined
postgresql_flags in
/etc/rc.conf.local make sure that your entry includes
-D /var/postgresql/data.
--checkutf8 and
--convutf8 options.
r2e list > ~/r2e.txt r2e opmlexport > ~/r2e.opmlAfter updating, see the notes in /usr/local/share/pkg-readmes/rss2email.
Sometimes, you need to do an upgrade of a machine for which the normal upgrade process is not possible. The most common case is a machine in a remote location and there is no easy access to the system console.
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.sp
If 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
base66.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 xshare66.tgz
tar -C / -xzphf xserv66.tgz
tar -C / -xzphf xfont66.tgz
tar -C / -xzphf xbase66.tgz
tar -C / -xzphf man66.tgz
tar -C / -xzphf game66.tgz
tar -C / -xzphf comp66.tgz
tar -C / -xzphf base66.tgz # Install last!
/sbin/oreboot
or, if you use
ksh(1), you can do
cp /sbin/reboot /sbin/oreboot
for _f in [!b]*66.tgz base66.tgz; do tar -C / -xzphf "$_f" || break; done
/sbin/oreboot
Note 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
above also apply to manual upgrades.
Finally, remove /sbin/oreboot and update packages:
pkg_add -u.
Reboot once more to make sure you run on your own kernel generated by KARL.
[FAQ Index] | [6.4 -> 6.5] [6.6 -> 6.7]