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

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

Revision 1.9, Thu Sep 29 21:52:51 2022 UTC (19 months, 4 weeks ago) by bluhm
Branch: MAIN
Changes since 1.8: +32 -0 lines

Document pf and network MP improvements.

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

<title>OpenBSD 7.2</title>
<meta name="description" content="OpenBSD 7.2">
<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/72.html">
</head><body>
<h2 id=OpenBSD>
<a href="index.html">
<i>Open</i><b>BSD</b></a>
7.2
</h2>

<table>
<tr>
<td>
<a href="images/XXX.png">
<img width="227" height="303" src="images/XXX-s.gif" alt="XXX"></a>
<td>
Released Oct 20, 2022. (53rd OpenBSD release)<br>
Copyright 1997-2022, Theo de Raadt.<br>
<br>
Artwork by Luc Houweling.
<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/7.2/</code> directory on
    one of the mirror sites.
<li>Have a look at <a href="errata72.html">the 7.2 errata page</a> for a list
    of bugs and workarounds.
<li>See a <a href="plus72.html">detailed log of changes</a> between the
    7.1 and 7.2 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-72-base.pub:
<td>
<a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/openbsd-72-base.pub">
RWQTKNnK3CZZ8Lid7/kWPO1WxjEsTeuxiXbJSSg6RDir9OJmV+t7GrOo
<tr><td>
openbsd-72-fw.pub:
<td>
RWRvwsB/ZxwZxiQBgNVhuCnEacKE1MhrcDX25jFccqaj0pxsY9oIPJq4
<tr><td>
openbsd-72-pkg.pub:
<td>
RWSyNc+EwQQo5bZ5XtDpnk0FUl8NrIl+Ocq4FV/5VTvP9rOgHzKEnBx0
<tr><td>
openbsd-72-syspatch.pub:
<td>
RWQuBB7PRAc2Zy+C7VAynLuan8WDVtQ9R4xLpl8yjf1zxfqEBRRJ+66w
</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 7.2.
For a comprehensive list, see the <a href="plus72.html">changelog</a> leading
to 7.2.

<ul>

<li>New/extended platforms:
  <ul>
  <li>Added support for Ampere Altra
  <li>Added support for Apple M2
  <li>Added support for Qualcomm Snapdragon 8cx Gen 3 (SC8280XP)
  <li>...
  </ul>

<li>Various kernel improvements:
  <ul>
  <li>pf(4) automatically allows IGMP and ICMP6 MLD packets with
    router alert option.
    Special allow-opts rules are no longer needed for multicast
    discovery.
  <li>Implement "show all routes" to print routing tables in ddb(4).
  <li>Count dropped network packets due to low memory in netstat(1).
  <li>...
  </ul>

<li>SMP Improvements
  <ul>
  <li>Make route timer MP safe and use pool rttmr.
  <li>Use kernel lock to protect parts of ARP, ND6 and PPPoE that
    are not MP safe.
    Lookup of existing ARP entry is MP safe and can run in parallel.
  <li>Start up to 4 softnet tasks to run IP input and forwarding
    in parallel on multiple cores.
  <li>Run IPv4 packet reassembly in parallel.
  <li>Run IPv6 hop-by-hop options processing in parallel.
  <li>Add a mutex to rate limiting functions to make them MP safe.
  <li>Introduce mutex and reference counter for internet protocol 
    control block.
  <li>Protect UDP, raw IP, and divert packet input routines
    with a per socket mutex.
  <li>Protect recv(2) system call for UDP and raw IP packets with
    a per socket mutex and shared netlock.
    Allows to receive packets while forwarding in parallel.
  <li>Protect multicast deliver loop for UDP and raw IP sockets with rwlock.
  <li>Only grab netlock in IGMP and MDL6 timer when necessary.
  <li>TCP slow timer runs without netlock.
  <li>Rework rwlock so that a writer will get the lock eventually.
    Readers cannot share the lock forever.
    This prevents starvation of the writer.
  <li>Run interface media ioctl with shared netlock so packets
    can be processed while running ifconfig(8).
  <li>btrace(8) can be used to debug reference counting.
  <li>Use MP safe refcount for interface addresses.
  <li>...
  </ul>

<li>Direct Rendering Manager
  <ul>
  <li>Updated <a href="https://man.openbsd.org/drm.4">drm(4)</a>
      to Linux 5.15.69
  <li><a href="https://man.openbsd.org/inteldrm.4">inteldrm(4)</a>:
      support for Alder Lake, Raptor Lake
  <li>...
  </ul>

<li>VMM/VMD improvements
  <ul>
  <li>...
  </ul>

<li>Various new userland features:
  <ul>
  <li>...
  </ul>

<li>Various bugfixes and tweaks in userland:
  <ul>
  <li>...
  </ul>

<li>Improved hardware support and driver bugfixes, including:
  <ul>
  <li>New <a href="https://man.openbsd.org/arm64/aplaudio.4">aplaudio(4)</a>
      driver for Apple audio subsystem.
  <li>New <a href="https://man.openbsd.org/arm64/aplmca.4">aplmca(4)</a>
      driver for Apple MCA controller.
  <li>New <a href="https://man.openbsd.org/arm64/aplsart.4">aplsart(4)</a>
      driver for Apple SART address filter.
  <li>New alpdc, apldchidev, apldckbd, apldcms, and aplrtk drivers for
      keyboard and trackpad on Apple M2 laptops.
  <li>New <a href="https://man.openbsd.org/arm64/qcgpio.4">qcgpio(4)</a>
      driver for Qualcomm Snapdragon GPIO controller.
  <li>New <a href="https://man.openbsd.org/arm64/qciic.4">qciic(4)</a>
      driver for Qualcomm Snapdragon GENI I2C controller.
  <li>New <a href="https://man.openbsd.org/riscv64/sfgpio.4">sfgpio(4)</a>
      driver for SiFive GPIO controller.
  <li>New <a href="https://man.openbsd.org/riscv64/stfclock.4">stfclock(4)</a>
      driver for StarFive JH7100 clock controller.
  <li>New <a href="https://man.openbsd.org/riscv64/stfpinctrl.4">stfpinctrl(4)</a>
      driver for StarFive JH7100 pin configuration.
  <li>New stftemp
      driver for StarFive JH7100 temperature sensor.
  <li>New <a href="https://man.openbsd.org/sxirintc.4">sxirintc(4)</a>
      driver for Allwinner wakeup interrupt controller.
  <li>New gpiorestart
      driver for system reset via GPIO pin.
  <li>...
  </ul>

<li>New or improved network hardware support:
  <ul>
  <li>Enabled checksum offloads in <a href="https://man.openbsd.org/igc.4"
      >igc(4)</a>.
  <li>...
  </ul>

<li>Added or improved wireless network drivers:
  <ul>
  <li>...
  </ul>

<li>IEEE 802.11 wireless stack improvements and bugfixes:
  <ul>
  <li>...
  </ul>

<li>Installer and upgrade improvements:
  <ul>
  <li>...
  </ul>

<li>Security improvements:
  <ul>
  <li>...
  </ul>

<li>Routing daemons and other userland network improvements:
  <ul>
  <li>...
  </ul>

<li><a href="https://man.openbsd.org/tmux">tmux(1)</a> improvements and bug fixes:
  <ul>
  <li>...
  </ul>

<li>LibreSSL version 3.6.0
  <ul>
  <li>New Features
    <ul>
    <li>...
    </ul>

  <li>Portable Improvements
    <ul>
    <li>...
    </ul>

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

  <li>Bug fixes
    <ul>
    <li>...
    </ul>

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

  <li>Documentation improvements
    <ul>
    <li>...
    </ul>
  </ul>

<li>OpenSSH 9.1
  <ul>
  <li>...
  </ul>

<li>mandoc 1.14.6 plus several bugfixes, including:
  <ul>
  <li>...
  </ul>

<li>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>aarch64:     XXXX
    <li>amd64:       XXXX
    <li>arm:         XXXX
    <li>i386:        XXXX
    <li>mips64:      XXXX
    <li>powerpc:     XXXX
    <li>powerpc64:   XXXX
    <li>riscv64:     XXXX
    <li>sparc64:     XXXX
  </ul>

  <p>Some highlights:
  <ul style="column-count: 3">
    <li>Asterisk 16.28.0, 18.14.0 and 19.6.0
    <li>Audacity 2.4.2
    <li>CMake 3.24.2
    <li>Chromium 105.0.5195.125
    <li>Emacs 28.2
    <li>FFmpeg 4.4.2
    <li>GCC 8.4.0 and 11.2.0
    <li>GHC 9.2.4
    <li>GNOME 42.4
    <li>Go 1.19.1
    <li>JDK 8u342, 11.0.16 and 17.0.4
    <li>KDE Applications 22.08.1
    <li>KDE Frameworks 5.98.0
    <li>Krita 5.1.1
    <li>LLVM/Clang 13.0.0
    <li>LibreOffice 7.4.1.2
    <li>Lua 5.1.5, 5.2.4 and 5.3.6
    <li>MariaDB 10.9.3
    <li>Mono 6.12.0.182
    <li>Mozilla Firefox 105.0.1 and ESR 102.3.0
    <li>Mozilla Thunderbird 102.3.0
    <li>Mutt 2.2.7 and NeoMutt 20220429
    <li>Node.js 16.17.1
    <li>OCaml 4.12.1
    <li>OpenLDAP 2.6.3
    <li>PHP 7.4.30, 8.0.23 and 8.1.10
    <li>Postfix 3.7.2
    <li>PostgreSQL 14.5
    <li>Python 2.7.18, 3.9.14 and 3.10.7
    <li>Qt 5.15.6 and 6.3.1
    <li>R 4.2.1
    <li>Ruby 2.7.6, 3.0.4 and 3.1.2
    <li>Rust 1.63.0
    <li>SQLite 3.39.3
    <li>Shotcut 22.06.23
    <li>Sudo 1.9.11.2
    <li>Suricata 6.0.6
    <li>Tcl/Tk 8.5.19 and 8.6.12
    <li>TeX Live 2021
    <li>Vim 9.0.0192 and Neovim 0.7.2
    <li>Xfce 4.16
  </ul>
  <p>

<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 21.1.4 + patches,
        freetype 2.12.1, fontconfig 2.13.94, Mesa 22.1.7, xterm 372,
        xkeyboard-config 2.20, fonttosfnt 1.2.2 and more)
    <li>LLVM/Clang 13.0.0 (+ patches)
    <li>GCC 4.2.1 (+ patches) and 3.3.6 (+ patches)
    <li>Perl 5.32.1 (+ patches)
    <li>NSD 4.6.0
    <li>Unbound 1.16.3
    <li>Ncurses 5.7
    <li>Binutils 2.17 (+ patches)
    <li>Gdb 6.3 (+ patches)
    <li>Awk September 12, 2022
    <li>Expat 2.4.9
  </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 7.2 on your machine:

<ul>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/alpha/INSTALL.alpha">
	.../OpenBSD/7.2/alpha/INSTALL.alpha</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/amd64/INSTALL.amd64">
	.../OpenBSD/7.2/amd64/INSTALL.amd64</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/arm64/INSTALL.arm64">
	.../OpenBSD/7.2/arm64/INSTALL.arm64</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/armv7/INSTALL.armv7">
	.../OpenBSD/7.2/armv7/INSTALL.armv7</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/hppa/INSTALL.hppa">
	.../OpenBSD/7.2/hppa/INSTALL.hppa</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/i386/INSTALL.i386">
	.../OpenBSD/7.2/i386/INSTALL.i386</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/landisk/INSTALL.landisk">
	.../OpenBSD/7.2/landisk/INSTALL.landisk</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/loongson/INSTALL.loongson">
	.../OpenBSD/7.2/loongson/INSTALL.loongson</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/luna88k/INSTALL.luna88k">
	.../OpenBSD/7.2/luna88k/INSTALL.luna88k</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/macppc/INSTALL.macppc">
	.../OpenBSD/7.2/macppc/INSTALL.macppc</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/octeon/INSTALL.octeon">
	.../OpenBSD/7.2/octeon/INSTALL.octeon</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/powerpc64/INSTALL.powerpc64">
	.../OpenBSD/7.2/powerpc64/INSTALL.powerpc64</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/riscv64/INSTALL.riscv64">
	.../OpenBSD/7.2/riscv64/INSTALL.riscv64</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/sparc64/INSTALL.sparc64">
	.../OpenBSD/7.2/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>
If your machine can boot from CD, you can write <i>install72.iso</i> or
<i>cd72.iso</i> to a CD and boot from it.
Refer to INSTALL.alpha for more details.

<h3>OpenBSD/amd64:</h3>

<p>
If your machine can boot from CD, you can write <i>install72.iso</i> or
<i>cd72.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>install72.img</i> or
<i>miniroot72.img</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>install72.img</i> or <i>miniroot72.img</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>install72.iso</i> or
<i>cd72.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>install72.img</i> or
<i>miniroot72.img</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>miniroot72.img</i> to the start of the CF
or disk, and boot normally.

<h3>OpenBSD/loongson:</h3>

<p>
Write <i>miniroot72.img</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
/7.2/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/powerpc64:</h3>

<p>
To install, write <i>install72.img</i> or <i>miniroot72.img</i> to a
USB stick, plug it into the machine and choose the <i>OpenBSD
install</i> menu item in Petitboot.
Refer to the instructions in INSTALL.powerpc64 for more details.

<h3>OpenBSD/riscv64:</h3>

<p>
To install, write <i>install72.img</i> or <i>miniroot72.img</i> to a
USB stick, and boot with that drive plugged in.
Make sure you also have the microSD card plugged in that shipped with the
HiFive Unmatched board.
Refer to the instructions in INSTALL.riscv64 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>floppy72.img</i> or <i>floppyB72.img</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>miniroot72.img</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 7.0 system, and do not want to reinstall,
upgrade instructions and advice can be found in the
<a href="faq/upgrade72.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_7_2</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 7.2 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>
</body>
</html>