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

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

Revision 1.101, Mon Mar 15 10:18:42 2021 UTC (3 years, 1 month ago) by jsg
Branch: MAIN
CVS Tags: HEAD
Changes since 1.100: +1 -1 lines

spelling

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

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

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

<table>
<tr>
<td>
<a href="images/Fugu.gif">
<img width="227" height="343" src="images/Fugu.gif" alt="Fugu"></a>
<td>
Released April 11, 2017<br>
Copyright 1997-2017, Theo de Raadt.<br>
<br>
6.1 Song:
<a href="lyrics.html#61">"Winter of 95"</a>.
<br>
<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.1/</code> directory on
    one of the mirror sites.
<li>Have a look at <a href="errata61.html">the 6.1 errata page</a> for a list
    of bugs and workarounds.
<li>See a <a href="plus61.html">detailed log of changes</a> between the
    6.0 and 6.1 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-61-base.pub:
<td>
RWQEQa33SgQSEsMwwVV1+GjzdcQfRNV2Bgo48Ztd2KiZ9bAodz9c+Maa
<tr><td>
openbsd-61-fw.pub:
<td>
RWS91POk0QZXfsqi4aI7MotYz8CPzoHjYg4a1IDi56cftacjsq+ZL/KY
<tr><td>
openbsd-61-pkg.pub:
<td>
RWQbTjGFHEvnOckqY7u9iABhXAkEpF/6TQ3Mr6bMrWbT1wOM/HnbV9ov
</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.1.
For a comprehensive list, see the <a href="plus61.html">changelog</a> leading
to 6.1.

<ul>
<li>New/extended platforms:
    <ul>
    <li>New <a href="https://www.openbsd.org/arm64.html">arm64</a> platform,
        using <a href="https://man.openbsd.org/clang-local.1">clang(1)</a>
        as the base system compiler.
    <li>The <a href="https://www.openbsd.org/armv7.html">armv7</a> platform
        has seen some major improvements, including a switch to EABI and
        support for a lot more hardware.
    <li>The <a href="https://www.openbsd.org/loongson.html">loongson</a>
        platform now supports systems with Loongson 3A CPU and RS780E chipset.
    <li>The following platforms were retired:
        <a href="https://www.openbsd.org/armish.html">armish</a>,
        <a href="https://www.openbsd.org/sparc.html">sparc</a>,
        <a href="https://www.openbsd.org/zaurus.html">zaurus</a>.
    </ul>
<p>

<li>Improved hardware support, including:
    <ul>
    <li>New <a href="https://man.openbsd.org/acpials.4">acpials(4)</a>
        driver for ACPI ambient light sensor devices.
    <li>New <a href="https://man.openbsd.org/acpihve.4">acpihve(4)</a>
        driver for feeding Hyper-V entropy into the kernel pool.
    <li>New <a href="https://man.openbsd.org/acpisbs.4">acpisbs(4)</a>
        driver for ACPI Smart Battery devices.
    <li>New <a href="https://man.openbsd.org/dwge.4">dwge(4)</a>
        driver for Designware GMAC 10/100/Gigabit Ethernet devices.
    <li>New <a href="https://man.openbsd.org/loongson/htb.4">htb(4)</a>
        driver for Loongson 3A PCI host bridges.
    <li>New <a href="https://man.openbsd.org/hvn.4">hvn(4)</a>
        driver for Hyper-V networking interfaces.
    <li>New <a href="https://man.openbsd.org/hyperv.4">hyperv(4)</a>
        driver for the Hyper-V guest nexus device.
    <li>New <a href="https://man.openbsd.org/iatp.4">iatp(4)</a>
        driver for the Atmel maXTouch touchpad and touchscreen.
    <li>New <a href="https://man.openbsd.org/armv7/imxtemp.4">imxtemp(4)</a>
        driver for Freescale i.MX6 temperature sensors.
    <li>New <a href="https://man.openbsd.org/loongson/leioc.4">leioc(4)</a>
        driver for the Loongson 3A low-end IO controller.
    <li>New <a href="https://man.openbsd.org/octeon/octmmc.4">octmmc(4)</a>
        driver for the OCTEON MMC host controller.
    <li>New <a href="https://man.openbsd.org/armv7/ompinmux.4">ompinmux(4)</a>
        driver for OMAP pin multiplexing.
    <li>New <a href="https://man.openbsd.org/armv7/omwugen.4">omwugen(4)</a>
        driver for OMAP wake-up generators.
    <li>New <a href="https://man.openbsd.org/armv7/psci.4">psci(4)</a>
        driver for the ARM Power State Coordination Interface.
    <li>New <a href="https://man.openbsd.org/simplefb.4">simplefb(4)</a>
        driver for the simple frame buffer on systems
        using a device tree.
    <li>New <a href="https://man.openbsd.org/armv7/sximmc.4">sximmc(4)</a>
        driver for Allwinner A1X/A20 MMC/SD/SDIO controllers.
    <li>New <a href="https://man.openbsd.org/tpm.4">tpm(4)</a>
        driver for Trusted Platform Module devices.
    <li>New <a href="https://man.openbsd.org/uwacom.4">uwacom(4)</a>
        driver for Wacom USB tablets.
    <li>New <a href="https://man.openbsd.org/vmmci.4">vmmci(4)</a>
        VMM control interface.
    <li>New <a href="https://man.openbsd.org/xbf.4">xbf(4)</a>
        driver for Xen Blkfront virtual disks.
    <li>New <a href="https://man.openbsd.org/luna88k/xp.4">xp(4)</a>
        driver for the LUNA-88K HD647180X I/O processor.
    <li>Support for Kaby Lake and Lewisburg PCH Ethernet MACs with I219 PHYs
	has been added to the
	<a href="https://man.openbsd.org/em">em(4)</a> driver.
    <li>Support for RTL8153 USB 3.0 Gigabit Ethernet based devices
	has been added to the
	<a href="https://man.openbsd.org/ure">ure(4)</a> driver.
    <li>Improved ACPI support for modern Apple hardware, including S3 suspend
	and resume.
    <li>Support for X550 family of 10 Gigabit Ethernet based devices
	has been added to the
	<a href="https://man.openbsd.org/ix">ix(4)</a> driver.
    </ul>

<p>
<li>New <a href="https://man.openbsd.org/amd64/vmm.4">vmm(4)</a>/
    <a href="https://man.openbsd.org/amd64/vmd.8">vmd(8)</a>:
    <ul>
    <li>Support was partially integrated in 6.0, but disabled.
    <li>Support for amd64 and i386 hosts.
    <li>BIOS payload provided via vmm-firmware, delivered via
        <a href="https://man.openbsd.org/fw_update.1">fw_update(1)</a>.
    <li>Support for Linux guest VMs.
    <li>Better interrupt handling and legacy device emulation.
    <li><a href="https://man.openbsd.org/amd64/vmm.4">vmm(4)</a> no longer
        requires VMX unrestricted guest capability (Nehalem and later CPUs
        are sufficient).
    <li>Removed bounce buffers previously used by
        <a href="https://man.openbsd.org/amd64/vmd.8">vmd(8)</a> for
        <a href="https://man.openbsd.org/vio.4">vio(4)</a> and
        <a href="https://man.openbsd.org/vioblk.4">vioblk(4)</a> devices.
    <li>Support VMs with &gt; 2GB RAM.
    <li><a href="https://man.openbsd.org/amd64/vmd.8">vmd(8)</a> uses
        <a href="https://man.openbsd.org/pledge.2">pledge(2)</a> and the
        fork+exec model.
    <li><a href="https://man.openbsd.org/amd64/vm.conf.5">vm.conf(5)</a>
        expanded to include VM ownership rules (uid/gid).
    <li><a href="https://man.openbsd.org/amd64/vmd.8">vmd(8)</a>/
        <a href="https://man.openbsd.org/amd64/vm.conf.5">vm.conf(5)</a>
        supports automatic
        <a href="https://man.openbsd.org/bridge.4">bridge(4)</a> and
        <a href="https://man.openbsd.org/switch.4">switch(4)</a> configuration
        for VM network interfaces.
    <li><a href="https://man.openbsd.org/amd64/vmctl.8">vmctl(8)</a> supports
        graceful VM shutdown via
        <a href="https://man.openbsd.org/amd64/vmmci.4">vmmci(4)</a>.
    </ul>
<p>

<li>IEEE 802.11 wireless stack improvements:
    <ul>
    <li>The <a href="https://man.openbsd.org/ral.4">ral(4)</a> driver
        now supports Ralink RT3900E (RT5390, RT3292) devices.
    <li>The <a href="https://man.openbsd.org/iwm.4">iwm(4)</a> and
        <a href="https://man.openbsd.org/iwn.4">iwn(4)</a> drivers
        now support the short guard interval (SGI) in 11n mode.
    <li>Added a new implementation of MiRa, a rate adapation algorithm
        designed for 802.11n.
    <li>The <a href="https://man.openbsd.org/iwm.4">iwm(4)</a> driver
        now supports 802.11n MIMO (MCS 0-15).
    <li>The <a href="https://man.openbsd.org/athn.4">athn(4)</a> driver
        now supports 802.11n, featuring MIMO (MCS 0-15) and hostap mode.
    <li>The <a href="https://man.openbsd.org/iwn.4">iwn(4)</a> driver
        now receives MIMO frames in monitor mode.
    <li>The <a href="https://man.openbsd.org/rtwn.4">rtwn(4)</a> and
        <a href="https://man.openbsd.org/urtwn.4">urtwn(4)</a> drivers
	now use AMRR rate adaptation (8188EU and 8188CE devices only).
    <li>TKIP/WPA1 was disabled by default because of inherent weaknesses
        in this protocol.
    </ul>
<p>

<li>Generic network stack improvements:
    <ul>
    <li>New <a href="https://man.openbsd.org/switch.4">switch(4)</a>
        pseudo-device together with new
        <a href="https://man.openbsd.org/switchd.8">switchd(8)</a> and
        <a href="https://man.openbsd.org/switchctl.8">switchctl(8)</a>
        programs.
    <li>New <a href="https://man.openbsd.org/mobileip.4">mobileip(4)</a>
        operation mode for the
        <a href="https://man.openbsd.org/gre.4">gre(4)</a>
        pseudo-device.
    <li>Multipoint-to-multipoint mode in
        <a href="https://man.openbsd.org/vxlan.4">vxlan(4)</a>.
    <li><a href="https://man.openbsd.org/route.8">route(8)</a>
	and netstat -r display all routing flags correctly and they
	are completely documented in the
	<a href="https://man.openbsd.org/netstat.1">netstat(1)</a>
	man page.
    <li>When sending TCP streams they are locally stored in large
	mbuf clusters to improve memory management.
	The maximum TCP send and receive buffer size has been
	increased from 256KB to 2MB.
	Note that this results in a different
	<a href="https://man.openbsd.org/pf.4">pf(4)</a>
	OS fingerprint for OpenBSD.
	The default limit for mbuf clusters has been increased.
	You can check the values with
	<a href="https://man.openbsd.org/netstat.1">netstat(1)</a>
	-m and adjust them with
	<a href="https://man.openbsd.org/sysctl.8">sysctl(8)</a>
	kern.maxclusters.
    <li>Make the TCP_NOPUSH flag work for
	<a href="https://man.openbsd.org/listen.2">listen(2)</a>
	sockets.
	It is inherited by the socket returned from
	<a href="https://man.openbsd.org/accept.2">accept(2)</a>.
    <li>A lot of code has been removed or simplified to make the
	transition to multi-processor easier.
	Redesign the interrupt and multi-processor locks in the
	network stack.
    <li>When passing packets from the network stack to the
	interface layer, make sure that they have no pointers to
	<a href="https://man.openbsd.org/pf.4">pf(4)</a>
	which could result in a memory free operation at the wrong
	protection level.
    <li>Fix checksum calculation in
	<a href="https://man.openbsd.org/pf.4">pf(4)</a>
	af-to ICMP packet conversions.
	Simplify af-to processing in and fix path MTU discovery in
	some corner cases.
    <li>Improve IPv6 fragment processing.
	Drop empty atomic fragments early.
	Be more paranoid when IPv6 hop-by-hop headers appear after
	fragment headers.
	Follow RFC 5722 "Handling of Overlapping IPv6 Fragments"
	more strictly in
	<a href="https://man.openbsd.org/pf.4">pf(4)</a>.
	RFC 8021 "IPv6 Atomic Fragments Considered Harmful" deprecates
	generating atomic fragments, so do not send them anymore.
    <li>Depending on the addresses,
	<a href="https://man.openbsd.org/ipsecctl.8">ipsecctl(8)</a>
	may automatically group SA bundles together.
	To make clear what is going on, the kernel provides this
	information and ipsecctl -s sa prints IPsec SA bundles.
    <li>A new routing socket message type, RTM_PROPOSAL, was added to
	facilitate future improvements to the network configuration process.
    </ul>
<p>

<li>Installer improvements:
    <ul>
    <li>The installer now uses privilege separation for fetching and
        verifying the install sets.
    <li>Install sets are now fetched over an HTTPS connection by default
        when using a <a href="ftp.html">mirror</a> that supports it.
    <li>The installer now considers all of the DHCP information in filename,
	bootfile-name, server-name, tftp-server-name, and next-server when
	attempting to do automatic installs or upgrades.
    <li>The installer no longer adds a route to an alias IP via 127.0.0.1, due
	to improvements in the kernel routing components.
    </ul>
<p>

<li>Routing daemons and other userland network improvements:
    <ul>
    <li><a href="https://man.openbsd.org/ping.8">ping(8)</a> and
        <a href="https://man.openbsd.org/ping6.8">ping6(8)</a> are now the same
        binary and share the engine.
    <li><a href="https://man.openbsd.org/ripd.8">ripd(8)</a> now supports
        p2p links with addresses in different subnets.
    <li>UDP speakers can specify an IPv4 source address using
        <code>IP_SENDSRCADDR</code>.
        <a href="https://man.openbsd.org/iked.8">iked(8)</a>
        and <a href="https://man.openbsd.org/snmpd.8">snmpd(8)</a> now
        use the proper source address when sending replies.
    <li><a href="https://man.openbsd.org/iked.8">iked(8)</a> now
        supports ECDSA and RFC 7427 signatures for authentication.
    <li><a href="https://man.openbsd.org/iked.8">iked(8)</a> now
        supports replying to IKEv2 responder cookies.
    <li>Many fixes and improvements for
        <a href="https://man.openbsd.org/iked.8">iked(8)</a> and
        <a href="https://man.openbsd.org/ikectl.8">ikectl(8)</a>, including
        various fixes for rekeying.
    <li><a href="https://man.openbsd.org/ospfd.8">ospfd(8)</a> and
        <a href="https://man.openbsd.org/ospf6d.8">ospf6d(8)</a> now cope
        with interface MTU change at runtime.
    <li><a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> now supports
        BGP Large Communities
        (<a href="https://www.rfc-editor.org/rfc/rfc8092.txt">RFC 8092</a>).
    <li><a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> now supports
        BGP Administrative Shutdown Communication
        (<a href="https://www.ietf.org/id/draft-ietf-idr-shutdown.txt">draft-ietf-idr-shutdown</a>).
    </ul>
<p>

<li>Security improvements:
    <ul>
    <li>Enforcement of userland W^X on OCTEON Plus and later.
    <li>All shared libraries, all dynamic and static-PIE executables, and
	<a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a> itself use
	the RELRO ("read-only after relocation") design such that
	more of the initial data is protected as read-only.
    <li>The size of user virtual address space has been increased
        from 2GB to 1TB on mips64.
    <li>PIE and -static -pie on arm.
    <li><a href="https://man.openbsd.org/route6d.8">route6d(8)</a> now
        runs with fewer privileges.
    <li>For incoming TLS connections
	<a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>
	can validate client certificates with a given CA file.
    <li>The privileged parent process of
	<a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>
	calls
	<a href="https://man.openbsd.org/execve.2">exec(2)</a>
	to reshuffle its random memory layout.
    <li>New function
        <a href="https://man.openbsd.org/recallocarray.3">recallocarray(3)</a>
        to reduce the risk of incorrect clearing of memory before and after
        <a href="https://man.openbsd.org/reallocarray.3">reallocarray(3)</a>.
    <li><a href="https://man.openbsd.org/sha2.3">SHA512_256</a> family
	of functions added to libc.
    <li>arm added to the list of archs where the
	<a href="https://man.openbsd.org/setjmp.3">setjmp(3)</a>
	family of functions apply XOR cookies to stack and return-address
	values in the jmpbuf.
    <li><a href="https://man.openbsd.org/printf.3">printf(3)</a> family
        of formatting functions now report to syslog when the %s
        format is used with a NULL pointer.
    <li>Heap buffer overflow detection has been improved when the C
	<a href="https://man.openbsd.org/malloc.3">malloc(3)</a> option is used.
	The existing S option now includes C.
    <li>Support for permitting non-root users to
	<a href="https://man.openbsd.org/mount.8">mount(8)</a> filesystems
	has been removed.
    <li><a href="https://man.openbsd.org/bioctl.8">bioctl(8)</a> now uses
	<a href="https://man.openbsd.org/bcrypt_pbkdf.3">bcrypt PBKDF</a> to
	derive keys for
	<a href="https://man.openbsd.org/softraid.4">softraid(4)</a> crypto
	volumes.
    </ul>
<p>

<li><a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a>/
    <a href="https://man.openbsd.org/dhcpd.8">dhcpd(8)</a>/
    <a href="https://man.openbsd.org/dhcrelay.8">dhcrelay(8)</a> improvements:
    <ul>
    <li>Add DHO_BOOTFILE_NAME and DHO_TFTP_SERVER to the options requested by default.
    <li>Add support for RFC 6842 (Client Identifier Option in DHCP Server Replies).
    <li>Stop leaking option data received on the udp socket.
    <li>Stop pretending we use RFC 3046/Option 82/Relay Agent Information.
    <li>Stop recording ignored DHO_ROUTERS and DHO_STATIC_ROUTES options in the effective lease.
    <li>Use only leases from no SSID or the current SSID when restarting.
    <li>Reduce default values for various timeouts to something more
	    appropriate to modern networks.
    <li>Fix issues with redundant dhcpd servers and CARP'd interfaces.
    <li>Switch to standard logging functions
    <li>Fix vis/unvis of strings in
	<a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a> leases files.
    </ul>
<p>

<li>Assorted improvements:
    <ul>
    <li>New <a href="https://man.openbsd.org/syspatch.8">syspatch(8)</a>
        utility for security and reliability binary updates to the base
        system.
    <li><a href="https://man.openbsd.org/acme-client.1">acme-client(1)</a>, a
        privilege separated Automatic Certificate Management Environment
        (ACME) client written by Kristaps Dzonsons has been imported.
    <li>New, simplified
        <a href="https://man.openbsd.org/xenodm.1">xenodm(1)</a>
        X11 display manager forked from
        <a href="https://man.openbsd.org/OpenBSD-6.0/xdm.1">xdm(1)</a>.
    <li>Unicode version 8 character properties in the C library.
    <li>Partial UTF-8 line editing support for
        <a href="https://man.openbsd.org/ksh.1">ksh(1)</a> Vi input mode.
    <li>UTF-8 support in
        <a href="https://man.openbsd.org/column.1">column(1)</a>.
    <li>The performance and concurrency of the
	<a href="https://man.openbsd.org/malloc.3">malloc(3)</a> family
	in multi-threaded processes has been improved.
    <li>Estonian keyboard support.
    <li><a href="https://man.openbsd.org/read.2">read(2)</a> on
        directories now fails instead of returning 0.
    <li>Support for the <code>RES_USE_EDNS0</code> and <code>RES_USE_DNSSEC</code>
        flags has been added to the
        <a href="https://man.openbsd.org/resolver.3">resolver(3)</a>
        implementation.
    <li><a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>
	limits the socket buffer for TCP and TLS connections to 64K
	to avoid wasting kernel memory.
    <li><a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>
	supports the option -Z to print the timestamp in RFC 5424
	ISO format.
	This logs everything in UTC including the year, timezone
	and fractions of seconds.
	The default is still RFC 3164 BSD syslog time format.
    <li>When log files are rotated,
	<a href="https://man.openbsd.org/newsyslog.8">newsyslog(8)</a>
	writes the creation time in UTC ISO format into the first line.
    <li>The
	<a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>
	options -a, -T, and -U can be given more than once to specify
	multiple input sources.
    <li>Improve the
	<a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>
	output and diagnostics in case the klog buffer
	overflows.
    <li>Make SIGHUP handling in
	<a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>
	more reliable.
    <li>Let <a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>
	tolerate most errors on startup.
	Keep running and receive messages from all working subsystems,
	but do not die.
    <li>The <a href="https://man.openbsd.org/syslog.3">syslog(3)</a>
	priority of fatal and warning messages of various daemons
	has been adjusted.
    <li>An NMI sends the amd64 kernel into
	<a href="https://man.openbsd.org/ddb.4">ddb(4)</a>
	more reliably.
    <li><a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a> now
	supports the DT_PREINITARRAY, DT_INITARRAY, DT_FINIARRAY, DT_FLAGS,
	and DT_RUNPATH dynamic tags.
    <li><a href="https://man.openbsd.org/kdump.1">kdump(1)</a>
	now dumps the fds returned by
	<a href="https://man.openbsd.org/pipe.2">pipe(2)</a> and
	<a href="https://man.openbsd.org/socketpair.2">socketpair(2)</a>.
    <li>Added support to <a href="https://man.openbsd.org/doas.1">doas(1)</a>
	for session-locked persistent authentication.
    <li>Use a hardware register for the thread pointer on arm for improved
	performance in multi-threaded processes.
    <li>SGI boot blocks now consult the OpenBSD
	<a href="https://man.openbsd.org/disklabel.5">disklabel(5)</a>
	to locate the root filesystem.
	This reduces constraints on disk partitioning.
    <li><a href="https://man.openbsd.org/iec.4">iec(4)</a>
	no longer hangs when its transmit ring gets full.
    <li><a href="https://man.openbsd.org/sq.4">sq(4)</a>
	has been fixed to accept broadcast frames in non-promiscuous mode
	when no IP address is configured.
	This lets the interface work with DHCP.
    <li>Multiprocessor-safe PCI interrupt handlers are run
	without the kernel lock on OpenBSD/sgi.
    <li><a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> now unconditionally
	sets the size of the protective MBR's EFI GPT partition to UINT32_MAX.
    <li><a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> now respects the
	current MBR or GPT format when initializing a disk.
    <li><a href="https://man.openbsd.org/softraid.4">softraid(4)</a> now uses
	    sufficient parallel i/o's to efficiently rebuild RAID5 volumes.
    <li><a href="https://man.openbsd.org/asr_run.3">asr</a> now accepts UDP
	    packets of up to 4096 bytes to account for broken DNS servers.
    <li><a href="https://man.openbsd.org/umass.4">umass(4)</a> no longer assumes
	    that ATAPI or UFI devices have only 1 LUN.
    <li><a href="https://man.openbsd.org/scsi.4">scsi(4)</a> now correctly
	    detects end of tape on LTO5 devices.
    <li><a href="https://man.openbsd.org/httpd.8">httpd(8)</a> supports
	   SNI
	   via <a href="https://man.openbsd.org/tls_config_add_keypair_ocsp_mem.3">libtls</a>
	   to allow for multiple https sites on a single IP address.
    <li><a href="https://man.openbsd.org/ocspcheck.8">ocspcheck(8)</a>
    has been added, and can be used to check the OCSP status of
    certificates. The corresponding responses can be saved for later use in OCSP stapling.
    <li><a href="https://man.openbsd.org/httpd.8">httpd(8)</a> supports
	   OCSP stapling
	   via <a href="https://man.openbsd.org/tls_config_add_keypair_ocsp_mem.3">libtls</a>
	   to permit OCSP responses to be stapled to the tls handshake
    <li><a href="https://man.openbsd.org/nc.1">nc(1)</a> now also
      supports OCSP stapling server side, and will show the stapling information
      client side.
    <li>Both <a href="https://man.openbsd.org/relayd.8">relayd(8)</a> and
	<a href="https://man.openbsd.org/httpd.8">httpd(8)</a> support now
	TLS session resumption using TLS session tickets.
	See the respective configuration man page for more information.
    <li>With the -f option
	<a href="https://man.openbsd.org/sensorsd.8">sensorsd(8)</a>
	can use an alternative config file.
    </ul>
<p>

<li>OpenSMTPD 6.0.0
    <ul>
      <li>Added support for providing an alternate subaddressing delimiter
      <li>Made the daemon less verbose in logs when exiting
      <li>Improved the io layer to simplify code across the daemon
      <li>Added support for matching authenticated sessions in the ruleset
      <li>Assorted code and documentation cleanups
    </ul>
<p>

<li>OpenSSH 7.4
    <ul>
    <li>Security:
      <ul>
      <li>ssh-agent(1): Will now refuse to load PKCS#11 modules from paths
          outside a trusted whitelist (run-time configurable). Requests to
          load modules could be passed via agent forwarding and an attacker
          could attempt to load a hostile PKCS#11 module across the forwarded
          agent channel: PKCS#11 modules are shared libraries, so this would
          result in code execution on the system running the ssh-agent if the
          attacker has control of the forwarded agent-socket (on the host
          running the sshd server) and the ability to write to the filesystem
          of the host running ssh-agent (usually the host running the ssh
          client).
      <li>sshd(8): When privilege separation is disabled, forwarded Unix-
          domain sockets would be created by sshd(8) with the privileges of
          'root' instead of the authenticated user. This release refuses
          Unix-domain socket forwarding when privilege separation is disabled
          (Privilege separation has been enabled by default for 14 years).
      <li>sshd(8): Avoid theoretical leak of host private key material to
          privilege-separated child processes via realloc() when reading
          keys. No such leak was observed in practice for normal-sized keys,
          nor does a leak to the child processes directly expose key material
          to unprivileged users.
      <li>sshd(8): The shared memory manager used by pre-authentication
          compression support had a bounds checks that could be elided by
          some optimising compilers. Additionally, this memory manager was
          incorrectly accessible when pre-authentication compression was
          disabled. This could potentially allow attacks against the
          privileged monitor process from the sandboxed privilege-separation
          process (a compromise of the latter would be required first).
          This release removes support for pre-authentication compression
          from sshd(8).
      <li>sshd(8): Fix denial-of-service condition where an attacker who
          sends multiple KEXINIT messages may consume up to 128MB per
          connection.
      <li>sshd(8): Validate address ranges for AllowUser and DenyUsers
          directives at configuration load time and refuse to accept invalid
          ones. It was previously possible to specify invalid CIDR address
          ranges (e.g. user@127.1.2.3/55) and these would always match,
          possibly resulting in granting access where it was not intended.
      <li>ssh(1), sshd(8): Fix weakness in CBC padding oracle countermeasures
          that allowed a variant of the attack fixed in OpenSSH 7.3 to proceed.
      </ul>
    <li>New/changed features:
      <ul>
      <li>Server support for the SSH v.1 protocol has been removed.
      <li>ssh(1): Remove 3des-cbc from the client's default proposal. 64-bit
          block ciphers are not safe in 2016 and we don't want to wait until
          attacks like SWEET32 are extended to SSH. As 3des-cbc was the
          only mandatory cipher in the SSH RFCs, this may cause problems
          connecting to older devices using the default configuration,
          but it's highly likely that such devices already need explicit
          configuration for key exchange and hostkey algorithms already
          anyway.
      <li>sshd(8): Remove support for pre-authentication compression.
          Doing compression early in the protocol probably seemed reasonable
          in the 1990s, but today it's clearly a bad idea in terms of both
          cryptography (cf. multiple compression oracle attacks in TLS) and
          attack surface. Pre-auth compression support has been disabled by
          default for >10 years. Support remains in the client.
      <li>ssh-agent will refuse to load PKCS#11 modules outside a whitelist
          of trusted paths by default. The path whitelist may be specified
          at run-time.
      <li>sshd(8): When a forced-command appears in both a certificate and
          an authorized keys/principals command= restriction, sshd will now
          refuse to accept the certificate unless they are identical.
          The previous (documented) behaviour of having the certificate
          forced-command override the other could be a bit confusing and
          error-prone.
      <li>sshd(8): Remove the UseLogin configuration directive and support
          for having /bin/login manage login sessions.
      <li>ssh(1): Add a proxy multiplexing mode to ssh(1) inspired by the
          version in PuTTY by Simon Tatham. This allows a multiplexing
          client to communicate with the master process using a subset of
          the SSH packet and channels protocol over a Unix-domain socket,
          with the main process acting as a proxy that translates channel
          IDs, etc.  This allows multiplexing mode to run on systems that
          lack file- descriptor passing (used by current multiplexing
          code) and potentially, in conjunction with Unix-domain socket
          forwarding, with the client and multiplexing master process on
          different machines. Multiplexing proxy mode may be invoked using
          "ssh -O proxy ..."
      <li>sshd(8): Add a sshd_config DisableForwarding option that disables
          X11, agent, TCP, tunnel and Unix domain socket forwarding, as well
          as anything else we might implement in the future. Like the
          'restrict' authorized_keys flag, this is intended to be a simple
          and future-proof way of restricting an account.
      <li>sshd(8), ssh(1): Support the "curve25519-sha256" key exchange
          method. This is identical to the currently-supported method named
          "curve25519-sha256@libssh.org".
      <li>sshd(8): Improve handling of SIGHUP by checking to see if sshd is
          already daemonised at startup and skipping the call to daemon(3)
          if it is. This ensures that a SIGHUP restart of sshd(8) will
          retain the same process-ID as the initial execution. sshd(8) will
          also now unlink the PidFile prior to SIGHUP restart and re-create
          it after a successful restart, rather than leaving a stale file in
          the case of a configuration error.
      <li>sshd(8): Allow ClientAliveInterval and ClientAliveCountMax
          directives to appear in sshd_config Match blocks.
      <li>sshd(8): Add %-escapes to AuthorizedPrincipalsCommand to match
          those supported by AuthorizedKeysCommand (key, key type,
          fingerprint, etc.) and a few more to provide access to the
          contents of the certificate being offered.
      <li>Added regression tests for string matching, address matching and
          string sanitisation functions.
      <li>Improved the key exchange fuzzer harness.
      <li>Deprecate the sshd_config UsePrivilegeSeparation
          option, thereby making privilege separation mandatory. Privilege
          separation has been on by default for almost 15 years and
          sandboxing has been on by default for almost the last five.
      <li>ssh(1), sshd(8): Support "=-" syntax to easily remove methods from
          algorithm lists, e.g. Ciphers=-*cbc.
      </ul>
    <li>The following significant bugs have been fixed in this release:
      <ul>
      <li>ssh(1): Allow IdentityFile to successfully load and use
          certificates that have no corresponding bare public key.
          certificate id_rsa-cert.pub (and no id_rsa.pub).
      <li>ssh(1): Fix public key authentication when multiple
          authentication is in use and publickey is not just the first
          method attempted.
      <li>ssh-agent(1), ssh(1): improve reporting when attempting to load
          keys from PKCS#11 tokens with fewer useless log messages and more
          detail in debug messages.
      <li>ssh(1): When tearing down ControlMaster connections, don't
          pollute stderr when LogLevel=quiet.
      <li>sftp(1): On ^Z wait for underlying ssh(1) to suspend before
          suspending sftp(1) to ensure that ssh(1) restores the terminal mode
          correctly if suspended during a password prompt.
      <li>ssh(1): Avoid busy-wait when ssh(1) is suspended during a password
          prompt.
      <li>ssh(1), sshd(8): Correctly report errors during sending of ext-
          info messages.
      <li>sshd(8): fix NULL-deref crash if sshd(8) received an out-of-
          sequence NEWKEYS message.
      <li>sshd(8): Correct list of supported signature algorithms sent in
          the server-sig-algs extension.
      <li>sshd(8): Fix sending ext_info message if privsep is disabled.
      <li>sshd(8): more strictly enforce the expected ordering of privilege
          separation monitor calls used for authentication and allow them
          only when their respective authentication methods are enabled
          in the configuration
      <li>sshd(8): Fix uninitialised optlen in getsockopt() call; harmless
          on Unix/BSD but potentially crashy on Cygwin.
      <li>Fix false positive reports caused by explicit_bzero(3) not being
          recognised as a memory initialiser when compiled with
          -fsanitize-memory.
      <li>sshd_config(5): Use 2001:db8::/32, the official IPv6 subnet for
          configuration examples.
      <li>sshd(1): Fix NULL dereference crash when key exchange start
          messages are sent out of sequence.
      <li>ssh(1), sshd(8): Allow form-feed characters to appear in
          configuration files.
      <li>sshd(8): Fix regression in OpenSSH 7.4 support for the
          server-sig-algs extension, where SHA2 RSA signature methods were
          not being correctly advertised.
      <li>ssh(1), ssh-keygen(1): Fix a number of case-sensitivity bugs in
          known_hosts processing.
      <li>ssh(1): Allow ssh to use certificates accompanied by a private key
          file but no corresponding plain *.pub public key.
      <li>ssh(1): When updating hostkeys using the UpdateHostKeys option,
          accept RSA keys if HostkeyAlgorithms contains any RSA keytype.
          Previously, ssh could ignore RSA keys when only the ssh-rsa-sha2-*
          methods were enabled in HostkeyAlgorithms and not the old ssh-rsa
          method.
      <li>ssh(1): Detect and report excessively long configuration file
          lines.
      <li>Merge a number of fixes found by Coverity and reported via Redhat
          and FreeBSD. Includes fixes for some memory and file descriptor
          leaks in error paths.
      <li>ssh-keyscan(1): Correctly hash hosts with a port number.
      <li>ssh(1), sshd(8): When logging long messages to stderr, don't truncate
          "\r\n" if the length of the message exceeds the buffer.
      <li>ssh(1): Fully quote [host]:port in generated ProxyJump/-J command-
          line; avoid confusion over IPv6 addresses and shells that treat
          square bracket characters specially.
      <li>ssh-keygen(1): Fix corruption of known_hosts when running
          "ssh-keygen -H" on a known_hosts containing already-hashed entries.
      <li>Fix various fallout and sharp edges caused by removing SSH protocol
          1 support from the server, including the server banner string being
          incorrectly terminated with only \n (instead of \r\n), confusing
          error messages from ssh-keyscan a segfault in sshd
          if protocol v.1 was enabled for the client and sshd_config
          contained references to legacy keys.
      <li>ssh(1), sshd(8): Free fd_set on connection timeout.
      <li>sshd(8): Fix Unix domain socket forwarding for root (regression in
          OpenSSH 7.4).
      <li>sftp(1): Fix division by zero crash in "df" output when server
          returns zero total filesystem blocks/inodes.
      <li>ssh(1), ssh-add(1), ssh-keygen(1), sshd(8): Translate OpenSSL errors
          encountered during key loading to more meaningful error codes.
      <li>ssh-keygen(1): Sanitise escape sequences in key comments sent to
          printf but preserve valid UTF-8 when the locale supports it.
      <li>ssh(1), sshd(8): Return reason for port forwarding failures where
          feasible rather than always "administratively prohibited".
      <li>sshd(8): Fix deadlock when AuthorizedKeysCommand or
          AuthorizedPrincipalsCommand produces a lot of output and a key is
          matched early.
      <li>ssh(1): Fix typo in ~C error message for bad port forward
          cancellation.
      <li>ssh(1): Show a useful error message when included config files
          can't be opened.
      <li>sshd(8): Make sshd set GSSAPIStrictAcceptorCheck=yes as the manual page
          (previously incorrectly) advertised.
      <li>sshd_config(5): Repair accidentally-deleted mention of %k token
          in AuthorizedKeysCommand.
      <li>sshd(8): Remove vestiges of previously removed LOGIN_PROGRAM;
      <li>ssh-agent(1): Relax PKCS#11 whitelist to include libexec and
          common 32-bit compatibility library directories.
      <li>sftp-client(1): Fix non-exploitable integer overflow in SSH2_FXP_NAME
          response handling.
      <li>ssh-agent(1): Fix regression in 7.4 of deleting PKCS#11-hosted
          keys. It was not possible to delete them except by specifying
          their full physical path.
      </ul>
    </ul>
<p>

<li>LibreSSL 2.5.3
    <ul>
    <li>libtls now supports ALPN and SNI
    <li>libtls adds a new callback interface for integrating custom IO
	functions. Thanks to Tobias Pape.
    <li>libtls now handles 4 cipher suite groups:
	<ul>
	<li>"secure" (TLSv1.2+AEAD+PFS)
	<li>"compat" (HIGH:!aNULL)
	<li>"legacy" (HIGH:MEDIUM:!aNULL)
	<li>"insecure" (ALL:!aNULL:!eNULL)
	</ul>
	This allows for flexibility and finer grained control, rather than
	having two extremes (an issue raised by Marko Kreen some time ago).
    <li>Tightened error handling for tls_config_set_ciphers().
    <li>libtls now always loads CA, key and certificate files at the time the
	configuration function is called. This simplifies code and results in
	a single memory based code path being used to provide data to libssl.
    <li>Added support for OCSP intermediate certificates.
    <li>Added X509_check_host(), X509_check_email(), X509_check_ip(), and
	X509_check_ip_asc() functions, via BoringSSL.
    <li>Added initial support for iOS, thanks to Jacob Berkman.
    <li>Improved behavior of arc4random on Windows when using memory leak
	analysis software.
    <li>Correctly handle an EOF that occurs prior to the TLS handshake
	completing. Reported by Vasily Kolobkov, based on a diff from Marko
	Kreen.
    <li>Limit the support of the "backward compatible" SSLv2 handshake to
	only be used if TLS 1.0 is enabled.
    <li>Fix incorrect results in certain cases on 64-bit systems when
	BN_mod_word() can return incorrect results. BN_mod_word() now can
	return an error condition. Thanks to Brian Smith.
    <li>Added constant-time updates to address CVE-2016-0702.
    <li>Fixed undefined behavior in BN_GF2m_mod_arr().
    <li>Removed unused Cryptographic Message Support (CMS).
    <li>More conversions of long long idioms to time_t.
    <li>Improved compatibility by avoiding printing NULL strings with
	printf.
    <li>Reverted change that cleans up the EVP cipher context in
        EVP_EncryptFinal() and EVP_DecryptFinal(). Some software relies on the
        previous behaviour.
    <li>Avoid unbounded memory growth in libssl, which can be triggered
	by a TLS client repeatedly renegotiating and sending OCSP Status
	Request TLS extensions.
    <li>Avoid falling back to a weak digest for (EC)DH when using SNI
	with libssl.
    <li>X509_cmp_time() now passes a malformed GeneralizedTime field as
	an error. Reported by Theofilos Petsios.
    <li>Check for and handle failure of HMAC_{Update,Final} or
	EVP_DecryptUpdate().
    <li>Massive update and normalization of manpages, conversion to
	mandoc format. Many pages were rewritten for clarity and accuracy.
	Portable doc links are up-to-date with a new conversion tool.
    <li>Curve25519 and TLS X25519 Key Exchange support.
    <li>Support for alternate chains for certificate verification.
    <li>Code cleanups, CBB conversions, further unification of DTLS/SSL
	handshake code, further ASN1 macro expansion and removal.
    <li>Private symbols are now hidden in libssl and libcrypto.
    <li>Friendly certificate verification error messages in libtls, peer
	verification is now always enabled.
    <li>Added OCSP stapling support to libtls and nc.
    <li>Added ocspcheck utility to validate a certificate against its OCSP
	responder and save the reply for stapling
    <li>Enhanced regression tests and error handling for libtls.
    <li>Added explicit constant and non-constant time BN functions,
	defaulting to constant time wherever possible.
    <li>Moved many leaked implementation details in public structs behind
	opaque pointers.
    <li>Added ticket support to libtls.
    <li>Added support for setting the supported EC curves via
	SSL{_CTX}_set1_groups{_list}() - also provide defines for the
	previous SSL{_CTX}_set1_curves{_list} names. This also changes
	the default list of curves to be X25519, P-256 and P-384. All
	other curves must be manually enabled.
    <li>Added -groups option to openssl(1) s_client for specifying the
	curves to be used in a colon-separated list.
    <li>Merged client/server version negotiation code paths into one,
	reducing much duplicate code.
    <li>Removed error function codes from libssl and libcrypto.
    <li>Fixed an issue where a truncated packet could crash via an OOB
	read.
    <li>Added SSL_OP_NO_CLIENT_RENEGOTIATION option that disallows
	client-initiated renegotiation. This is the default for libtls
	servers.
    <li>Avoid a side-channel cache-timing attack that can leak the ECDSA
	private keys when signing. This is due to BN_mod_inverse() being
	used without the constant time flag being set. Reported by Cesar
	Pereida Garcia and Billy Brumley (Tampere University of
	Technology).  The fix was developed by Cesar Pereida Garcia.
    <li>iOS and MacOS compatibility updates from Simone Basso and Jacob
	Berkman.
    <li>Added the recallocarray(3) memory allocation function, and
	converted various places in the library to use it, such as CBB
	and BUF_MEM_grow.  recallocarray(3) is similar to
	reallocarray. Newly allocated memory is cleared similar to
	calloc(3). Memory that becomes unallocated while shrinking or
	moving existing allocations is explicitly discarded by unmapping
	or clearing to 0.
    <li>Added new root CAs from SECOM Trust Systems / Security
	Communication of Japan.
    <li>Added EVP interface for MD5+SHA1 hashes.
    <li>Improved nc(1) TLS handshake CPU usage and server-side error
	reporting.
    <li>Added a constant time version of BN_gcd and use it default for
	BN_gcd to avoid the possibility of sidechannel timing attacks
	against RSA private key generation - Thanks to Alejandro
	Cabrera &lt;aldaya@gmail.com>
    </ul>
<p>

<li>mandoc 1.14.1
    <ul>
    <li>New <a href="https://man.openbsd.org/mandoc.db.5">mandoc.db(5)</a>
	file format: <a href="https://man.openbsd.org/man.1">man(1)</a>,
	<a href="https://man.openbsd.org/apropos.1">apropos(1)</a>, and
	<a href="https://man.openbsd.org/makewhatis.8">makewhatis(8)</a>
	no longer need SQLite3.
    <li>Much improved HTML output and CSS.
    <li>In <a href="https://man.openbsd.org/man.1">man(1)</a>, internal
	searching with <a href="https://man.openbsd.org/less.1">less(1)</a>
	<code>:t</code> has been improved.
    <li>New <a href="https://man.openbsd.org/mandoc.1">mandoc(1)</a>
	<code>-mdoc -T markdown</code> output mode
	(already a post-1.14.1 feature).
    </ul>
<p>

<li><p>Ports and packages:
    <p>Many pre-built packages for each architecture:
    <!-- number of FTP packages minus SHA256, SHA256.sig, index.txt -->
    <ul style="column-count: 3">
      <li>alpha:      7413
      <li>amd64:      9714
      <li>arm:        7501
      <li>hppa:       6422
      <li>i386:       9697
      <li>mips64:     8072
      <li>mips64el:   6880
      <li>powerpc:    7703
      <li>sparc64:    8606
    </ul>
    <p>Some highlights:
    <ul style="column-count: 2">
	<li>AFL 2.39b
	<li>Chromium 57.0.2987.133
	<li>Emacs 21.4 and 25.1
	<li>GCC 4.9.4
	<li>GHC 7.10.3
	<li>Gimp 2.8.18
	<li>GNOME 3.22.2
	<li>Go 1.8
	<li>Groff 1.22.3
	<li>JDK 7u80 and 8u121
	<li>KDE 3.5.10 and 4.14.3 (plus KDE4 core updates)
	<li>LLVM/Clang 4.0.0
	<li>LibreOffice 5.2.4.2
	<li>Lua 5.1.5, 5.2.4, and 5.3.4
	<li>MariaDB 10.0.30
	<li>Mono 4.6.2.6
	<li>Mozilla Firefox 52.0.2esr and 52.0.2
	<li>Mozilla Thunderbird 45.8.0
	<li>Mutt 1.8.0
	<li>Node.js 6.10.1
	<li>Ocaml 4.03.0
	<li>OpenLDAP 2.3.43 and 2.4.44
	<li>PHP 5.5.38, 5.6.30, and 7.0.16
	<li>Postfix 3.2.0 and 3.3-20170218
	<li>PostgreSQL 9.6.2
	<li>Python 2.7.13, 3.4.5, 3.5.2 and 3.6.0
	<li>R 3.3.3
	<li>Ruby 1.8.7.374, 2.1.9, 2.2.6, 2.3.3 and 2.4.1
	<li>Rust 1.16.0
	<li>Sendmail 8.15.2
	<li>SQLite3 3.17.0
	<li>Sudo 1.8.19.2
	<li>Tcl/Tk 8.5.18 and 8.6.4
	<li>TeX Live 2015
	<li>Vim 8.0.0388
	<li>Xfce 4.12
    </ul>
<p>

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

<li>The system includes the following major components from outside suppliers:
    <ul>
    <li>Xenocara (based on X.Org 7.7 with xserver 1.18.3 + patches,
      freetype 2.7.1, fontconfig 2.12.1, Mesa 13.0.6, xterm 327,
      xkeyboard-config 2.20 and more)
    <li>LLVM/Clang 4.0.0 (+ patches)
    <li>GCC 4.2.1 (+ patches) and 3.3.6 (+ patches)
    <li>Perl 5.24.1 (+ patches)
    <li>NSD 4.1.15
    <li>Unbound 1.6.1
    <li>Ncurses 5.7
    <li>Binutils 2.17 (+ patches)
    <li>Gdb 6.3 (+ patches)
    <li>Awk Aug 10, 2011 version
    <li>Expat 2.1.1
    </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.1 on your machine:

<ul>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.1/alpha/INSTALL.alpha">
	.../OpenBSD/6.1/alpha/INSTALL.alpha</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.1/amd64/INSTALL.amd64">
	.../OpenBSD/6.1/amd64/INSTALL.amd64</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.1/arm64/INSTALL.arm64">
	.../OpenBSD/6.1/arm64/INSTALL.arm64</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.1/armv7/INSTALL.armv7">
	.../OpenBSD/6.1/armv7/INSTALL.armv7</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.1/hppa/INSTALL.hppa">
	.../OpenBSD/6.1/hppa/INSTALL.hppa</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.1/i386/INSTALL.i386">
	.../OpenBSD/6.1/i386/INSTALL.i386</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.1/landisk/INSTALL.landisk">
	.../OpenBSD/6.1/landisk/INSTALL.landisk</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.1/loongson/INSTALL.loongson">
	.../OpenBSD/6.1/loongson/INSTALL.loongson</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.1/luna88k/INSTALL.luna88k">
	.../OpenBSD/6.1/luna88k/INSTALL.luna88k</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.1/macppc/INSTALL.macppc">
	.../OpenBSD/6.1/macppc/INSTALL.macppc</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.1/octeon/INSTALL.octeon">
	.../OpenBSD/6.1/octeon/INSTALL.octeon</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.1/sgi/INSTALL.sgi">
	.../OpenBSD/6.1/sgi/INSTALL.sgi</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.1/sparc64/INSTALL.sparc64">
	.../OpenBSD/6.1/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>floppy61.fs</i> or <i>floppyB61.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>install61.iso</i> or
<i>cd61.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>install61.fs</i> or
<i>miniroot61.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>miniroot61.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>install61.iso</i> or
<i>cd61.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>install61.fs</i> or
<i>miniroot61.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>miniroot61.fs</i> to the start of the CF
or disk, and boot normally.

<h3>OpenBSD/loongson:</h3>

<p>
Write <i>miniroot61.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.1/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/sgi:</h3>

<p>
To install, burn cd61.iso on a CD-R, put it in the CD drive of your
machine and select <i>Install System Software</i> from the System Maintenance
menu. Indigo/Indy/Indigo2 (R4000) systems will not boot automatically from
CD-ROM, and need a proper invocation from the PROM prompt.
Refer to the instructions in INSTALL.sgi for more details.

<p>
If your machine doesn't have a CD drive, you can setup a DHCP/tftp network
server, and boot using "bootp()/bsd.rd.IP##" using the kernel matching your
system type. Refer to the instructions in INSTALL.sgi 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>floppy61.fs</i> or <i>floppyB61.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>miniroot61.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.0 system, and do not want to reinstall,
upgrade instructions and advice can be found in the
<a href="faq/upgrade61.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_1</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.1 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>