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

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

Revision 1.78, Wed May 6 13:34:47 2020 UTC (4 years ago) by deraadt
Branch: MAIN
CVS Tags: HEAD
Changes since 1.77: +1 -1 lines

be less different from other similar files

<!doctype html>
<html lang=en id=release>
<meta charset=utf-8>

<title>OpenBSD 6.6</title>
<meta name="description" content="OpenBSD 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/66.html">

<h2 id=OpenBSD>
<a href="index.html">
<i>Open</i><b>BSD</b></a>
6.6
</h2>

<table>
<tr>
<td>
<a href="images/sixdotsix.gif"><!-- XXX -->
<img width="227" height="343" src="images/sixdotsix-s.gif" alt="sixdotsix" ></a>
<td>
Released Oct 17, 2019<br>
Copyright 1997-2019, Theo de Raadt.<br>
<br>
<br>
Artwork by Natasha Allegri.
<br>
<ul>
<li>See the information on <a href="ftp.html">the FTP page</a> for
    a list of mirror machines.
<li>Go to the <code class=reldir>pub/OpenBSD/6.6/</code> directory on
    one of the mirror sites.
<li>Have a look at <a href="errata66.html">the 6.6 errata page</a> for a list
    of bugs and workarounds.
<li>See a <a href="plus66.html">detailed log of changes</a> between the
    6.5 and 6.6 releases.
<p>
<li><a href="https://man.openbsd.org/signify.1">signify(1)</a>
    pubkeys for this release:<p>

<table class=signify>
<tr><td>
openbsd-66-base.pub:
<td>
<a href="https://ftp.openbsd.org/pub/OpenBSD/6.6/openbsd-66-base.pub">
RWSvK/c+cFe24BIalifKnqoqdvLlXfeZ9MIj3MINndNeKgyYw5PpcWGn</a>
<tr><td>
openbsd-66-fw.pub:
<td>
RWSKyzM3wogTrgHkO88MnRiK/yuu8xy2OeIqhnP/uGL/j2IF4I5djMIM
<tr><td>
openbsd-66-pkg.pub:
<td>
RWSS4lqHZ5ayOFMBPj3leAkE9tCsSWG9OxD6MmAIS5Y3H3tD6F4vP/eF
<tr><td>
openbsd-66-syspatch.pub:
<td>
RWRQMmZg6mMlSTfHsJH9czeLAvf9e+ViLvkQ4id4dxaQqWU3aX9Cl/W1
</table>
</ul>
<p>
All applicable copyrights and credits are in the src.tar.gz,
sys.tar.gz, xenocara.tar.gz, ports.tar.gz files, or in the
files fetched via <code>ports.tar.gz</code>.
</table>

<hr>

<section id=new>
<h3>What's New</h3>
<p>
This is a partial list of new features and systems included in OpenBSD 6.6.
For a comprehensive list, see the <a href="plus66.html">changelog</a> leading
to 6.6.

<ul>

<li>General improvements and bugfixes:
  <ul>
    <li>Fixed support for amd64 machines with greater than 1023GB
      physical memory.
    <li><a href="https://man.openbsd.org/drm.4">drm(4)</a> updates.
    <li>The octeon platform is now using
      <a href="https://man.openbsd.org/clang-local.1">clang(1)</a>
      as the base system compiler.
    <li>The powerpc architecture is now provided with
      <a href="https://man.openbsd.org/clang.1">clang(1)</a>, in
      addition to aarch64, amd64, armv7, i386, mips64el, sparc64.
    <li>Disabled <a href="https://man.openbsd.org/gcc.1">gcc</a> in
      base on armv7 and i386.
    <li>Prevented <a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a>
      from repeatedly obtaining a new lease when the mtu is given in a
      lease.
    <li>Prevented more than one thread from opening a
      <a href="https://man.openbsd.org/wscons.4">wscons(4)</a> device in
      read/write mode.
    <li>Allowed non-root users to become owner of the
      <a href="https://man.openbsd.org/drm.4">drm(4)</a> device when they are
      the first to open it.
    <li>Added regular expression support for the format search, match
      and substitute modifiers in
      <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>.
    <li>Added a -v flag to source-file in
      <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> to show the commands
      and line numbers.
    <li>Added simple menus usable with mouse or keyboard in
      <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>.
      Introduced the command "display-menu" to show a menu bound to
      the mouse on status line by default, and added menus in tree,
      client and buffer modes.
    <li>Changed the behavior of swap-window -d in
      <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> to match
      swap-pane.
    <li>Allow panes to be empty in
      <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>, and
      enabling output to be piped to them with split-window or
      display-message -I.
    <li>Adjusted <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>
      to automatically scroll when dragging to create a selection with
      the mouse when the cursor reaches the top or bottom line.
    <li>Fixed a <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>
      crash when killing the current window, and other bugfixes.
  </ul>

<li>SMP-Improvements, System call unlocking:
  <ul>
    <li>Unlocked <a href="https://man.openbsd.org/getrlimit.2">getrlimit(2)</a>
      and <a href="https://man.openbsd.org/setrlimit.2">setrlimit(2)</a>
      syscalls.
    <li>Unlocked <a href="https://man.openbsd.org/read.2">read(2)</a> and
      <a href="https://man.openbsd.org/write.2">write(2)</a> syscalls.
    <li>Removed the KERNEL_LOCK from
      the <a href="https://man.openbsd.org/bridge.4">bridge(4)</a>
      output fast-path.
    <li>Made resource limit access MP-safe.
    <li>Made
      <a href="https://man.openbsd.org/file.9">file(9)</a>
      offset access MP-safe.
  </ul>

<li>Improved hardware support, including:
  <ul>
    <li>Implemented Linux compatible
      <a href="https://man.openbsd.org/acpi.4">acpi(4)</a>
      interfaces and enabled the ACPI support code in
      <a href="https://man.openbsd.org/radeon.4">radeon(4)</a> and
      <a href="https://man.openbsd.org/amdgpu.4">amdgpu(4)</a>.
    <li>Implemented backlight control for
      <a href="https://man.openbsd.org/amdgpu.4">amdgpu(4)</a>, allowing setting
      of the backlight using
      <a href="https://man.openbsd.org/wsconsctl.8">wsconsctl(8)</a>.
    <li>Both sets of speakers work by default on the ThinkPad X1C7.
    <li>Added <a href="https://man.openbsd.org/amdgpu.4">amdgpu(4)</a>, an AMD
      Radeon GPU video driver.
    <li>Added TSC synchronization for multiprocessor machines and re-enabled TSC
      as the default amd64 time source.
    <li>Added support for Realtek ALC285 in
      <a href="https://man.openbsd.org/azalia.4">azalia(4)</a>.
    <li>Added <a href="https://man.openbsd.org/uvideo.4">uvideo(4)</a> support
      for the KSMedia 8-bit IR format and for dual functions on integrated USB
      cameras.
    <li>Added the <a href="https://man.openbsd.org/aplgpio.4">aplgpio(4)</a>
      driver for the GPIO controllers on Intel's Apollo Lake SoC.
    <li>Implemented MSI-X support on sparc64.
    <li>Skipped PCI host bridges and devices not present with
      <a href="https://man.openbsd.org/acpi.4">acpi(4)</a> when establishing
      the mapping between ACPI device nodes and PCI devices.
    <li>Added the <a href="https://man.openbsd.org/ukspan.4">ukspan(4)</a>
      driver for the Keyspan USA19HS USB serial adapter.
    <li>Improved support for SAS3 controllers, made device enumeration during
      boot more reliable, and enabled 64bit DMA for io in
      <a href="https://man.openbsd.org/mpii.4">mpii(4)</a>.
    <li>Fixed MSI/MSI-X on arm64 machines with
      <a href="https://man.openbsd.org/agintc.4">agintc(4)</a>.
    <li>Added MSI-X support in
      <a href="https://man.openbsd.org/acpipci.4">acpipci(4)</a>, pciecam,
      <a href="https://man.openbsd.org/dwpcie.4">dwpcie(4)</a> and
      <a href="https://man.openbsd.org/rkpcie.4">rkpcie(4)</a>.
    <li>Improved support for type4 devices in the
      <a href="https://man.openbsd.org/ubcmtp.4">ubcmtp(4)</a> multi-touch
      trackpad driver.
    <li>Support for <a href="https://man.openbsd.org/virtio.4">virtio(4)</a> 1.0
      specification for PCI devices.
    <li>Improved support for the AR9271 chipset
      in <a href="https://man.openbsd.org/athn.4">athn(4)</a> .
    <li>Repaired support for <a href="https://man.openbsd.org/athn.4">athn(4)</a>
      9280 1T2R devices (broken since OpenBSD 6.5).
    <li>Added support for the trackpad and trackpoint of the Dell Precision 7520
      laptop.
    <li>Added the Colemak keyboard layout.
    <li>New <a href="https://man.openbsd.org/fusbtc.4">fusbtc(4)</a>
      driver for the Fairchild FUSB302 USB Type-C controller.
    <li>Added a fallback to
      <a href="https://man.openbsd.org/ehci.4">ehci(4)</a>
      which enables the USB ports on the RockPro64.
    <li>Added support for more Intel 300 Series PCH devices to
      <a href="https://man.openbsd.org/ichiic.4">ichiic(4)</a>.
    <li>Added <a href="https://man.openbsd.org/mcx.4">mcx(4)</a> driver for
      Mellanox ConnectX-4 (and later) Ethernet controllers.
    <li>Added support for the cryptographic coprocessor found on newer
      AMD Ryzen CPUs/APUs.
    <li>Improved the <a href="https://man.openbsd.org/envy.4">envy(4)</a> codec
      API and used it on ESI Juli@ cards.
    <li>Enabled EnvyHT-specific sample rates (above 96kHz) on the host
      controller for <a href="https://man.openbsd.org/envy.4">envy(4)</a>
      devices.
    <li>Added support for the USB serial adapter found in Juniper SRX 300 to
      <a href="https://man.openbsd.org/uslcom.4">uslcom(4)</a>.
    <li>Updated shared drm code,
      <a href="https://man.openbsd.org/inteldrm.4">inteldrm(4)</a>
      and <a href="https://man.openbsd.org/radeondrm.4">radeondrm(4)</a>
      to linux 4.19.78. This adds support for Intel Broxton/Apollo
      Lake, Amber Lake, Gemini Lake, Coffee Lake, Whiskey Lake,
      and Comet Lake hardware.
    <li>Made <a href="https://man.openbsd.org/startx.1">startx(1)</a> and
      <a href="https://man.openbsd.org/xinit.1">xinit(1)</a> work again on
      modern systems using
      <a href="https://man.openbsd.org/inteldrm.4">inteldrm(4)</a>,
      <a href="https://man.openbsd.org/radeondrm.4">radeondrm(4)</a>
      and <a href="https://man.openbsd.org/amdgpu.4">amdgpu(4)</a>.
    <li>Added <a href="https://man.openbsd.org/mcprtc.4">mcprtc(4)</a>, a driver
      for the Microchip MCP79400 RTC and similar.
    <li>Added I2C clock gates to <a href="https://man.openbsd.org/mvclock.4">
	mvclock(4)</a>.
    <li>Added support for MSI-X to <a href="https://man.openbsd.org/bnxt.4">
	bnxt(4)</a>.
    <li>Added <a href="https://man.openbsd.org/octpip.4">octpip(4)</a>, a driver
      for the Octeon packet input processing unit.
    <li>Added the <a href="https://man.openbsd.org/octiic.4">octiic(4)</a>
      driver for OCTEON two-wire serial interfaces.
    <li>Enabled <a href="https://man.openbsd.org/nvme.4">nvme(4)</a> on octeon.
    <li>Added <a href="https://man.openbsd.org/octpcie.4">octpcie(4)</a>, a
      driver for the PCIe controller found on OCTEON II and OCTEON III.
    <li>Fixed random kernel hangs on
      some <a href="https://www.openbsd.org/sparc64.html">sparc64</a>
      machines by blocking interrupts while sending an IPI on sunv4
      (as on sun4u).
    <li><a href="https://man.openbsd.org/ure.4">ure(4)</a> now supports
      RTL8153B devices, adding support for Ethernet on Lenovo USB-C docks.
    <li>Added new <a href="http://man.openbsd.org/ksmn.4">ksmn(4)</a> driver
      for temperature sensor on AMD Family 17h CPUs.
    <li>Explicitly disable BCM4331 wifi chips present in 2011-2012 Apple Mac systems.
      Fixes an interrupt storm that consumes about 50% of CPU0 on affected machines.
  </ul>

<li>Improved <a href="https://www.openbsd.org/arm64.html">arm64</a> hardware
  support, including:
  <ul>
    <li>Added support for Ampere eMAG CPU based systems.
    <li>Added support to <a href="https://man.openbsd.org/amlclock.4">amlclock(4)</a>
      for obtaining CPU clock frequency.
    <li>Enabled <a href="https://man.openbsd.org/amlmmc.4">amlmmc(4)</a>, a
      driver for the SD/MMC controller found on various Amlogic SoCs.
    <li>Implemented setting the CPU clock for Allwinner A64 SoCs in
      <a href="https://man.openbsd.org/sxiccmu.4">sxiccmu(4)</a>.
    <li>Added <a href="https://man.openbsd.org/amldwusb.4">amldwusb(4)</a>,
      <a href="https://man.openbsd.org/amlusbphy.4">amlusbphy(4)</a> and
      <a href="https://man.openbsd.org/amlpciephy.4">amlpciephy(4)</a>, drivers
      for the USB controller and PHYs on the Amlogic G12A/B SoCs.
    <li>Added <a href="https://man.openbsd.org/imxtmu.4">imxtmu(4)</a>, a driver
      to support the temperature sensors on i.MX8M SoCs.
    <li>Added <a href="https://man.openbsd.org/amlrng.4">amlrng(4)</a>, a simple
      random number generator driver for Amlogic SoCs.
    <li>Added <a href="https://man.openbsd.org/amclock.4">amclock(4)</a>,
      a driver for the Amlogic SoC clocks.
    <li>Added <a href="https://man.openbsd.org/amluart.4">amluart(4)</a>, a
      driver for the UARTs found on various Amlogic SoCs.
    <li>Added support for the SMBus System Interfaces (SSIF) to
      <a href="https://man.openbsd.org/ipmi.4">ipmi(4)</a>.
    <li>PXE booting using U-Boot works now.
    <li>Added clock support
      to <a href="https://man.openbsd.org/sxisyscon.4">sxisyscon(4)</a>,
      a driver for the system controller found on various Allwinner
      SoCs.
    <li>Implemented <a href="https://man.openbsd.org/smbios.4">smbios(4)</a>
      support on arm64.
    <li>Added <a href="https://man.openbsd.org/ucrcom.4">ucrcom(4)</a>, a driver
      for the serial console of chromebooks.
    <li>Enabled <a href="https://man.openbsd.org/mvmdio.4">mvmdio(4)</a> and
      <a href="https://man.openbsd.org/mvneta.4">mvneta(4)</a> on arm64.
    <li>Added <a href="https://man.openbsd.org/pinctrl.4">pinctrl(4)</a>
      support for 'pinconf-single' devices and support for
      bias and drive-strength properties, needed for HiSilicon SoCs.
    <li>Added <a href="https://man.openbsd.org/mvdog.4">mvdog(4)</a>, a driver
      to support the watchdog on the Armada 3700 SoC.
    <li>Added support for the Allwinner H6 to
      <a href="https://man.openbsd.org/sxipio.4">sxipio(4)</a> and
      <a href="https://man.openbsd.org/sxiccmu.4">sxiccmu(4)</a>.
    <li>Added <a href="https://man.openbsd.org/mviic.4">mviic(4)</a>, a driver
      to support the I2C controller on the Armada 3700 SoC.
    <li>Added <a href="https://man.openbsd.org/mvuart.4">mvuart(4)</a> to
      support the Armada 3720's serial console.
    <li>Added support for the Armada 3720 clocks to
      <a href="https://man.openbsd.org/mvclock.4">mvclock(4)</a>.
    <li>Added support for the Armada 3720 pinctrl controller to
      <a href="https://man.openbsd.org/mvpinctrl.4">mvpinctrl(4)</a>. This
      controller also includes GPIO controller functionality.
    <li>Added the RK3328 and RK3399 GMAC clocks to
      <a href="https://man.openbsd.org/rkclock.4">rkclock(4)</a>.
    <li>Increased MAXCPUs to 32 in arm64, allowing use of all cores on the Ampere
      eMAG.
    <li>Added support for the Cortex-A65 CPU.
    <li>Implemented interrupt controller functionality in
      <a href="https://man.openbsd.org/rkgpio.4">rkgpio(4)</a>,
      allowing use of the
      <a href="https://man.openbsd.org/fusbtc.4">fusbtc(4)</a>
      interrupt on the RockPro64.
  </ul>

<li>IEEE 802.11 wireless stack improvements:
  <ul>
    <li>Repaired the
      <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a>
      'nwflag' command (broken since OpenBSD 6.4).
    <li>Added a new 'stayauth' nwflag which can be set to ignore deauth frames.
      This is useful when deauth frames are being spoofed by an attacker.
    <li>Repaired the
      <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a>
      'mode' command to properly force a wireless interface into 11a/b/g/n mode.
    <li>Made 11n Tx rate selection more sensitive to transmission failures.
    <li>Fixed automatic use of HT protection in 11n hostap mode.
    <li>Fixed WPA APs occasionally appearing as non-WPA APs during AP selection.
    <li>Fixed some eligible APs being ignored during AP selection after a
      roaming failure.
    <li>Added support for 802.11n Tx aggregation to net80211 and the
      <a href="https://man.openbsd.org/iwn.4">iwn(4)</a> driver.
    <li>Made net80211 expose reasons for association failures to have
      <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a>
      display them in "scan" output and on the
      <a href="https://man.openbsd.org/ieee80211.9">ieee80211(9)</a>
      status line.
    <li>Made all wireless drivers submit a batch of received packets to the
      network stack during one interrupt if possible, rather than submitting
      each packet individually. Prevents packet loss under high load due to
      backpressure from the network stack.
  </ul>

<li>Generic network stack improvements:
  <ul>
    <li>Enabled TCP and UDP checksum offloading by default for
      <a href="https://man.openbsd.org/ix.4">ix(4)</a>.
    <li>Added <a href="https://man.openbsd.org/tpmr.4">tpmr(4)</a>, a 802.1Q
      two-port MAC relay implementation.
    <li>Added <a href="https://man.openbsd.org/iavf.4">iavf(4)</a>, a driver for
      Intel SR-IOV Virtual Functions of Intel 700 series Ethernet controllers.
    <li>Added <a href="https://man.openbsd.org/aggr.4">aggr(4)</a>, a
      dedicated driver to implement 802.1AX link aggregation.
    <li>Added port protection support
      to <a href="https://man.openbsd.org/switch.4">switch(4)</a>. Domain
      membership is checked for unicast, flooded (broadcast) and local
      (host-network-bound, e.g. trunk) traffic.
    <li>Disabled <a href="https://man.openbsd.org/mobileip.4">mobileip(4)</a>.
    <li>Added support
      to <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a>
      for getting and setting rxprio, finishing support for RFC
      2983. Implemented configuring rxprio
      in <a href="https://man.openbsd.org/vlan.4">vlan(4)</a>,
      <a href="https://man.openbsd.org/gre.4">gre(4)</a>,
      <a href="https://man.openbsd.org/mpw.4">mpw(4)</a>,
      <a href="https://man.openbsd.org/mpe.4">mpe(4)</a>,
      <a href="https://man.openbsd.org/mpip.4">mpip(4)</a>,
      <a href="https://man.openbsd.org/etherip.4">etherip(4)</a>
      and <a href="https://man.openbsd.org/bpe.4">bpe(4)</a>.
    <li>Implemented Tx mitigation by calling the hardware transmit
      routine per several packets rather than for individual
      packets. Defers calls to the transmit routine to a network taskq,
      or until a backlog of packets has built up.
    <li>Stopped using <a href="https://man.openbsd.org/splnet.9">splnet(9)</a> when
	running the network stack now
	that it is using the NET_LOCK for protection, reducing latency spikes.
    <li>Added support for reading SFPs to some ethernet cards.
  </ul>

<li>Installer improvements:
  <ul>
    <li>Allowed quoted SSIDs in the installer, rather than ignoring
      those containing whitespace.
    <li>Introduced <a href="https://man.openbsd.org/sysupgrade.8">sysupgrade(8)</a>
      that can be used to upgrade OpenBSD unattended.
    <li><a href="errata65.html#p012_sysupgrade">A syspatch was provided which adds</a>
	<a href="https://man.openbsd.org/sysupgrade.8">sysupgrade(8)</a>
        to 6.5, so unattended upgrades to 6.6 can be
	performed on amd64/arm64/i386 with <b># syspatch &amp;&amp; sysupgrade</b>.
    <li>Created an <a href="https://www.openbsd.org/octeon.html">octeon</a>
      bootloader which is a modified kernel. To use this bootloader, the
      firmware must be configured to load file "boot" instead of "bsd".
    <li>Included <a href="https://man.openbsd.org/mount_nfs.8">mount_nfs(8)</a>
      on the amd64 CD ramdisk.
    <li>Added <a href="https://man.openbsd.org/tee.1">tee(1)</a> to the ramdisk, and
	display a moving progress bar
	during auto upgrade/install.
    <li>Repaired and improved v6 default route selection, fixing autoinstalls.
    <li>Added <a href="https://man.openbsd.org/sysupgrade.8">sysupgrade(8)</a>
      support to the sparc64 bootloader.
    <li>The DHCP configuration is now preserved when restarting an install.
    <li>The installer now remembers 'autoconf' when restarting an install.
    <li>Stopped prompting for disks that do not contain a root
      partition during upgrades. This defaults to the correct disk
      when full disk encryption is in use, and will be useful for
      future unattended upgrades.
  </ul>

<li>Security improvements:
  <ul>
    <li><a href="https://man.openbsd.org/unveil.2">unveil(2)</a> is
      now used in 77 userland programs to redact filesystem access.
    <li>Various changes
      in <a href="https://man.openbsd.org/unveil.2">unveil(2)</a>
      to improve application behavior when encountering hidden
      filesystem paths.
    <li><a href="https://man.openbsd.org/ps.1">ps(1)</a> can show which
      processes have called <a href="https://man.openbsd.org/unveil.2">unveil(2)</a>
      with the <b>u</b> and <b>U</b> flags in STATE field.
    <li><a href="https://man.openbsd.org/ps.1">ps(1)</a> can show the list
      of <a href="https://man.openbsd.org/pledge.2">pledge(2)</a> options
      processes use with the <b>-o pledge</b> option.
    <li>Further and improved mitigations against Spectre side-channel
      vulnerability in Intel CPUs built since 2012.
    <li>Mitigations for Intel's Microarchitectural Data Sampling
      vulnerability, using the new CPU VERW behavior if available or
      by using the proper sequence from Intel's "Deep Dive" doc in the
      return-to-userspace and enter-VMM-guest
      paths. Updated <a href="https://man.openbsd.org/vmm.4">vmm(4)</a>
      to pass through the MSR bits so that guests can apply the
      optimal mitigation.
    <li>Rewrote <a href="https://man.openbsd.org/doas.1">doas(1)</a>
      environment inheritance not to inherit, and instead reset to the
      target user's values by default.
    <li>Prepare
      the <a href="https://www.openbsd.org/amd64.html">amd64</a> BIOS
      bootloader for loading the kernel at a random virtual address (future work).
    <li>Introduced
      <a href="https://man.openbsd.org/malloc_conceal.3">malloc_conceal(3)</a>
      and <a href="https://man.openbsd.org/calloc_conceal.3">calloc_conceal(3)</a>,
      which return memory in pages marked MAP_CONCEAL and call
      <a href="https://man.openbsd.org/freezero.3">freezero(3)</a>
      on <a href="https://man.openbsd.org/free.3">free(3)</a>.
    <li>Make 'systat pf' not require root permissions
    (<a href="https://man.openbsd.org/systat.1">systat(1)</a>).
    <li>Added support for the EFI Random Number Generator Protocol,
      using it to XOR random data into the buffer we feed the kernel for
      <a href="https://www.openbsd.org/amd64.html">amd64</a>.
    <li>Added information about system call memory write protection
      and stack mapping violations to system
      accounting. Now <a href="https://man.openbsd.org/daily.8">daily(8)</a>
      will print a list of affected processes
      and <a href="https://man.openbsd.org/lastcomm.1">lastcomm(1)</a>
      will flag violations with 'M'.
  </ul>

<li>Routing daemons and other userland network improvements:
  <ul>
    <li>The <a href="https://man.openbsd.org/ntpd.8">ntpd(8)</a>
      daemon now gets and sets the clock in a secure way when booting
      even when a battery-backed clock is absent.
    <li><a href="https://man.openbsd.org/slaacd.8">slaacd(8)</a> now
      removes IPv6 addresses when it detects a link-state change but
      no new router advertisement is received.
    <li><a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a>
        now reports SFP, SFP+ and QSFP module information when using
	the <b>sff</b> option.
    <li>Imported <a href="https://man.openbsd.org/snmp.1">snmp(1)</a>,
      a new SNMP client which aims to be netsnmp-compatible for
      supported features, and
      removed <a href="https://man.openbsd.org/OpenBSD-6.5/snmpctl.8">snmpctl(8)</a>.
    <li>Improvements
      in <a href="https://man.openbsd.org/ntpd.8">ntpd(8)</a> DNS
      resolving and constraints checking, especially during
      startup. Unreliable NTP peers are removed from the pool and
      DNS resolving is repeated to add replacements.
    <li>Changed the <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>
    Adj-RIB-Out to a per-peer set of RB trees, improving speed.
    <li>Rewrote <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>
      community matching and handling code and improved performance
      for setups using many communities.
    <li>Checked the type of a network statement when looking for
      duplicates
      in <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>.  This
      fixes added network 0.0.0.0/0 after 'network inet static'.
    <li>Made improvements
    to <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> speed when
    configuring many peers.
    <li>Implemented <a href="https://man.openbsd.org/bgpctl.8">bgpctl(8)</a>
      'show mrt neighbors', to print the neighbor table of MRT
      TABLE_DUMP_V2 dumps.
    <li>Moved <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>
      pfkey socket to the parent process. The refreshing of the keys
      for MD5 and IPSEC is done whenever the session state changes to
      IDLE or ACTIVE, which should behave better when reloading
      configs with auth changes.
    <li>In <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>, fixed
      reloading of network statements that have no fixed prefix
      specification.
    <li>Extended the maximum size of
      the <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>
      shutdown communication message to 255 bytes.
    <li>Improvements
      in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>, to
      always check for namespace collisions on table
      commands. Introduced 'pfctl -FR' to reset pfctl(8) settings to
      defaults.
    <li>Imported Kristaps Dzonsons' RPKI
      validator, <a href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a>.
    <li> <a href="https://man.openbsd.org/relayd.8">relayd(8)</a> now supports
      binary protocol health checking. See
      <a href="https://man.openbsd.org/relayd.conf.5">relayd.conf(5)</a>.
    <li>Added support for OCSP stapling
      to <a href="https://man.openbsd.org/relayd.8">relayd(8)</a>.
    <li>Added <a href="https://man.openbsd.org/relayd.8">relayd(8)</a>
      support for SNI with new 'tls keypair' option to load additional
      certificates.
    <li>Added support for 'from/to address[/prefix]'
      in <a href="https://man.openbsd.org/relayd.8">relayd(8)</a> filter rules.
    <li>Implemented RFC 8555 "Automatic Certificate Management
      Environment (ACME)" to
      enable <a href="https://man.openbsd.org/acme-client.1">acme-client(1)</a>
      to communicate with the v02 Let's Encrypt API. Read the
      <a href="faq/upgrade66.html">upgrade guide</a> for more information.
    <li><a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a>
      support for '-T erspan' and
      arbitrary <a href="https://man.openbsd.org/gre.4">gre(4)</a>
      protocols.
    <li>Allowed specifying area by number as well as id
      in <a href="https://man.openbsd.org/ospf6d.8">ospf6d(8)</a>.
    <li><a href="https://man.openbsd.org/ospfctl.8">ospfctl(8)</a> now
      accepts both address and number format for 'ospfctl show
      database area XXX'.
    <li><a href="https://man.openbsd.org/ospfd.8">ospfd(8)</a> reload
      improvements.
    <li>Added a check
      to <a href="https://man.openbsd.org/ospfd.8">ospfd(8)</a>
      and <a href="https://man.openbsd.org/ospf6d.8">ospf6d(8)</a>
      that any "depend on" interfaces are in the same rdomain.
    <li>Make 'passive' (announce a network configured on an interface
      as a stub network) work with P2P interfaces
      in <a href="https://man.openbsd.org/ospfd.8">ospfd(8)</a>.
    <li>Shutdown the service port when behind a captive portal
      with <a href="https://man.openbsd.org/unwind.8">unwind(8)</a>,
      allowing bypass of captive portals that correctly answer SOA
      queries for the root zone and return NXDOMAIN for the captive
      portal redirect domain if edns0 is present.
    <li>Implemented DNS block lists
    in <a href="https://man.openbsd.org/unwind.8">unwind(8)</a>.
    <li>Added support for IKEv2 Message Fragmentation (RFC 7383)
    to <a href="https://man.openbsd.org/iked.8">iked(8)</a>.
    <li>Enabled switching between wireless and wired interfaces in
      dhclient(8), setting the default route with the interface
      address and allowing two default routes in the routing table. A
      wired interface will be preferred when connected.
    <li>Added consistent use of 'ifconfig $_if [-inet| -inet6]' to clear existing
      configurations completely after restarting an install.
    <li>Added 'forwarded' log format extending the 'combined' log
    format in <a href="https://man.openbsd.org/httpd.8">httpd(8)</a>.
  </ul>

<li>Assorted improvements:
  <ul>
    <li> The filesystem buffer cache now more aggressively uses memory
      outside the DMA region, to improve cache performance on amd64
      machines.
    <li> The BER API previously internal to
      <a href="https://man.openbsd.org/ldap.1">ldap(1)</a>,
      <a href="https://man.openbsd.org/ldapd.8">ldapd(8)</a>,
      <a href="https://man.openbsd.org/ypldap.8">ypldap(8)</a>, and
      <a href="https://man.openbsd.org/snmpd.8">snmpd(8)</a> has been moved into
      libutil.
      See <a href="https://man.openbsd.org/ber_read_elements.3">ber_read_elements(3)</a>.
    <li>Removed the old
      userland <a href="https://man.openbsd.org/realpath.3">realpath(3)</a>
      and replaced it with __realpath(2), a kernel
      implementation. This will prevent
      calling <a href="https://man.openbsd.org/readlink.2">readlink(2)</a>
      on every component of a path and improve performance for
      <a href="https://man.openbsd.org/unveil.2">unveil(2)</a>.
    <li><a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a> speedups,
    improving dynamic linker performance for large objects.
    <li>Modified <a href="https://man.openbsd.org/systat.1">systat(1)</a>
    to allow the use of 'b' to switch to stats since boot.
    <li>From <a href="https://man.openbsd.org/perldoc.1">perldoc(1)</a>,
      always produce <a href="https://man.openbsd.org/man.7">man(7)</a>
      output in UTF-8, which gives better results with our
      <a href="https://man.openbsd.org/mandoc.1">mandoc(1)</a>
      renderer no matter which <code>LC_CTYPE</code> the user selected.
  </ul>

<li>VMM/VMD improvements
  <ul>
    <li>Added support for 'boot device'
      to <a href="https://man.openbsd.org/vm.conf.5#boot_device">vm.conf(5)</a>
      grammar, the '-B device' counterpart
      from <a href="https://man.openbsd.org/vmctl.8">vmctl(8)</a>.
    <li>Emulated kvm pvclock
      in <a href="https://man.openbsd.org/vmm.4">vmm(4)</a>, compatible
	with <a href="https://man.openbsd.org/pvclock.4">pvclock(4)</a> in
	  OpenBSD.
    <li>Enabled reporting of the vm state through use of
      the <a href="https://man.openbsd.org/vmctl.8">vmctl(8)</a>
      'status' command.
    <li>Synced vm state
      in <a href="https://man.openbsd.org/vmd.8">vmd(8)</a> when
      (un)pausing a vm to ensure
      both <a href="https://man.openbsd.org/vmm.4">vmm(4)</a>
      and <a href="https://man.openbsd.org/vmd.8">vmd(8)</a> processes
      know the vm is paused.
    <li>Handled some unhandled instructions for SVM which led
      to <a href="https://man.openbsd.org/vmm.4">vmm(4)</a> guest
      termination, as well as RDTSCP and INVLPGA instructions.
    <li>Modified <a href="https://man.openbsd.org/vmm.4">vmm(4)</a> to
    flush guest TLB entries if the guest disables paging.
  </ul>

<li>OpenSMTPD 6.6.0
  <ul>
    <li>New Features
      <ul>
	<li>Introduced support for ECDSA certificates with an ECDSA privsep engine.
	<li>Introduced builtin filters to allow basic filtering of incoming sessions
	  in <a href="https://man.openbsd.org/smtpd.8">smtpd(8)</a>.
	<li>Introduced option to deliver junk to a Junk folder
	  in <a href="https://man.openbsd.org/mail.maildir.8">mail.maildir(8)</a>.
      </ul>
    <li>Bug fixes
      <ul>
	<li>Fixed the <a href="https://man.openbsd.org/smtp.1">smtp(1)</a> client
	  so it uses correct default port for SMTPS.
	<li>Fixed an <a href="https://man.openbsd.org/smtpd.8">smtpd(8)</a> crash on
	  excessively large input.
	<li>Ensured mail rejected by an LMTP server will stay queued rather than bouncing.
      </ul>
    <li>Experimental Features
      <ul>
	<li>Introduced a filters API to allow writing standalone filters
	  for <a href="https://man.openbsd.org/smtpd.8">smtpd(8)</a>,
	  with multiple filters made available in ports.
	<li>Introduced support for proxy-v2 protocol
	  allowing <a href="https://man.openbsd.org/smtpd.8">smtpd(8)</a> to
	  operate behind proxy.
      </ul>
  </ul>

<li>LibreSSL 3.0.2
  <ul>
    <li>API and Documentation Enhancements
    <ul>
      <li>Completed the port of RSA_METHOD accessors from the
          OpenSSL 1.1 API.
      <li>Documented undescribed options and removed unfunctional
          options description
          in <a href="https://man.openbsd.org/openssl.1">openssl(1)</a>
          manual.
    </ul>

    <li>Compatibility Changes
    <ul>
    </ul>

    <li>Testing and Proactive Security
    <ul>
      <li>
	A plethora of small fixes due to regular oss-fuzz testing.
      <li>
        Various side channels in DSA and ECDSA were addressed.  These
	are some of the many issues found in an extensive systematic
	analysis of bignum usage by Samuel Weiser, David Schrammel et
	al.
      <li>
        Try to compute the cofactor if a nonsensical value was
	provided for ECC parameters.  Fix from Billy Brumley.
    </ul>

    <li>Internal Improvements
      <ul>
      </ul>

    <li>Portable Improvements
    <ul>
      <li>Enabled performance optimizations when building with Visual
	Studio on Windows.
      <li>Enabled <a href="https://man.openbsd.org/openssl.1">openssl(1)</a>
        speed subcommand on Windows platform.
    </ul>

    <li>Bug Fixes
    <ul>
      <li>Fixed issue where SRTP extension would not be sent by
	server.
      <li>Fixed incorrect carry operation in 512 addition for
	Streebog.
      <li>Fixed -modulus option with
        <a href="https://man.openbsd.org/openssl.1">openssl(1)</a>
        dsa subcommand.
      <li>Fixed PVK format output issue with
        <a href="https://man.openbsd.org/openssl.1">openssl(1)</a>
        dsa and rsa subcommand.
      <li>Fixed a padding oracle attack in <code>PKCS7_dataDecode()</code>
        and <code>CMS_decrypt_set1_pkey()</code> (<code>CMS</code>
        is currently disabled). From Bernd Edlinger.
    </ul>
  </ul>

<li>OpenSSH 8.1
  <ul>
    <li>New Features
      <ul>
	<li><a href='https://man.openbsd.org/ssh.1'>ssh(1)</a>: Allow %n to be
	  expanded in ProxyCommand strings
	<li><a href='https://man.openbsd.org/ssh.1'>ssh(1)</a>,
	  <a href='https://man.openbsd.org/sshd.8'>sshd(8)</a>: Allow
	  prepending a list of algorithms to the default set by
	  starting the list with the '^' character, E.g.
	  "HostKeyAlgorithms ^ssh-ed25519"
	<li><a href='https://man.openbsd.org/ssh-keygen.1'>ssh-keygen(1)</a>:
	  add an experimental lightweight signature and verification
	  ability.  Signatures may be made using regular ssh keys held
	  on disk or stored in a ssh-agent and verified against an
	  authorized_keys-like list of allowed keys. Signatures embed
	  a namespace that prevents confusion and attacks between
	  different usage domains (e.g. files vs email).
	<li><a href='https://man.openbsd.org/ssh-keygen.1'>ssh-keygen(1)</a>:
	  print key comment when extracting public key from a private
	  key.  <a href='https://bugzilla.mindrot.org/show_bug.cgi?id=3052'>bz#3052</a>
	<li><a href='https://man.openbsd.org/ssh-keygen.1'>ssh-keygen(1)</a>:
	  accept the verbose flag when searching for host keys in
	  known hosts (i.e. "ssh-keygen -vF host") to print the
	  matching host's random-art signature
	  too. <a href='https://bugzilla.mindrot.org/show_bug.cgi?id=3003'>bz#3003</a>
	<li>All: support PKCS8 as an optional format for storage of
	  private keys to disk.  The OpenSSH native key format remains
	  the default, but PKCS8 is a superior format to PEM if
	  interoperability with non-OpenSSH software is required, as
	  it may use a less insecure key derivation function than
	  PEM's.
      </ul>
      <li>Bugfixes
	<ul>
	  <li><a href='https://man.openbsd.org/ssh.1'>ssh(1)</a>: if a
	    PKCS#11 token returns no keys then try to login and
	    refetch them. Based on patch from Jakub
	    Jelen; <a href='https://bugzilla.mindrot.org/show_bug.cgi?id=2430'>bz#2430</a>
	  <li><a href='https://man.openbsd.org/ssh.1'>ssh(1)</a>:
	    produce a useful error message if the user's shell is set
	    incorrectly during "match exec"
	    processing. <a href='https://bugzilla.mindrot.org/show_bug.cgi?id=2791'>bz#2791</a>
	  <li><a href='https://man.openbsd.org/sftp.1'>sftp(1)</a>:
	    allow the maximum uint32 value for the argument passed to
	    -b which allows better error messages from later
	    validation.
	    <a href='https://bugzilla.mindrot.org/show_bug.cgi?id=3050'>bz#3050</a>
	  <li><a href='https://man.openbsd.org/ssh.1'>ssh(1)</a>:
	    avoid pledge sandbox violations in some combinations of
	    remote forwarding, connection multiplexing and
	    ControlMaster.
	  <li><a href='https://man.openbsd.org/ssh-keyscan.1'>ssh-keyscan(1)</a>:
	    include SHA2-variant RSA key algorithms in KEX proposal;
	    allows ssh-keyscan to harvest keys from servers that
	    disable old SHA1
	    ssh-rsa. <a href='https://bugzilla.mindrot.org/show_bug.cgi?id=3029'>bz#3029</a>
	  <li><a href='https://man.openbsd.org/sftp.1'>sftp(1)</a>:
	    print explicit "not modified" message if a file was
	    requested for resumed download but was considered already
	    complete.
	    <a href='https://bugzilla.mindrot.org/show_bug.cgi?id=2978'>bz#2978</a>
	  <li><a href='https://man.openbsd.org/sftp.1'>sftp(1)</a>:
	    fix a typo and make &lt;esc>&lt;right> move right to the
	    closest end of a word just like &lt;esc>&lt;left> moves
	    left to the closest beginning of a word.
	  <li><a href='https://man.openbsd.org/sshd.8'>sshd(8)</a>:
	    cap the number of permitopen/permitlisten directives
	    allowed to appear on a single authorized_keys line.
	  <li>All: fix a number of memory leaks (one-off or on exit paths).
	  <li>Regression tests: a number of fixes and improvements,
	    including fixes to the interop tests, adding the ability
	    to run most tests on builds that disable OpenSSL support,
	    better support for running tests under Valgrind and a
	    number of bug-fixes.
	  <li><a href='https://man.openbsd.org/ssh.1'>ssh(1)</a>,
	    <a href='https://man.openbsd.org/sshd.8'>sshd(8)</a>:
	    check for convtime() refusing to accept times that resolve
	    to LONG_MAX Reported by Kirk Wolf bz2977
	  <li><a href='https://man.openbsd.org/ssh.1'>ssh(1)</a>:
	    slightly more instructive error message when the user
	    specifies multiple -J options on the command-line. bz3015
	  <li><a href='https://man.openbsd.org/ssh-agent.1'>ssh-agent(1)</a>:
	    process agent requests for RSA certificate private keys
	    using correct signature algorithm when requested. bz3016
	  <li><a href='https://man.openbsd.org/sftp.1'>sftp(1)</a>:
	    check for user@host when parsing sftp target. This allows
	    user@[1.2.3.4] to work without a
	    path.  <a href='https://bugzilla.mindrot.org/show_bug.cgi?id=2999'>bz#2999</a>
	  <li><a href='https://man.openbsd.org/sshd.8'>sshd(8)</a>:
	    enlarge format buffer size for certificate serial number
	    so the log message can record any 64-bit integer without
	    truncation. <a href='https://bugzilla.mindrot.org/show_bug.cgi?id=3012'>bz#3012</a>
	  <li><a href='https://man.openbsd.org/sshd.8'>sshd(8)</a>:
	    for PermitOpen violations add the remote host and port to
	    be able to more easily ascertain the source of the
	    request. Add the same logging for PermitListen violations
	    which where not previously logged at all.
	  <li><a href='https://man.openbsd.org/scp.1'>scp(1)</a>,
	    <a href='https://man.openbsd.org/sftp.1'>sftp(1)</a>:
	    use the correct POSIX format style for left justification
	    for the transfer progress
	    meter. <a href='https://bugzilla.mindrot.org/show_bug.cgi?id=3002'>bz#3002</a>
	  <li><a href='https://man.openbsd.org/sshd.8'>sshd(8)</a>
	    when examining a configuration using sshd -T, assume any
	    attribute not provided by -C does not match, which allows
	    it to work when sshd_config contains a Match directive
	    with or without -C.
	    <a href='https://bugzilla.mindrot.org/show_bug.cgi?id=2858'>bz#2858</a>
	  <li><a href='https://man.openbsd.org/ssh.1'>ssh(1)</a>,
	    <a href='https://man.openbsd.org/ssh-keygen.1'>ssh-keygen(1)</a>:
	    downgrade PKCS#11 "provider returned no slots" warning
	    from log level error to debug. This is common when
	    attempting to enumerate keys on smartcard readers with no
	    cards plugged
	    in. <a href='https://bugzilla.mindrot.org/show_bug.cgi?id=3058'>bz#3058</a>
	  <li><a href='https://man.openbsd.org/ssh.1'>ssh(1)</a>,
	    <a href='https://man.openbsd.org/ssh-keygen.1'>ssh-keygen(1)</a>:
	    do not unconditionally log in to PKCS#11 tokens. Avoids
	    spurious PIN prompts for keys not selected for
	    authentication
	    in <a href='https://man.openbsd.org/ssh.1'>ssh(1)</a> and
	    when listing public keys available in a token
	    using <a href='https://man.openbsd.org/ssh-keygen.1'>ssh-keygen(1)</a>.
	    <a href='https://bugzilla.mindrot.org/show_bug.cgi?id=3006'>bz#3006</a>
	</ul>
  </ul>
<li>Mandoc
  <ul>
    <li>Slowly start implementing tagging support for
      <a href="https://man.openbsd.org/man.7">man(7)</a> pages:
      tag alphabetic arguments of <code>.IP</code>, <code>.TP</code>,
      and <code>.TQ</code> macros.
    <li>In HTML output, wrap text and phrasing elements in paragraphs
      unless already contained in flow containers; never put them
      directly into sections.  This helps to format paragraphs with
      the CSS class selector <code>.Pp</code>.
    <li>Implement the <a href="https://man.openbsd.org/roff.7">roff(7)</a>
      <code>.break</code> request to break out of a <code>.while</code>
      loop.
    <li>If messages are shown and output is printed without a pager,
      display a heads-up on standard error output at the end because
      otherwise, users may easily miss the messages.
    <li>Let <code>mandoc.css</code> support
      <code>prefers-color-scheme: dark</code>.
    <li>For pages lacking a SYNOPSIS, let
      <a href="https://man.openbsd.org/man.1">man(1)</a>
      show the NAME section.
  </ul>

<li><p>Ports and packages:
    <ul>
    </ul>
    <p>Many pre-built packages for each architecture:
    <!-- number of FTP packages minus SHA256, SHA256.sig, index.txt -->
    <ul style="column-count: 3">
      <li>aarch64:    10075
      <li>amd64:      10736
      <li>armv7:       8943
      <li>i386:       10682
      <li>mips64:      7921
      <li>mips64el:    6583
      <li>powerpc:     9700
      <li>sparc64:     9685
    </ul>

<li>As usual, steady improvements in manual pages and other documentation.

<li>The system includes the following major components from outside suppliers:
  <ul>
    <li>Xenocara (based on X.Org 7.7 with xserver 1.20.5 + patches,
        freetype 2.10.1, fontconfig 2.12.4, Mesa 19.0.8, xterm 344,
        xkeyboard-config 2.20 and more)
    <li>LLVM/Clang 8.0.1 (+ patches)
    <li>GCC 4.2.1 (+ patches) and 3.3.6 (+ patches)
    <li>Perl 5.28.2 (+ patches)
    <li>NSD 4.2.2
    <li>Unbound 1.9.4
    <li>Ncurses 5.7
    <li>Binutils 2.17 (+ patches)
    <li>Gdb 6.3 (+ patches)
    <li>Awk Aug 10, 2011 version
    <li>Expat 2.2.8
  </ul>
</ul>
</section>

<hr>

<section id=install>
<h3>How to install</h3>
<p>
Please refer to the following files on the mirror site for
extensive details on how to install OpenBSD 6.6 on your machine:

<ul>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.6/alpha/INSTALL.alpha">
	.../OpenBSD/6.6/alpha/INSTALL.alpha</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.6/amd64/INSTALL.amd64">
	.../OpenBSD/6.6/amd64/INSTALL.amd64</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.6/arm64/INSTALL.arm64">
	.../OpenBSD/6.6/arm64/INSTALL.arm64</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.6/armv7/INSTALL.armv7">
	.../OpenBSD/6.6/armv7/INSTALL.armv7</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.6/hppa/INSTALL.hppa">
	.../OpenBSD/6.6/hppa/INSTALL.hppa</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.6/i386/INSTALL.i386">
	.../OpenBSD/6.6/i386/INSTALL.i386</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.6/landisk/INSTALL.landisk">
	.../OpenBSD/6.6/landisk/INSTALL.landisk</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.6/loongson/INSTALL.loongson">
	.../OpenBSD/6.6/loongson/INSTALL.loongson</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.6/luna88k/INSTALL.luna88k">
	.../OpenBSD/6.6/luna88k/INSTALL.luna88k</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.6/macppc/INSTALL.macppc">
	.../OpenBSD/6.6/macppc/INSTALL.macppc</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.6/octeon/INSTALL.octeon">
	.../OpenBSD/6.6/octeon/INSTALL.octeon</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.6/sparc64/INSTALL.sparc64">
	.../OpenBSD/6.6/sparc64/INSTALL.sparc64</a>
</ul>
</section>

<hr>

<section id=quickinstall>
<p>
Quick installer information for people familiar with OpenBSD, and the use of
the "<a href="https://man.openbsd.org/disklabel.8">disklabel</a> -E" command.
If you are at all confused when installing OpenBSD, read the relevant
INSTALL.* file as listed above!

<h3>OpenBSD/alpha:</h3>

<p>
Write <i>floppy66.fs</i> or <i>floppyB66.fs</i> (depending on your machine)
to a diskette and enter <i>boot dva0</i>.
Refer to INSTALL.alpha for more details.

<p>
Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
will most likely fail.

<h3>OpenBSD/amd64:</h3>

<p>
If your machine can boot from CD, you can write <i>install66.iso</i> or
<i>cd66.iso</i> to a CD and boot from it.
You may need to adjust your BIOS options first.

<p>
If your machine can boot from USB, you can write <i>install66.fs</i> or
<i>miniroot66.fs</i> to a USB stick and boot from it.

<p>
If you can't boot from a CD, floppy disk, or USB,
you can install across the network using PXE as described in the included
INSTALL.amd64 document.

<p>
If you are planning to dual boot OpenBSD with another OS, you will need to
read INSTALL.amd64.

<h3>OpenBSD/arm64:</h3>

<p>
Write <i>miniroot66.fs</i> to a disk and boot from it after connecting
to the serial console.  Refer to INSTALL.arm64 for more details.

<h3>OpenBSD/armv7:</h3>

<p>
Write a system specific miniroot to an SD card and boot from it after connecting
to the serial console.  Refer to INSTALL.armv7 for more details.

<h3>OpenBSD/hppa:</h3>

<p>
Boot over the network by following the instructions in INSTALL.hppa or the
<a href="hppa.html#install">hppa platform page</a>.

<h3>OpenBSD/i386:</h3>

<p>
If your machine can boot from CD, you can write <i>install66.iso</i> or
<i>cd66.iso</i> to a CD and boot from it.
You may need to adjust your BIOS options first.

<p>
If your machine can boot from USB, you can write <i>install66.fs</i> or
<i>miniroot66.fs</i> to a USB stick and boot from it.

<p>
If you can't boot from a CD, floppy disk, or USB,
you can install across the network using PXE as described in
the included INSTALL.i386 document.

<p>
If you are planning on dual booting OpenBSD with another OS, you will need to
read INSTALL.i386.

<h3>OpenBSD/landisk:</h3>

<p>
Write <i>miniroot66.fs</i> to the start of the CF
or disk, and boot normally.

<h3>OpenBSD/loongson:</h3>

<p>
Write <i>miniroot66.fs</i> to a USB stick and boot bsd.rd from it
or boot bsd.rd via tftp.
Refer to the instructions in INSTALL.loongson for more details.

<h3>OpenBSD/luna88k:</h3>

<p>
Copy 'boot' and 'bsd.rd' to a Mach or UniOS partition, and boot the bootloader
from the PROM, and then bsd.rd from the bootloader.
Refer to the instructions in INSTALL.luna88k for more details.

<h3>OpenBSD/macppc:</h3>

<p>
Burn the image from a mirror site to a CDROM, and power on your machine
while holding down the <i>C</i> key until the display turns on and
shows <i>OpenBSD/macppc boot</i>.

<p>
Alternatively, at the Open Firmware prompt, enter <i>boot cd:,ofwboot
/6.6/macppc/bsd.rd</i>

<h3>OpenBSD/octeon:</h3>

<p>
After connecting a serial port, boot bsd.rd over the network via DHCP/tftp.
Refer to the instructions in INSTALL.octeon for more details.

<h3>OpenBSD/sparc64:</h3>

<p>
Burn the image from a mirror site to a CDROM, boot from it, and type
<i>boot cdrom</i>.

<p>
If this doesn't work, or if you don't have a CDROM drive, you can write
<i>floppy66.fs</i> or <i>floppyB66.fs</i>
(depending on your machine) to a floppy and boot it with <i>boot
floppy</i>. Refer to INSTALL.sparc64 for details.

<p>
Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
will most likely fail.

<p>
You can also write <i>miniroot66.fs</i> to the swap partition on
the disk and boot with <i>boot disk:b</i>.

<p>
If nothing works, you can boot over the network as described in INSTALL.sparc64.
</section>

<hr>

<section id=upgrade>
<h3>How to upgrade</h3>
<p>
If you already have an OpenBSD 6.5 system, and do not want to reinstall,
upgrade instructions and advice can be found in the
<a href="faq/upgrade66.html">Upgrade Guide</a>.
</section>

<hr>

<section id=sourcecode>
<h3>Notes about the source code</h3>
<p>
<code>src.tar.gz</code> contains a source archive starting at <code>/usr/src</code>.
This file contains everything you need except for the kernel sources,
which are in a separate archive.
To extract:
<blockquote><pre>
# <kbd>mkdir -p /usr/src</kbd>
# <kbd>cd /usr/src</kbd>
# <kbd>tar xvfz /tmp/src.tar.gz</kbd>
</pre></blockquote>
<p>
<code>sys.tar.gz</code> contains a source archive starting at <code>/usr/src/sys</code>.
This file contains all the kernel sources you need to rebuild kernels.
To extract:
<blockquote><pre>
# <kbd>mkdir -p /usr/src/sys</kbd>
# <kbd>cd /usr/src</kbd>
# <kbd>tar xvfz /tmp/sys.tar.gz</kbd>
</pre></blockquote>
<p>
Both of these trees are a regular CVS checkout.  Using these trees it
is possible to get a head-start on using the anoncvs servers as
described <a href="anoncvs.html">here</a>.
Using these files
results in a much faster initial CVS update than you could expect from
a fresh checkout of the full OpenBSD source tree.
</section>

<hr>

<section id=ports>
<h3>Ports Tree</h3>
<p>
A ports tree archive is also provided.  To extract:
<blockquote><pre>
# <kbd>cd /usr</kbd>
# <kbd>tar xvfz /tmp/ports.tar.gz</kbd>
</pre></blockquote>
<p>
Go read the <a href="faq/ports/index.html">ports</a> page
if you know nothing about ports
at this point.  This text is not a manual of how to use ports.
Rather, it is a set of notes meant to kickstart the user on the
OpenBSD ports system.
<p>
The <i>ports/</i> directory represents a CVS checkout of our ports.
As with our complete source tree, our ports tree is available via
<a href="anoncvs.html">AnonCVS</a>.
So, in order to keep up to date with the -stable branch, you must make
the <i>ports/</i> tree available on a read-write medium and update the tree
with a command like:
<blockquote><pre>
# <kbd>cd /usr/ports</kbd>
# <kbd>cvs -d anoncvs@server.openbsd.org:/cvs update -Pd -rOPENBSD_6_6</kbd>
</pre></blockquote>
<p>
[Of course, you must replace the server name here with a nearby anoncvs
server.]
<p>
Note that most ports are available as packages on our mirrors. Updated
ports for the 6.6 release will be made available if problems arise.
<p>
If you're interested in seeing a port added, would like to help out, or just
would like to know more, the mailing list
<a href="mail.html">ports@openbsd.org</a> is a good place to know.
</section>