[BACK]Return to upgrade67.html CVS log [TXT][DIR] Up to [local] / www / faq

File: [local] / www / faq / upgrade67.html (download) (as text)

Revision 1.12, Sun Oct 18 13:23:14 2020 UTC (3 years, 7 months ago) by tj
Branch: MAIN
CVS Tags: HEAD
Changes since 1.11: +1 -5 lines

uncomment upgrade68 links

<!doctype html>
<html lang=en id=faq>

<title>OpenBSD Upgrade Guide: 6.6 to 6.7</title>
<meta charset=utf-8>
<meta name="description"   content="OpenBSD Upgrade Process for 6.6 -> 6.7">
<meta name="viewport"      content="width=device-width, initial-scale=1">
<link rel="stylesheet"     type="text/css" href="../openbsd.css">
<link rel="canonical"      href="https://www.openbsd.org/faq/upgrade67.html">
<style>
  dt { margin-left: 40px; float: left; }
  dd { margin: 0 0 0 8em; }
</style>

<h2 id=OpenBSD>
<a href="../index.html">
<i>Open</i><b>BSD</b></a>
Upgrade Guide: 6.6 to 6.7
</h2>
<hr>
<p>
<a href="index.html">[FAQ Index]</a> |
<a href="upgrade66.html">[6.5 -> 6.6]</a>
<a href="upgrade68.html">[6.7 -> 6.8]</a>
<p>

<blockquote>
<p><i>
Upgrades are only supported from one release to the release immediately
following it.</i>
<p>
<strong><i>Read through and understand this process before attempting it.
For critical or physically remote machines, test it on an identical,
local system first.
</i></strong></blockquote>

Start by performing the <a href="#BeforeUpdate">pre-upgrade steps</a>.
Next, boot from the install kernel, <a href="faq4.html#bsd.rd">bsd.rd</a>:
use <a href="faq4.html#MkInsMedia">bootable install media</a>, or place the 
6.7 version of <code>bsd.rd</code> in the root of your filesystem and 
instruct the boot loader to boot this kernel.
Once this kernel is booted, choose the <code>(U)pgrade</code> option and 
follow the prompts.

<p>
An unattended upgrade method was introduced in version 6.6 which provides the 
simplest method for performing this upgrade. The 
<a href="https://man.openbsd.org/OpenBSD-6.7/sysupgrade.8">sysupgrade(8)</a>
program will download all install sets, verify their signatures, and reboot 
to do the upgrade. Using this method means <code>sysupgrade</code> does the 
download and verification of <code>bsd.rd</code> for you.

<p>
Another option is using the <a href="#NoInstKern">manual upgrade process</a>
(although this is not recommended and is the most error-prone method).

<p>
After upgrading the sets, apply the <a href="#ConfigChanges">configuration
changes</a> and <a href="#RmFiles">remove the old files</a>.
Finish up by upgrading the packages: <code><b>pkg_add -u</b></code>.

<p>
You may wish to check the <a href="../errata67.html">errata page</a> for
any post-release fixes.

<h3 id="Before">Before using any upgrade method</h3>

<ul>
  <li><b>Check diskspace of /usr.</b>
  Verify that the /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.
  <p>

  <p>
  <li><b>rpki-client(8).</b>
  The new <code>_rpki-client</code> user recycles the user and group ids
  of the "named" daemon user (<code>named</code>, uid/gid 70) which was
  removed in 2014.  If you have kept upgrading your system from that time
  and never deleted the user and group, delete them and the
  <code>/var/named</code> directory:

  <pre class="cmdbox">
  # <b>userdel named</b>
  # <b>groupdel named</b>
  # <b>rm -rf /var/named  # backup the data if still needed</b><!--
  --></pre>

  If you do not delete them before upgrading,
  <a href="https://man.openbsd.org/OpenBSD-6.7/sysmerge">sysmerge(8)</a>
  will fail and will need to be re-run manually after deleting them.

</ul>

<hr>

<h3 id="BeforeUpdate">Before rebooting into the install kernel</h3>

<ul>
  <li><b>Get and verify <code>bsd.rd</code>.</b>
  Download the ramdisk kernel and the cryptographically signed checksum file
  for your architecture. (This may be skipped if using sysupgrade(8) since it
  verifies downloaded files).

  <p>
  <dl>
    <dt><code>bsd.rd</code></dt>
    <dd>
    [<a href="https://cdn.openbsd.org/pub/OpenBSD/6.7/alpha/bsd.rd">alpha</a>]
    [<a href="https://cdn.openbsd.org/pub/OpenBSD/6.7/amd64/bsd.rd">amd64</a>]
    [<a href="https://cdn.openbsd.org/pub/OpenBSD/6.7/arm64/bsd.rd">arm64</a>]
    [<a href="https://cdn.openbsd.org/pub/OpenBSD/6.7/armv7/bsd.rd">armv7</a>]
    [<a href="https://cdn.openbsd.org/pub/OpenBSD/6.7/hppa/bsd.rd">hppa</a>]
    [<a href="https://cdn.openbsd.org/pub/OpenBSD/6.7/i386/bsd.rd">i386</a>]
    [<a href="https://cdn.openbsd.org/pub/OpenBSD/6.7/landisk/bsd.rd">landisk</a>]
    [<a href="https://cdn.openbsd.org/pub/OpenBSD/6.7/loongson/bsd.rd">loongson</a>]
    [<a href="https://cdn.openbsd.org/pub/OpenBSD/6.7/luna88k/bsd.rd">luna88k</a>]
    [<a href="https://cdn.openbsd.org/pub/OpenBSD/6.7/macppc/bsd.rd">macppc</a>]
    [<a href="https://cdn.openbsd.org/pub/OpenBSD/6.7/octeon/bsd.rd">octeon</a>]
    [<a href="https://cdn.openbsd.org/pub/OpenBSD/6.7/sparc64/bsd.rd">sparc64</a>]
    </dd>
    <dt><code>SHA256.sig</code></dt>
    <dd>
    [<a href="https://cdn.openbsd.org/pub/OpenBSD/6.7/alpha/SHA256.sig">alpha</a>]
    [<a href="https://cdn.openbsd.org/pub/OpenBSD/6.7/amd64/SHA256.sig">amd64</a>]
    [<a href="https://cdn.openbsd.org/pub/OpenBSD/6.7/arm64/SHA256.sig">arm64</a>]
    [<a href="https://cdn.openbsd.org/pub/OpenBSD/6.7/armv7/SHA256.sig">armv7</a>]
    [<a href="https://cdn.openbsd.org/pub/OpenBSD/6.7/hppa/SHA256.sig">hppa</a>]
    [<a href="https://cdn.openbsd.org/pub/OpenBSD/6.7/i386/SHA256.sig">i386</a>]
    [<a href="https://cdn.openbsd.org/pub/OpenBSD/6.7/landisk/SHA256.sig">landisk</a>]
    [<a href="https://cdn.openbsd.org/pub/OpenBSD/6.7/loongson/SHA256.sig">loongson</a>]
    [<a href="https://cdn.openbsd.org/pub/OpenBSD/6.7/luna88k/SHA256.sig">luna88k</a>]
    [<a href="https://cdn.openbsd.org/pub/OpenBSD/6.7/macppc/SHA256.sig">macppc</a>]
    [<a href="https://cdn.openbsd.org/pub/OpenBSD/6.7/octeon/SHA256.sig">octeon</a>]
    [<a href="https://cdn.openbsd.org/pub/OpenBSD/6.7/sparc64/SHA256.sig">sparc64</a>]
    </dd>
  </dl>

  <p>
  Verify them using
  <a href="https://man.openbsd.org/OpenBSD-6.7/signify">signify(1)</a>:

  <pre class="cmdbox">
  $ <b>signify -C -p /etc/signify/openbsd-67-base.pub -x SHA256.sig bsd.rd</b>
  Signature Verified
  bsd.rd: OK<!--
  --></pre>

  <p>
  <li><b>Read configuration and syntax changes and the
         package upgrade instructions.</b>
  There were several configuration changes and changes in packages that may
  require planning before starting the upgrade.
</ul>


<h3 id="ConfigChanges">Configuration and syntax changes</h3>

<ul>
  <li><b>audio(4)/midi(4).</b>
  Regular users cannot access <code>/dev/audio*</code> and
  <code>/dev/rmidi*</code> devices any longer.
  Regular users must use the
  <a href="https://man.openbsd.org/OpenBSD-6.7/sndioctl.1">sndioctl(1)</a>
  utility in place of
  <a href="https://man.openbsd.org/OpenBSD-6.7/mixerctl.8">mixerctl(8)</a>
  to adjust the volume, for instance:

  <pre class="cmdbox">
  $ <b>sndioctl output.level=0.5</b><!--
  --></pre>

  As access to MIDI devices is now provided by
  <a href="https://man.openbsd.org/OpenBSD-6.7/sndiod.8">sndiod(8)</a>,
  programs must use <code>midi/N</code> instead of <code>rmidi/N</code>
  as MIDI port names.

  <p>
  Note that audio devices continue to be configured with
  <a href="https://man.openbsd.org/OpenBSD-6.7/mixerctl.8">mixerctl(8)</a>
  as
  <a href="https://man.openbsd.org/OpenBSD-6.7/sndioctl.1">sndioctl(1)</a>
  doesn't expose all audio device controls.
  Furthermore,
  <a href="https://man.openbsd.org/OpenBSD-6.7/sndioctl.1">sndioctl(1)</a>
  is not intended to be run as root.

  <p>
  Accordingly, the <code>/dev/mixer*</code> devices are no longer used.

  <p>
  <li><b>iked(8).</b>

  <a href="https://man.openbsd.org/OpenBSD-6.7/iked.8">iked(8)</a> 
  no longer automatically blocks unencrypted outbound IPv6 packets.
  This feature was intended to avoid accidental leakage, but in practice was
  found to mostly be a cause of misconfiguration.
  Instead, if you would like to explicitly block these packets, add the 
  following line to 
  <code>
  <a href="https://man.openbsd.org/OpenBSD-6.7/ipsec.conf.5">/etc/ipsec.conf</a>
  </code>
  (<b>not</b> <code>iked.conf</code>):

  <pre class="cmdbox">
  <b>flow esp out from ::/0 to ::/0 type deny</b><!--
  --></pre>

  and enable loading it with:

  <pre class="cmdbox">
  # <b>rcctl enable ipsec</b>           # to load at boot
  # <b>ipsecctl -f /etc/ipsec.conf</b>  # to load immediately<!--
  --></pre>

  If you previously used 
  <a href="https://man.openbsd.org/OpenBSD-6.7/iked.8">iked(8)</a>'s
  <code>-6</code> flag to disable this feature, it is no longer needed and 
  should be removed from
  <code>
  <a href="https://man.openbsd.org/OpenBSD-6.7/rc.conf.local.8">
  /etc/rc.conf.local</a></code> if used.
  
  <p>
  <li><b>iked(8)/isakmpd(8).</b>
  The type of incoming
  <a href="https://man.openbsd.org/OpenBSD-6.7/ipsec.4">ipsec(4)</a>
  flows installed by
  <a href="https://man.openbsd.org/OpenBSD-6.7/iked.8">iked(8)</a> or
  <a href="https://man.openbsd.org/OpenBSD-6.7/isakmpd.8">isakmpd(8)</a>
  was changed from "use" to "require". This means unencrypted traffic
  matching the flows will no longer be accepted.
  Flows of type "use" can still be set up manually in
  <a href="https://man.openbsd.org/OpenBSD-6.7/ipsec.conf">ipsec.conf(5)</a>.

  <p>
  <li><b>ip(4)/ip6(4).</b>
  Packets with a destination address not matching an IP address of
  the receiving interface will now be dropped unless IP forwarding is enabled.
  IP forwarding can be enabled via
  <a href="https://man.openbsd.org/OpenBSD-6.7/sysctl.conf.5">
  sysctl.conf(5)</a>:
  
  <pre class="cmdbox">
  <b>net.inet.ip.forwarding=1</b>
  <b>net.inet6.ip6.forwarding=1</b><!--
  --></pre>

  Note that when forwarding is enabled, all local IP addresses can be
  reached from outside unless explicitly filtered with
  <a href="https://man.openbsd.org/OpenBSD-6.7/pf.4"> pf(4)</a>.

  <p>
  <li><b>man.conf(5).</b>

  The <a href="https://man.openbsd.org/OpenBSD-6.7/man.conf.5">man.conf(5)</a>
  <code>_whatdb</code> directive is no longer supported.
  If you have an <code>/etc/man.conf</code> file, change lines of the form:

  <pre class="cmdbox">
  <b>_whatdb /usr/share/man/whatis.db</b><!--
  --></pre>

  to this form:

  <pre class="cmdbox">
  <b>manpath /usr/share/man</b><!--
  --></pre>

  The <code>_whatdb</code> directive has been obsolete since 2015.

  <p>
  <li><b>npppd(8).</b>

  Support for using 
  <a href="https://man.openbsd.org/OpenBSD-6.7/tun.4">tun(4)</a>
  as an access concentrator with
  <a href="https://man.openbsd.org/OpenBSD-6.7/npppd.8">npppd(8)</a>
  has been removed.  This functionality has been moved into a dedicated
  <a href="https://man.openbsd.org/OpenBSD-6.7/pppac.4">pppac(4)</a>
  network interface driver.
  To migrate to the new driver, replace use of the tun interfaces in
  <a href="https://man.openbsd.org/OpenBSD-6.7/npppd.conf.5">npppd.conf(5)</a>
  with pppac.

  <p>
  <li><b>rebound(8).</b>

  <a href="https://man.openbsd.org/OpenBSD-6.6/rebound.8">rebound(8)</a>
  has been removed.  Users are advised to consider alternatives such as
  <a href="https://man.openbsd.org/OpenBSD-6.7/unwind.8">unwind(8)</a>.

  <p>
  <li><b>unwind(8).</b>

  <code>asr</code> has been renamed to <code>stub</code> in
  <a href="https://man.openbsd.org/OpenBSD-6.7/unwind.conf.5">
  unwind.conf(5)</a>

  <p>
  <a href="https://man.openbsd.org/OpenBSD-6.7/unwind.8">unwind(8)</a>
  no longer uses http to detect captive portals. Existing 
  <code>captive portal</code> sections must be removed from
  <a href="https://man.openbsd.org/OpenBSD-6.7/unwind.conf.5">
  unwind.conf(5)</a>

  <p>
  <li><b>usb(4)/uhid(4).</b>
  The default permissions of the
  <a href="https://man.openbsd.org/OpenBSD-6.7/usb.4">usb(4)</a> and
  <a href="https://man.openbsd.org/OpenBSD-6.7/uhid.4">uhid(4)</a>
  device nodes have been changed by restricting read-write access to the
  root user.


  <p>
  Access to FIDO/U2F security keys is now provided by the
  <a href="https://man.openbsd.org/OpenBSD-6.7/fido.4">fido(4)</a>
  driver instead of
  <a href="https://man.openbsd.org/OpenBSD-6.7/uhid.4">uhid(4)</a>.
  Programs must use <code>/dev/fido/N</code> instead of
  <code>/dev/uhidN</code> for U2F/FIDO.

  <p>
  <li><b>weekly(8).</b>

  <code>TMPDIR</code> is no longer propagated for <code>locate.updatedb</code>
  in <a href="https://man.openbsd.org/OpenBSD-6.7/weekly.8">weekly(8)</a>.
  Custom <code>TMPDIR</code> values for <code>locate.updatedb</code> set in
  root crontab or <code>/etc/weekly.local</code> should be moved into
  <code>/etc/locate.rc</code>.

</ul>

<h3 id="RmFiles">Files to remove</h3>

<ul>
  <li>
  Remove files no longer included in the current release of 
  <a href="https://man.openbsd.org/OpenBSD-6.7/perl.1">perl(1)</a>:
  <pre class="cmdbox">
# <b>rm -rf /usr/libdata/perl5/*/Storable \
       /usr/libdata/perl5/*/arybase.pm \
       /usr/libdata/perl5/*/auto/arybase \
       /usr/libdata/perl5/B/Debug.pm \
       /usr/libdata/perl5/Locale/{Codes,Country,Currency,Language,Script}* \
       /usr/libdata/perl5/Math/BigInt/CalcEmu.pm \
       /usr/libdata/perl5/unicore/To/_PerlWB.pl \
       /usr/libdata/perl5/unicore/lib/GCB/EB.pl \
       /usr/libdata/perl5/unicore/lib/GCB/GAZ.pl \
       /usr/share/man/man3p/B::Debug.3p \
       /usr/share/man/man3p/Locale::{Codes*,Country,Currency,Language,Script}.3p \
       /usr/share/man/man3p/Math::BigInt::CalcEmu.3p \
       /usr/share/man/man3p/arybase.3p</b><!--
  --></pre>

  <p>
  <li>
  <a href="https://man.openbsd.org/OpenBSD-6.7/dig.1">dig(1)</a>,
  <a href="https://man.openbsd.org/OpenBSD-6.7/host.1">host(1)</a>,
  and
  <a href="https://man.openbsd.org/OpenBSD-6.7/nslookup.1">nslookup(1)</a>
  have been moved to <code>/usr/bin</code> so the old binaries
  should be removed.

  <pre class="cmdbox">
  # <b>rm -f /usr/sbin/{dig,host,nslookup}</b><!--
  --></pre>

</ul>

<h3 id="SpecPkg">Special packages</h3>

<ul>
  <li><b>databases/postgresql.</b>

  There was a major update to PostgreSQL 12.1.
  Use <code>pg_upgrade</code> as described in the
  pkg-readme file or do a dump/restore.

  <p>
  <li><b>databases/redis.</b>

  Redis was updated to 5.0.9.
  Users should have no problem migrating from 4.0 to 5.0.
  A list of backward incompatible changes is at the end of the detailed
  <a href="https://raw.githubusercontent.com/antirez/redis/5.0/00-RELEASENOTES">
  release notes</a>. Please note that the database is automatically upgraded 
  on first run and cannot be read by older versions - take a backup first if 
  you are concerned about compatibility.

  <p>
  <li><b>devel/ipython.</b>

  Python 2 support has been retired. <code>/usr/local/bin/ipython-3</code> has
  been renamed to <code>/usr/local/bin/ipython</code>.

  <p>
  <li><b>net/isc-bind.</b>

  Current BIND versions insist that a writable "working directory" is available.
  A simple fix for upgrading users is to add <code>directory "/tmp";</code>
  to the options section of <code>named.conf</code>.
  If you use relative paths in your configuration they will also need
  updating as <code>directory</code> is used as the base for these.
  All paths in <code>named.conf</code> are relative to the chroot directory,
  <code>/var/named</code>.

  <p>
  <li><b>net/powerdns.</b>

  The update to PowerDNS Authoritative Server 4.3.0 requires a DB schema 
  change.  For details see
  <a href="https://docs.powerdns.com/authoritative/upgrading.html">
  the upgrade notes</a>
  and <code>/usr/local/share/doc/pdns</code>.

  <p>
  <li><b>www/jupyter-notebook.</b>

  Jupyter-notebook has been updated to 6.0.3, which dropped support for 
  Python 2.  Existing notebooks should be checked if they work with Python 3.
  Please note that tools supplied by this package have been renamed, e.g.
  <code>jupyter-notebook-3</code> has been renamed to
  <code>jupyter-notebook</code>.

  <p>
  <li><b>www/mozilla-firefox.</b>

  Previously, disabling pledge was done by modifying an entry in about:config
  but now it is done using files in <code>/etc/firefox</code> as explained in 
  the pkg-readme file, <code>/usr/local/share/doc/pkg-readmes/firefox</code>.
  Unveil has been added to firefox to restrict filesystem access by default.
  To grant access to additional paths or disable unveil, see the pkg-readme 
  file.

</ul>

<hr>
<h2 id="NoInstKern">Upgrade without the install kernel</h2>

<b style="color:#e00000">This is NOT the recommended process.
Use the install kernel method if at all possible!</b>

<p>
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 where there is no easy
access to the system console.

<h3>Preparation</h3>

<ul>
  <li><b>Place install files in a good location.</b>
    Make sure you have sufficient space!
    Running out of space on a remote upgrade could be...unfortunate.
    Note that using softdeps can exaggerate the situation as deleted and
    overwritten files do not release their space immediately.
    Consider disabling the <code>softdep</code> mount option in
    <code>/etc/fstab</code> and rebooting before undertaking a manual upgrade.
    Having at least 500MB free on <code>/usr</code> would be recommended.

  <p>
  <li><b>Become root.</b>
    While using
    <a href="https://man.openbsd.org/OpenBSD-6.7/doas">doas(1)</a>
    before each command is generally a good practice, the command will likely
    be broken by the last steps, so you should become root before starting
    this process.
    It might be good to verify your access to root using a method other than
    doas at this point, i.e., direct login or using
    <a href="https://man.openbsd.org/OpenBSD-6.7/su">su(1)</a>.

  <p>
  <li><b>Stop and/or disable any appropriate applications.</b>
    During this process, all the userland applications will be replaced but
    may not be runnable, and strange things may happen as a result.
    You may also have issues with DNS resolution during the first reboot, so
    PF rules and NFS mounts dependent upon DNS may cause boot-up problems.
    There may be other applications which you wish to keep from running
    immediately after the upgrade; stop and disable them as well.

  <p>
  <li><b>Install new boot blocks.</b>
    This should actually be done at the end of any upgrade.
    If this has been neglected, then failure to do this now may break serial
    console or other things, depending on your platform.
    Use <a href="https://man.openbsd.org/OpenBSD-6.7/amd64/installboot">
    installboot(8)</a>, assuming <code>sd0</code> is your boot disk:
    <pre class="cmdbox">
    <b>installboot sd0</b><!--
    --></pre>
</ul>

<h3>Upgrading manually</h3>

<ul>
  <li><b>Install new kernels.</b>
    The extra steps for copying over the primary kernel are done
    to ensure that there is always a valid kernel on the disk.
    <p>
    If using the multiprocessor kernel:
    <pre class="cmdbox">
    <b>cd /usr/rel</b>    # where you put the release files
    <b>ln -f /bsd /obsd && cp bsd.mp /nbsd && mv /nbsd /bsd</b>
    <b>cp bsd.rd /</b>
    <b>cp bsd /bsd.sp</b><!--
    --></pre>
    If using the single processor kernel:
    <pre class="cmdbox">
    <b>cd /usr/rel</b>    # where you put the release files
    <b>ln -f /bsd /obsd && cp bsd /nbsd && mv /nbsd /bsd</b>
    <b>cp bsd.rd bsd.mp /</b>    # may give a harmless warning<!--
    --></pre>

  <li><b>Enable KARL.</b>
    Store the kernel's checksum:
    <pre class="cmdbox">
    <b>sha256 -h /var/db/kernel.SHA256 /bsd</b> <!--
    --></pre>

  <li><b>Install new userland.</b>
    Save a copy of reboot(8), extract and install the release tarballs, reboot.
    Install <code>base67.tgz</code> last, because the new base system,
    in particular <a href="https://man.openbsd.org/OpenBSD-6.7/tar">tar(1)</a>,
    <a href="https://man.openbsd.org/OpenBSD-6.7/gzip">gzip(1)</a> and
    <a href="https://man.openbsd.org/OpenBSD-6.7/reboot">reboot(8)</a>,
    will not work with the old kernel.
    Either untar the needed filesets manually:
    <pre class="cmdbox">
    <b>cp /sbin/reboot /sbin/oreboot</b>
    <b>tar -C / -xzphf xshare67.tgz</b>
    <b>tar -C / -xzphf xserv67.tgz</b>
    <b>tar -C / -xzphf xfont67.tgz</b>
    <b>tar -C / -xzphf xbase67.tgz</b>
    <b>tar -C / -xzphf man67.tgz</b>
    <b>tar -C / -xzphf game67.tgz</b>
    <b>tar -C / -xzphf comp67.tgz</b>
    <b>tar -C / -xzphf base67.tgz</b>    # Install last!
    <b>/sbin/oreboot</b><!--
    --></pre>
    or, if you use
    <a href="https://man.openbsd.org/OpenBSD-6.7/ksh">ksh(1)</a>, you can do:
    <pre class="cmdbox">
    <b>cp /sbin/reboot /sbin/oreboot</b>
    <b>for _f in [!b]*67.tgz base67.tgz; do tar -C / -xzphf "$_f" || break; done</b>
    <b>/sbin/oreboot</b><!--
    --></pre>
    Note that <a href="https://man.openbsd.org/OpenBSD-6.7/tar">tar(1)</a>
    can expand only one archive per invocation, so a simple glob won't work.

  <p>
  <li><b>After reboot, update <code>/dev</code>.</b>
    Run
    <a href="https://man.openbsd.org/OpenBSD-6.7/amd64/MAKEDEV">MAKEDEV(8)</a>:
    <pre class="cmdbox">
    <b>cd /dev</b>
    <b>./MAKEDEV all</b><!--
    --></pre>

  <li><b>Update boot loader.</b>
    Still assuming <code>sd0</code> is your boot disk:
    <pre class="cmdbox">
    <b>installboot sd0</b><!--
    --></pre>

  <li><b>Update system configuration files.</b>
    Run <a href="https://man.openbsd.org/OpenBSD-6.7/sysmerge">sysmerge(8)</a>:
    <pre class="cmdbox">
    <b>sysmerge</b><!--
    --></pre>

  <li><b>Update firmware.</b>
    There may be new firmware for your system.
    Update it with
    <a href="https://man.openbsd.org/OpenBSD-6.7/fw_update">fw_update(1)</a>:
    <pre class="cmdbox">
    <b>fw_update</b><!--
    --></pre>

  <li><b>Finish up.</b>
    Review the console output from boot (using <code><b>dmesg -s</b></code>)
    and correct any failures as necessary.
    All the steps following <a href="#ConfigChanges">configuration changes</a>
    above also apply to manual upgrades.
    Finally, remove <code><b>/sbin/oreboot</b></code> and update packages:
    <code><b>pkg_add -u</b></code>.
    Reboot once more to make sure you run on your own kernel generated by KARL.
</ul>

<p>
<a href="index.html">[FAQ Index]</a> |
<a href="upgrade66.html">[6.5 -> 6.6]</a>
<a href="upgrade68.html">[6.7 -> 6.8]</a>

<hr>
<small>$OpenBSD: upgrade67.html,v 1.12 2020/10/18 13:23:14 tj Exp $</small>