[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.rd
SHA256.sig
Verify 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=4would need to change to
fatload usb 0 ${loadaddr} boot; bootoctlinux rootdev=8e309909c27040dd numcores=4See 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.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
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/orebootor, 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/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
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]