[FAQ Index] | [6.0 -> 6.1] [6.2 -> 6.3]
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.2 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.
Apply the configuration changes and
finish up by upgrading the packages: pkg_add -u.
Alternatively, you can use the manual upgrade process.
You may wish to check the errata page or upgrade to the stable branch to get any post-release fixes.
/usr/share/man.
To remove all outdated manuals, issue rm -rf /usr/share/man.
$HISTFILE is set) changed from a binary file format
to plaintext.
If you wish to retain your current ksh history,
create a plaintext version of it before upgrading:
After the upgrade, you can use$ fc -ln 1 | cut -f2- > ~/ksh_hist.txt
ksh_hist.txt as your history file.
If you mount HOME via NFS, ensure that machines running
6.2 use a different HISTFILE than machines running 6.1 or earlier.
bsd.rd, drop to a shell and re-initialize the GPT:
Then do a fresh install and restore the data from the backup.# fdisk -iy -g -b 960 sdN
/usr/obj.
If you build your own releases on the amd64 or i386 platforms, you need to
make sure that you have at least 3G available on /usr/obj.
# chgrp -R crontab /var/cron/atjobs
rtsol is no longer supported in
hostname.if(5).
Replace it with inet6 autoconf.
{install,upgrade}.site scripts in bsd.rd
is postponed to the end of the installer script.
If you use this feature, make sure your script still works as expected.
The script will now run after these steps:
The vlan, vlandev, and -vlandev options
are now deprecated in favour of vnetid, -vnetid,
parent, and -parent when using ifconfig(8) or
in hostname.if(5) configuration files.
Use of the vlan option must be replaced with vnetid.
Because VLAN tag 0 is invalid according to the relevant VLAN
specifications, the vnetid option does not accept 0 as a
valid network identifier.
To use VLAN tag 0 on the wire the vnetid can be unconfigured with
-vnetid.
Use of vlandev and -vlandev must be replaced with
parent and -parent respectively.
Unlike vlan and vlandev, vnetid and
parent do not implicitly bring the vlan interface up.
Similarly, the vlan option is no longer implied by the
interface's minor when it is not explicitly set.
ifconfig(8) no longer outputs a vlan specific status line, or separate vnetid and parent lines. The vnetid and parent lines have been merged into a single encap line containing the VLAN tag and parent information.
An example of the changes to a vlan(4) configuration file and the ifconfig(8) output is below. Before the changes:
# cat /etc/hostname.vlan7
vlandev em0 # vlan 7 and up are implied
lladdr random
# ifconfig vlan7
vlan7: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 70:a7:3a:75:da:2d
index 7 priority 0 llprio 3
vlan: 7 parent interface: em0
vnetid: 7
parent: em0
status: active
After the changes:
# cat /etc/hostname.vlan7
vnetid 7 parent em0
up
lladdr random
# ifconfig vlan7
vlan7: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 60:e8:d7:0d:10:6d
index 7 priority 0 llprio 3
encap: vnetid 7 parent: em0
groups: vlan
status: active
emacs-usemeta
ksh(1) flag
is no longer useful and has been deprecated.
Please adjust your shell config files.
allow-opts to your rule if you want to pass IP packets
with options.
ICMP6_DST_UNREACH_NOTNEIGHBOR).
The correct type is beyond-unr (ICMP6_DST_UNREACH_BEYONDSCOPE).
In pf.conf(5),
notnbr-unr needs to be replaced with beyond-unr.
secure keyword is not valid anymore in listen directives
in smtpd.conf(5).
Users are advised to replace existing listen secure directives with
two separate tls and smtps listeners, i.e., a line like
has to be replaced withlisten on $iface secure pki $pki
Relaying syntax is not affected by this change.listen on $iface tls pki $pki listen on $iface smtps pki $pki
softreconfig (in|out) (yes|no) neighbor setting has been removed
in bgpd.conf(5).
softreconfig can no longer be disabled. Remove the instruction from
the configuration.
filebeat and packetbeat were updated to 5.3.1 which
significantly changed the configuration file layout from 1.x to 5.x.
Please refer to the
upstream documentation
for migrating your configuration.
Also take note of the
breaking changes
when upgrading to 5.3.1.
topbeat has been merged into metricbeat, a
migration path is available.
/etc/borgmatic/config)
to YAML (/etc/borgmatic/config.yaml) formatting. Please
upgrade your existing config after updating your package:
# upgrade-borgmatic-config
lpr, lpq, lprm) are no longer
symlinked into /usr/bin.
If you want to use CUPS commands from the command line, you must now use the
absolute path, e.g.:
Running$ /usr/local/bin/lpq
lpq without an absolute path would invoke the base
lpq(1).
Similarly, to view a CUPS manual, you would use:
If you consistently use CUPS, you can add the following to your$ man -m /usr/local/man lpq
.kshrc to avoid the need to type an absolute path:
for i in lpq lpr lprm; do alias $i=/usr/local/bin/$i; done
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
base62.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 xshare62.tgz
tar -C / -xzphf xserv62.tgz
tar -C / -xzphf xfont62.tgz
tar -C / -xzphf xbase62.tgz
tar -C / -xzphf man62.tgz
tar -C / -xzphf game62.tgz
tar -C / -xzphf comp62.tgz
tar -C / -xzphf base62.tgz # Install last!
/sbin/oreboot
or, if you use
ksh(1), you can do
cp /sbin/reboot /sbin/oreboot
for _f in [!b]*62.tgz base62.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.0 -> 6.1] [6.2 -> 6.3]