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

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

Revision 1.19, Tue May 19 01:58:36 2020 UTC (4 years ago) by kmos
Branch: MAIN
CVS Tags: HEAD
Changes since 1.18: +1 -5 lines

Uncomment the links to upgrade67.html since install sets are appearing
out there.

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

<title>OpenBSD Upgrade Guide: 6.5 to 6.6</title>
<meta charset=utf-8>
<meta name="description"   content="OpenBSD Upgrade Process for 6.5 -> 6.6">
<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/upgrade66.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.5 to 6.6
</h2>
<hr>
<p>
<a href="index.html">[FAQ Index]</a> |
<a href="upgrade65.html">[6.4 -> 6.5]</a>
<a href="upgrade67.html">[6.6 -> 6.7]</a>
<p>

<blockquote><i>
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.
</i></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.6 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>
Alternatively, a new unattended upgrade method has been introduced.
The <a href="https://man.openbsd.org/sysupgrade.8">sysupgrade(8)</a> program
is available as a
<a href="https://man.openbsd.org/syspatch.8">syspatch(8)</a> for OpenBSD 6.5
on the i386, amd64, and arm64 platforms.  Once installed, the upgrade can be
performed by running <code>sysupgrade</code>.

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

<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="../errata66.html">errata page</a> for
any post-release fixes.

<hr>


<h3 id="BeforeUpdate">Before rebooting into the install kernel</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>

  <li><b>Get and verify <code>bsd.rd</code>.</b>
  Download the ramdisk kernel and the cryptographically signed checksum file
  for your architecture.

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

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

  <pre class="cmdbox">
  $ <b>signify -C -p /etc/signify/openbsd-66-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>acme-client(1).</b>

  <a href="https://man.openbsd.org/OpenBSD-6.6/acme-client.1">acme-client(1)</a>
  has been updated to implement the recently published RFC&nbsp;8555. Users 
  must change the api url in
  <a href="https://man.openbsd.org/OpenBSD-6.6/acme-client.conf.5">
  <code>/etc/acme-client.conf</code></a> from
  <pre class="cmdbox">
  https://acme-v01.api.letsencrypt.org/directory<!--
  --></pre>
  to
  <pre class="cmdbox">
  https://acme-v02.api.letsencrypt.org/directory<!--
  --></pre>
  The staging api url should also be changed from
  <pre class="cmdbox">
  https://acme-staging.api.letsencrypt.org/directory<!--
  --></pre>
  to
  <pre class="cmdbox">
  https://acme-staging-v02.api.letsencrypt.org/directory<!--
  --></pre>
  <p>
  The <code>-A</code> and <code>-D</code> flags have been removed from
  <a href="https://man.openbsd.org/OpenBSD-6.6/acme-client.1">
  acme-client(1)</a>.  The private keys are now created automatically
  if missing.  If you were using either of these flags on your regular
  command lines, remove them.


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

  The <a href="https://man.openbsd.org/OpenBSD-6.6/bgpctl">
  <code>bgpctl(8)</code></a> <code>irrfilter</code> command has
  been removed.  People interested in generating prefix- and
  as-sets from IRR data should use bgpq3 from ports.


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

  The config keyword <code>route-collector</code> is deprecated and will cause
  <a href="https://man.openbsd.org/OpenBSD-6.6/bgpd">bgpd(8)</a>
  to fail parsing the config. Instead disable the route evaluation process
  on the Loc-RIB with
  <pre class="cmdbox">
  rde rib Loc-RIB no evaluate<!--
  --></pre>


  <p>
  <li><b>bootloader for OpenBSD/octeon.</b>

  OpenBSD/octeon now comes with a bootloader.
  U-Boot must be configured to load the file <code>boot</code>
  instead of <code>bsd</code>.
  For example, the following kernel launch command
  <pre class="cmdbox">
  fatload usb 0 ${loadaddr} <b>bsd</b>; bootoctlinux rootdev=8e309909c27040dd numcores=4<!--
  --></pre>
  would need to change to
  <pre class="cmdbox">
  fatload usb 0 ${loadaddr} <b>boot</b>; bootoctlinux rootdev=8e309909c27040dd numcores=4<!--
  --></pre>
  See <a href="https://ftp.openbsd.org/pub/OpenBSD/6.6/octeon/INSTALL.octeon">
  INSTALL.octeon</a> for the details on how to configure U-Boot. (Search for
  "OpenBSD/octeon bootloader").


  <p>
  <li><b>doas(1).</b>

  The environment variable handling in
  <a href="https://man.openbsd.org/OpenBSD-6.6/doas.1">doas(1)</a>
  has been changed. In particular <code>HOME</code> and <code>PATH</code>
  are now reset to the target user.


  <p>
  <li><b>IPv6 link-local address change.</b>

  It has been discovered that some hosting providers route customer IPv6
  prefixes to link-local addresses derived from Ethernet MAC addresses
  (RFC&nbsp;2464).
  This leads to hard to debug IPv6 connectivity issues with the
  RFC&nbsp;7217-style random but stable link-local addresses that OpenBSD used.
  Link-local addresses are again formed from Ethernet MAC addresses.


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

  The order of the arguments in the <code>create</code>,
  <code>start</code>, and <code>stop</code> commands of
  <a href="https://man.openbsd.org/OpenBSD-6.6/vmctl.8">vmctl(8)</a> 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:
  <pre class="cmdbox">
  # <b>vmctl create disk.qcow2 -s 50G</b><!--
  --></pre>

  The new syntax specifies the command options before the argument:
  <pre class="cmdbox">
  # <b>vmctl create -s 50G disk.qcow2</b><!--
  --></pre>


</ul>


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

<ul>
  <li>
  Remove files no longer included in the current release of perl(1):
  <pre class="cmdbox">
  <b>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</b><!--
  --></pre>


  <p>
  <li>
  snmpctl(8) has been retired
  <pre class="cmdbox">
  <b>rm -f /usr/sbin/snmpctl \
        /usr/share/man/man8/snmpctl.8</b><!--
  --></pre>


  <p>
  <li>
  Remove files associated with client use of the X Font Service:
  <pre class="cmdbox">
  <b>rm -f /usr/X11R6/lib/pkgconfig/libfs.pc \
        /usr/X11R6/include/X11/fonts/FSlib.h
     rm -rf  /usr/X11R6/share/doc/libFS</b><!--
  --></pre>


  <p>
  <li>
  xman(1) has been retired
  <pre class="cmdbox">
  <b>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</b><!--
  --></pre>


  <p>
  <li>
  Remove files associated with retired X11 drivers and man pages:
  <pre class="cmdbox">
  <b>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</b><!--
  --></pre>


  <p>
  <li>
  Remove retired include files:
  <pre class="cmdbox">
  <b>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</b><!--
  --></pre>

  <p>
  <li>
  Remove other retired man pages:
  <pre class="cmdbox">
  <b>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</b><!--
  --></pre>

</ul>

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

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

  MariaDB was upgraded to the 10.3 branch.
  Due to changes in redo logs, <b>ensure that your previous version was
  shut down cleanly before upgrading</b>.
  The <code>/etc/my.cnf</code> option
  <code>innodb_additional_mem_pool_size</code>,
  found in some old default configurations, is no longer supported
  &mdash; remove it if present. If the new version fails to start,
  review <code>/var/mysql/(hostname).err</code>.
  As usual, run mysql_upgrade(1) after the update.


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

  Default <a href="https://man.openbsd.org/rc.d.8">rc.d(8)</a> flags
  for databases/postgresql have been changed from:
  <pre class="cmdbox">
  daemon_flags="-w -l /var/postgresql/logfile"<!--
  --></pre>
  to
  <pre class="cmdbox">
  daemon_flags="-D /var/postgresql/data -w -l /var/postgresql/logfile"<!--
  --></pre>
  If you defined <code>postgresql_flags</code> in
  <code>/etc/rc.conf.local</code> make sure that your entry includes
  <code>-D /var/postgresql/data</code>.


  <p>
  <li><b>games/gzdoom.</b>

  gzdoom was updated to 4.1.2 which is incompatible with previously saved
  games. There is no upstream solution.


  <p>
  <li><b>mail/courier-imap.</b>

  Full UTF-8 support has been enabled for courier-imap.
  If you are using imap folders with UTF-8 names you should check and/or
  convert them using the maildirmake(1) <code>--checkutf8</code> and
  <code>--convutf8</code> options.

  <p>
  <li><b>mail/rss2email.</b>

  rss2email has been updated to a new major version with incompatible
  configuration.
  Before updating, save your feed list:
  <pre class="cmdbox">
  r2e list &gt; ~/r2e.txt
  r2e opmlexport &gt; ~/r2e.opml<!--
  --></pre>
  After updating, see the notes in /usr/local/share/pkg-readmes/rss2email.


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

  exabgp has been upgraded to a new major version (4.1.2) and configurations
  will need changing. See 
  <a href="https://github.com/Exa-Networks/exabgp/wiki/Migration-from-3.4-to-4.0">
  https://github.com/Exa-Networks/exabgp/wiki/Migration-from-3.4-to-4.0</a>
  for details.



</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 and 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.6/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.6/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.6/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>base66.tgz</code> last, because the new base system,
    in particular <a href="https://man.openbsd.org/OpenBSD-6.6/tar">tar(1)</a>,
    <a href="https://man.openbsd.org/OpenBSD-6.6/gzip">gzip(1)</a> and
    <a href="https://man.openbsd.org/OpenBSD-6.6/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 xshare66.tgz</b>
    <b>tar -C / -xzphf xserv66.tgz</b>
    <b>tar -C / -xzphf xfont66.tgz</b>
    <b>tar -C / -xzphf xbase66.tgz</b>
    <b>tar -C / -xzphf man66.tgz</b>
    <b>tar -C / -xzphf game66.tgz</b>
    <b>tar -C / -xzphf comp66.tgz</b>
    <b>tar -C / -xzphf base66.tgz</b>    # Install last!
    <b>/sbin/oreboot</b><!--
    --></pre>
    or, if you use
    <a href="https://man.openbsd.org/OpenBSD-6.6/ksh">ksh(1)</a>, you can do
    <pre class="cmdbox">
    <b>cp /sbin/reboot /sbin/oreboot</b>
    <b>for _f in [!b]*66.tgz base66.tgz; do tar -C / -xzphf "$_f" || break; done</b>
    <b>/sbin/oreboot</b><!--
    --></pre>
    Note that <a href="https://man.openbsd.org/OpenBSD-6.6/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.6/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.6/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.6/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="upgrade65.html">[6.4 -> 6.5]</a>
<a href="upgrade67.html">[6.6 -> 6.7]</a>

<hr>
<small>$OpenBSD: upgrade66.html,v 1.19 2020/05/19 01:58:36 kmos Exp $</small>