OpenBSD版本更新录(202x)
OpenBSD是一个从NetBSD衍生出来的类Unix操作系统,Theo de Raadt在1995年发起了OpenBSD提案,作为 NetBSD v1.0 的分支版本开发推进,首个 1.0 版本于 1996 年 7 月发布。希望创造一个注重安全的操作系统,并于1996年正式创建。此外也以高品质、坚持开放程式码以及严格的软件授权而著名,其吉祥物是河豚。这是一个专注于代码正确和文档准确且关注安全的操作系统,其强调可移植性、标准化、正确性、前瞻安全性以及集成的密码技术。该项目还开发广为使用且受欢迎的 OpenSSH(OpenBSD Secure Shell)软件,它利用 SSH 协议为计算机网络提供加密的通信会话。本文是从OpenBSD的产品主页分离出来的,专门用于该发行版本的更新记录,截止到2030年之前。最新版本:5.0
v5.0 于2011年11月发布,该版本改进了硬件支持、网络堆栈支持、路由守护进程以及其他用户级别的网络,改进对 SCSI 的支持,更新 OpenSSH 到 5.9 等等,详细内容请看发行说明。
最新版本:5.6
该版本使用 LibreSSL 替代 OpenSSL;改进对硬件的支持;提升网络支持,支持 USB 3.0 设备,改进安装程序等等,新特性包括:
处理器支持
改进硬件支持
pledge(2) 支持集成
SMP网络堆栈的改进
Initial IEEE 802.11n 无线支持
通用网络协议栈的改进
安装程序的改进
路由守护程序和用户空间等网络改进
安全性改进
其他改进
最新版本:6.0
该版本改进如下:
默认启用内存保护策略W^X(也就是内存页要么可写要么可执行,无法两者兼具);
ARMv7平台支持EFI + bootloader;
改进硬件支持;
改进 IEEE 802.11 无线网络协议栈;
软件更新如OpenSMTPD 6.0.0、OpenSSH 7.3、OpenNTPD 6.0和 LibreSSL 2.4.2;
移除VAX支持、Linux模拟和kern.usermount,等等,更多改进信息,可查看发行说明。
最新版本:6.2
该版本包含大量更新内容,带来了许多新的驱动程序,特别是对于 ARM 架构和网络数据包处理性能的改进。一些关键功能也被添加到系统安装程序中,包括检查系统首次启动时的安全更新。另外还有对 vmm(4) / vmd(8)、IEEE 802.11、通用网络栈以及安全性的改进。详细内容请查阅发行说明。在 ARM64 架构上引入了 SMP 支持,在虚拟机守护进程(vmd)上包含 ISO 支持,使缓存分配更加高效。同时 LibreSSL 和 OpenSSH 安全通信工具也有一些更新:LibreSSL 2.7.2 - 基于对应用程序中实际使用情况的观察,增加了对许多 OpenSSL 1.0.2和1.1 API 的支持。 这些与现有的 OpenSSL 1.0.1 API 并行实现 - 尚未对现有结构进行可视性更改,从而允许为旧版 OpenSSL API 编写的代码继续工作。对 API 文档进行了广泛的更正、改进和补充,其中包括来自 OpenSSL 的没有预先存在的文档的新公共 API。增加了对libcrypto,libssl 和 libtls 中自动库初始化的支持。OpenBSD 6.4 发布了,OpenBSD 是一个专注于代码正确和文档准确的专注于安全的操作系统,其强调可移植性、标准化、正确性、前摄安全性以及集成的密码技术。该项目还开发广为使用且受欢迎的 OpenSSH(OpenBSD Secure Shell)软件,它利用 SSH 协议为计算机网络提供加密的通信会话。此版本具有改进的硬件支持,添加了许多新的驱动程序。值得注意的安全性改进包括新的 unveil() 系统调用以限制文件系统访问,详情查看发行公告。
最新版本:6.6
OpenBSD 6.6 发布了,OpenBSD 是一个专注于代码正确和文档准确的专注于安全的操作系统,其强调可移植性、标准化、正确性、前摄安全性以及集成的密码技术。该项目还开发广为使用且受欢迎的 OpenSSH(OpenBSD Secure Shell)软件,它利用 SSH 协议为计算机网络提供加密的通信会话。主要更新内容:
修复了对物理内存大于 1023GB 的 amd64 计算机的支持
drm(4) 更新和 octeon 平台现在使用 clang(1) 作为基本系统编译器
除了 aarch64、amd64、armv7、i386、mips64el、parc64 之外,clang(1) 现在还提供了powerpc 架构
在 armv7 和 i386 的基础上禁用了 gcc
当在租约中提供 mtu 时,阻止 dhclient(8) 重复获取新租约
防止多个线程在读/写模式下打开 wscons(4) 设备
允许非 root 用户在首次打开设备时成为 drm(4) 设备的所有者
在 tmux(1) 中添加了对格式搜索、匹配和替换修饰符的正则表达式支持
在 tmux(1) 的源文件中添加了 -v 标志,以显示命令和行号
在 tmux(1) 中添加了可与鼠标或键盘一起使用的简单菜单。引入了命令 "display-menu",以默认情况下在状态行上显示绑定到鼠标的菜单,并以树、客户端和缓冲区模式添加了菜单
更改了 tmux(1) 中 swap-window -d 的行为以匹配 swap-pane
在 tmux(1) 中允许窗格为空,并允许使用 split-window 或 display-message -I 将输出通过管道传递给它们
调整了 tmux(1),使其在拖动时自动滚动,以在光标到达顶行或底行时用鼠标创建选择
修复了杀死当前窗口时的 tmux(1) 崩溃以及其他错误修正
更多详情查看发行公告。
最新版本:6.7
OpenBSD 6.7 已发布,主要更新内容:
改进 FFS2 文件系统并成为默认文件系统,包括在新安装时默认使用 64 位时间戳和区块号
为 ARM64 设备提供对 Raspberry Pi 4 的支持,同时改进对 Raspberry Pi 3 的支持。对于 OpenBSD ARMv7,还改进了对 Raspberry Pi 2/3 的支持
更好地支持 Rockchip 系统,如 Pinebook Pro
针对 SMP 的多项改进,包括更好的 AMD SMT/Core/Package 检测
对各种不同的硬件驱动改进,包括支持 Intel AX200 WiFi 设备
引入 FIDO 驱动,支持 FIDO/U2F 安全密钥
修复了在不同的 USB 3.0 控制器上使用时对 USB 2.0 设备的处理
PowerPC OpenBSD 构建切换到 Clang 作为其默认代码编译器
多项 dhclient 修复
改进音频驱动
安全改进……
更多详情查看发行公告。
最新版本:6.8
2020年10月18日,类 Unix 操作系统 OpenBSD 6.8 版本发布。在这次在发布歌曲“Hacher People”时,还指出它已经有 25 年历史了,一路走来,他们的工作开始影响整个软件行业,“我们忠实于旧的 BSD Unix 精神。它感觉像现代化的 SunOS 4.0,试图成为一个高度凝聚的完整系统”。

主要更新内容:
扩展平台,新的 powerpc64 平台,支持带有 POWER8 和 POWER9 cpu 的 PowerNV(非虚拟化)系统。但 POWER8 支持未在硬件上实际测试过。
在内核中对时间测量进行了改进,如在内核和 libc 中增加了对用户区时间计算的支持。
各种内核的改进,如增加了 intrmap,一个 CPU 中断映射的 API,硬件驱动程序使用它处理多个 CPU 的中断。
新的用户功能。如导入 login_ldap, 使用 ldap 而不是 openldap;为 ksh 添加了对 set -o pipefail 的支持, 可能有助于错误检查;添加了对 btrace 脚本中 "&" 和 "|" 操作符的支持等等。
对 userland 的各种 bug 进行了修正和调整。
改进硬件支持和驱动程序错误修正。
添加和改进无线网络驱动程序。
……
详情查看发行公告。
最新版本:6.9
OpenBSD 6.9 已于2021年5月初正式发布,这是该项目发布的第 50 个 release 版本。官方每隔 6 个月更新一次,按照惯例,每次更新都会有插图与配套歌曲,6.9 搭配的歌曲是"Vetera Novis"。主要新特性:
改进对 powerpc64 平台的支持
初步支持 Apple M1 SoC
改进对 arm64 平台的支持
内核改进
SMP 改进
改进网络硬件支持
改进硬件支持、驱动修复等等
以及升级软件包:
OpenSMTPD 6.9.0
LibreSSL 3.3.2
OpenSSH 8.5
LLVM/Clang 10.0.1
LibreOffice 7.0.5.2
Mozilla Firefox 88.0 和 ESR 78.10.0
详情查看发行公告。
最新版本:7.0
OpenBSD 7.0 于2021年10月14日发布,为第51 个版本;按照惯例,每次更新都会有插图与配套歌曲,7.0 搭配的歌曲是"The Style Hymn"。插图如下,更新内容包括:

新的/扩展的平台
为 64 位 RISC-V 系统增加了新的 riscv64 平台
arm 64 平台的支持得到了改进,有以下变化:
对 Apple Silicon Macs 的支持有所改进
增加了对在有 GPT 的磁盘上安装的支持
增加了 apldart(4) 对具有两组寄存器的 DART 的支持,这是支持 Synopsis DesignWare USB 3 控制器所需要的
新增了 aplns(4) 以提供对 Apple M1 设备中的 Apple NVME 存储的支持
为 Raspberry Pi 3 Model B+ 上的 mue(4) LAN7800 芯片启用了 LED
添加了 rktcphy(4) —— Rockchip RK3399 上的 Type-C PHY 控制器的驱动
在 mvpp(4) 中实现了 multicast 支持
其他架构上的变化:
将 macppc 改为使用 ld.ld(1)
修正了一个阻止应用程序在 macppc 上选择非 ALTIVEC 代码路径的问题
在 amd64 上启用了 cy(4)
在 amd64 上禁用了 base-gcc
在 amd64 上防止了在使用本应失效的 TLB 项时的崩溃
防止了 sparc64 中由于页面边界错位而导致的 Kernal Panic
各种内核改进:
在 i386 上解锁了 VM 故障处理程序的顶端部分
为 amd64、 arm64、 i386、 sparc64 和 powerpc64 上的 GENERIC 内核启用了 dt(4)
在 btrace(8) 过滤器中实现了 < and > 操作
识别 TPM 2.0 设备并执行 2.0 专用的挂起命令
为 amd64 上的 ddb(4) 增加了 "machine sysregs" 命令
更多详情可查看此处。
最新版本:7.1
OpenBSD 7.1 于2022年4月下旬正式发布,此为第52版。新版本亮点之一就是完善了对 Apple Silicon(苹果 M1 芯片)的支持。在 7.1 中,Apple Silicon 的支持现在被认为是“可普遍使用”,支持 M1 设备的键盘/触控板,增加了电源管理控制器驱动,I2C 和 SPI 控制器驱动,以及其他各种支持 Apple Silicon 硬件的驱动。

7.1 还针对 64 位 ARM(ARM64)和 RISC-V 架构进行了优化,还带来了 SMP 内核的改进,支持共享匿名内存的 futexes,以及更多。
在图形方面,根据 Linux 5.15.26 中的状态更新了 Linux DRM 代码,以及现在启用了英特尔Elkhart Lake/Jasper Lake/Rocket Lake 支持。在AMD方面,现在支持Van Gogh APU、Rembrandt/Yellow Carp APU和Navi 22/23/24 GPU。BSD操作系统中的图形驱动支持仍然主要是对现有的开源Linux图形驱动代码的移植。OpenBSD 7.1具有对Apple Silicon和AMD Radeon RX 6000系列图形的可用支持,以及其他硬件的改进。另外还包括VMM的改进,libc解析器对DNSSEC的支持,其他各种英特尔Jasper Lake和Tiger Lake硬件支持的改进,IGC现在被合并为英特尔2.5Gb以太网控制器的驱动程序。更新内容包括:
新的/扩展的平台:
对 Apple Silicon Macs 的支持已得到改进
为 M1 电脑提供键盘/触摸板支持
添加了电源管理控制器驱动程序
对其他 arm64 架构硬件的支持也得到了改善
内核改进
OpenSSH 9.0、LLVM/Clang 13.0.0、Emacs 27.2
Firefox 99.0、Chromium 100
SMP 改进
VMM/VMD 改进
新的 Userland 功能
Userland 中的各种错误修正和调整
改进的硬件支持和驱动程序错误修复
改进网络硬件支持
改进无线网络驱动程序
IEEE 802.11 无线堆栈改进和错误修复
通用网络堆栈改进和错误修复
安装程序和升级的改进
安全方面的改进
LibreSSL 3.5.2、PostgreSQL 14.2
Python 3.10.4、Qt 6.0.4
……
更多详情可查看此处。
最新版本:7.2
OpenBSD 7.2 于2022年10月下旬发布,第 53 个 OpenBSD 版本,其中的更新内容包括:
新 / 扩展平台:
增加了对 Ampere Altra 的支持
增加了对 Apple M2 的支持
增加了对联想 ThinkPad x13s 和其他使用 Qualcomm Snapdragon 8cx Gen 3 SoC 机器的支持。

除了 Apple M2、Ampere Altra 和高通 SoC 支持以外,其他一些 OpenBSD 7.2 的变化包括:
一些不同的 SMP 内核改进,各种 CPU 频率的改进
为各种 Apple、Qualcomm、SiFive、StarFive 和 Allwinner ASICs/IP 块提供新的硬件驱动
支持 Intel AX210 / AX211 WiFi 芯片组
特权分离已被添加到更多的组件,以及其他各种安全改进
根据 Linux 5.15.69 更新了 DRM 显示驱动支持,同时为 Alder Lake 和 Raptor Lake 启用了英特尔 DRM 驱动的支持
OpenBSD ARM64 支持的 CPU 的最大数量增加到 256
在内核中启用 kstat,导出内核统计数据,以便由 kstat 工具读取。
更多详情可查看其发行说明。
最新版本:7.3
OpenBSD 7.3 现已于2023年4月中旬发布,此版本的主题是 “巫师与鱼”。这是该系统的第 54 个版本。

7.3 带来了许多改进,包括新硬件支持、内核创新和安全改进等各种更新,此外还在其安装程序中添加了引导式磁盘加密功能。其中包括内核的改进,如增加了waitid(2)、pinsyscall(2)、getthrname(2)和setthrname(2)函数,以及waitid(2)的WTRAPPED选项,等等。此外,新的内核autoconf_serial sysctl(8)允许用户区监控内核设备树状态的变化。直接渲染管理器(Direct Rendering Manager)和图形驱动已经更新,引入了对 Ryzen 7000 “Raphael” 和 Ryzen 7020 和 7045 系列处理器以及 Radeon RX 7900 XT/XTX “Navi 31” 的支持,并改进了苹果芯片笔记本电脑和联想 x13s 的问题的解决方案。此外还改进了对网络硬件的支持,例如启用了em(4)IPv4、TCP 和 UDP 校验卸载,以及 82575、82576、i350 和 i210 芯片组设备上的硬件 VLAN 标记,以及改进了mcx(4)性能。
除了上述的改进,7.3 还包括一系列新的或改进的硬件和软件对源码包(Port)和二进制软件包(Package) 的支持。一些来自外部供应商的主要组件包括 Xenocara、LLVM/Clang、GCC、Perl、NSD、Unbound、Ncurses、Binutils、Gdb、Awk 和 Expat。内核改进包括如增加了waitid(2)、pinsyscall(2)、getthrname(2)、setthrname(2)和clockintr(9),将为用户提供更简化的体验。此外通过使用基于中断的命令完成,mcx(4)的性能得到了提高,各种 SMP 改进/优化。至于源码包和二进制软件包都更新到了较新的版本,包括应用程序、桌面和关键软件包。亮点包括:
新的内核功能包括 waiid、pinsyscall、getthrname、setthrname 和其他新接口。
直接渲染管理器 (DRM) 内核图形/显示驱动程序支持已更新至 Linux 6.1 内核状态,在此过程中,AMDGPU 驱动程序支持更新的 RDNA3 图形、 Ryzen 7000 系列集成显卡和更新的 Mendocino/Dragon Range 硬件。
支持各种新的 Arm SoC,如 Rockchip RK3566/RK3568,同时改进现有驱动程序,如更好的 Apple M1 支持。
安装程序中对 AMD64、i386、RISCV64 和 SPARC64 安装映像进行了引导磁盘加密指南的初始支持。
各种 CPU 安全性改进,例如 ARM64 Spectre-BHB 缓解和启用 ARM64 数据独立定时特性。
可以通过官方发行公告查看第 7.3 版本的数百个变化。
最新版本:7.4
OpenBSD 项目创始人 Theo de Raadt 于2023年10月中旬宣布正式推出第 7.4 版,这是 OpenBSD 第 55 个版本更新。

主要变化如下:
大量内核改进,其中包括对SMP的改进
Direct Rendering Manager 和图形驱动更新
改进 VMM/VMD 与硬件支持等
针对用户空间 (userland) 的 bug 修正和调整
更多详情请参见发行说明。
最新版本:7.5
2024年4月上旬消息,类 Unix 操作系统 OpenBSD 7.5 于 4 月 5 日发布,这是其第 56 个版本。v7.5 版本修复了此前版本中存在的诸多 BUG,增强了系统中的诸多功能,并引入了一些新的功能。

v7.5 主要内容如下:
内核增强功能(更好调用 CPU 缓存),从而改善处理性能。
改进 SMP,可以多个线程发送 UDP 数据包、并发访问等。
Direct Rendering Manager 升级到 Linux 6.6.19,此外为苹果显示协处理器提供了新的驱动程序。
多项 VMM/VMD 改进。
改进对 Rockchip、Allwinner、Aero 等部件的硬件支持。
在改变网络堆栈的同时,添加或改进无线网络驱动程序。
OpenSSH 9.6 和 9.7 的修复和新功能。
适用于所有支持架构的预置软件包,包括 LibreOffice 24.2.1.2、Chromium 122.0.6261.111、Audacity 3.4.2、Gnome 45、Sudo 1.9.15.5 等等。
支持运行 v7.5 的架构列表包括 amd64、alpha、armv7、arm64、i386、powerpc64、sparc64 以及其他一些架构。
更多详情请参见发行说明。
最新版本:7.6
OpenBSD v7.6于2024年10月上旬正式发布:开启AVX-512时代,骁龙X Elite初步支持;标志着开源操作系统OpenBSD在硬件支持和安全性方面的又一次重要进步。这是该系统的第57个主要版本,带来了许多激动人心的新特性,特别是在高性能计算领域的应用。此次更新不仅完善了对最新处理器的支持,还致力于提升系统的安全性,进一步巩固了OpenBSD作为安全操作系统的定位;其一直以来被视作一个安全且稳定的类Unix操作系统,其开发团队在版本更新中尤其注重安全漏洞的修复及用户软件的优化。在7.6版本中,用户将首次体验到对AVX-512指令集的支持,这一指令集主要用于加速传统的科学计算和机器学习任务。通过引入这一特性,OpenBSD可以更好地与当今高效的处理器型号相结合,提高整体的计算性能。更多详情请参见发行说明。

主要更新功能/特性如下:
初步支持高通 Snapdragon X1 Elite (X1E80100) SoC。
对三星 Galaxy Book4 Edge 在 ACPI 模式下的启动支持。
ARM64 上实施了 Spectre-V4 安全缓解,并为 Cortex-A57 核心添加了 Spectre-BHB。
在 AMD64 上实现了对 AVX-512 的支持。
通过更新的 CPU 微代码缓解 Intel 寄存器文件数据采样 (RFDS) 漏洞。
RISC-V 支持 Milk-V Pioneer 开发板。
开始支持 S0 睡眠状态,旨在实现 AMD64 系统的挂起到空闲。
各种 SMP 内核改进。
支持 Meteor Lake Arc Graphics 和更新的 Intel DRM 驱动。
VMM 中的 AMD SEV 支持。
导入 libva 以支持 VA-API 视频加速。
各种网络驱动程序改进。
多个软件包更新和其他改进。
不仅如此,v7.6还初步支持高通的Snapdragon X Elite芯片,这一支持为移动设备和嵌入式系统带来了新的可能性。这意味着,开发者可以在高通的最新硬件上运行OpenBSD,从而实现更高效的性能和更好的能效比。这一支持将使得更多设备能够利用OpenBSD的强大安全特性,尤其是在需要依赖高安全性和稳定性的应用场景中。
在安全性方面,该版本实施了多项措施以应对现代计算面临的威胁。v7.6在ARM架构上引入了对Spectre-V4漏洞的安全缓解措施,同时对Intel处理器中的寄存器文件数据采样(RFDS)漏洞进行了微代码更新,确保用户的数据安全不受影响。此外,RISC-V架构的Milk-V Pioneer开发板也在支持范围内,进一步展示了OpenBSD在多种硬件架构上的适应能力。随着技术的不断进步,上述新特性不仅提升了OpenBSD的竞争力,也为开发人员提供了更加灵活且安全的开发环境。特别是在进行网络驱动程序改进及多种SMP内核优化后,OpenBSD在多核处理器上的表现将更加强劲。而在视频加速方面,整合的libva和VA-API也将为多媒体应用提供更优的支持和体验。
在节能方面,增加了对S0睡眠状态的支持,旨在提升AMD64系统的挂起到空闲功能,让用户享受到更优的电源管理体验。SMP内核的多项改进也让多核心处理的性能得到了显著增强。图形方面,支持了Meteor Lake Arc Graphics和更新后的Intel DRM驱动,让用户在图形处理方面体验更加流畅。VMM中新增了AMD SEV的支持,进一步增强了虚拟化的能力。另外,各类网络驱动程序也进行了全面优化,为用户提供更加丰富的网络体验,多个软件包得到了升级,还有其他许多小细节的提升,默默改善着系统的各个方面。
未来,OpenBSD将继续朝着更高性能、更强安全性发展的方向前进。新版本的推出不仅是一项技术更新,更是开源社区不断奋斗的结果,充分体现了技术进步对社会的积极影响。借助这些技术的提升,开发者和用户将能够享受到更加安全、稳定的操作系统环境。部分亮点如下:
1、平台改进
arm64:
实现 Spectre-V4 缓解措施。
扩展 Spectre-BHB 缓解措施支持到 Cortex-A57。
支持更深层的空闲状态,降低空闲功耗。
支持 Qualcomm Snapdragon X Elite (X1E80100)。
amd64:
缓解 Intel Atom CPU 中的 RFDS 漏洞。
实现 AVX-512 支持。
简化 dmesg 输出。
实现 AMD SEV 支持。
riscv64:
支持 Milk-V Pioneer 开发板。
启用 UVM percpu 缓存。
其他平台:
powerpc、mips64、alpha 等平台的改进。
2、内核改进
删除 msyscall 机制,由更严格的 mimmutable(2) 和 pinsyscalls(2) 替代。
改进 pledge(2)、mmap(2) 和 pinsyscalls(2) 的错误处理。
支持 S0 休眠状态,改善现代硬件上的暂停/恢复体验。
提高 pmap_create(9) 在内核虚拟空间不足时的稳定性。
增强 arc4random() 的随机性。
3、SMP 改进
允许 UDP 输入在多个 CPU 上并行运行。
改进 unix4 和 udp 套接字的锁定。
使用原子操作访问 sysctl(2) 中的整数,使其成为 mp-safe。
优化 pmemrange 分配器。
4、其他改进
更新 DRM 到 Linux 6.6.52。
改进 VMM/VMD,包括更好的 CPU 功能暴露和 AMD SEV 支持。
新增用户空间功能,如 scandirat(3) 和 elf_aux_info(3)。
大量用户空间错误修复和调整,包括 libc、pax(1)、tar(1)、ls(1) 等。
改进硬件支持和驱动程序错误修复,包括对 RK3588、UFS、CH9102、NVMe 等的支持。
新增和改进网络硬件支持,包括对 Raspberry Pi 5、Intel ixl(4)、Mellanox mcx(4) 等的支持。
无线网络驱动程序改进,包括对 qwx(4) 和 iwx(4) 的修复。
安装程序、升级程序和引导加载程序改进,包括对 RISC-V UEFI 引导协议的支持。
安全改进,包括新的编译器选项 -fret-clean 和对 BTI 和 PAC 的支持。
网络堆栈新功能,包括 rport(4) 和 IPv6 forwarding IPsec only。
pf(4) 防火墙改进,包括新的计数器和 pfsync(4) 修复。
路由守护进程和其他用户空间网络改进,包括对 iked(8)、npppd(8)、bgpd(8)、rpki-client(8)、smtpd(8) 等的改进。
tmux(1) 改进和错误修复,包括更短的 escape-time 默认值和对 OSC 10 和 11 的支持。
LibreSSL 更新到 4.0.0,带来大量内部改进、新功能、文档改进、兼容性更改和错误修复。
OpenSSH 更新到 9.9,包括安全修复、新功能(如新的混合后量子密钥交换算法)和错误修复。
更新了大量的应用软件包。
最新版本:7.7
v7.7 现已于2025年4月下旬发布,这是该项目的第 58 个版本,包含了许多重大改进。具体更新内容如下:

对 SMP 进行了多项改进。TCP output 和 TCP timers 现在可以并行运行。只有 TCP input 仍使用 exclusive netlock。
drm(4)已更新至 Linux 6.12.21
Performance 策略规范现在更加灵活。
sysctl(8)现在支持输入文件。
对网络硬件支持的改进包括针对 Intel E810 以太网设备的新驱动程序 ice(4), 以及针对 Intel 82598EB、 82559 和 X540 虚拟功能的新驱动程序 ixv(4)。
默认情况下,sysupgrade(8)现在升级到下一个版本。
fw_update(8)现在支持任意 dmesg 文件。
添加了对 FRAME 套接字的支持。
ifconfig scan现在可以检测 / 显示 WPA3 接入点。
(Limited) installboot(8)新增了对 EFI boot manager 的支持。
unwind(8)现在支持 wildcards in block list。
rpki-client(8)现在对 Trust Anchor certificates 实行更严格的 aging policy。
LibreSSL 4.1.0
OpenSSH 10.0
更多详情可参阅完整的更新日志。
最新版本:7.8
v7.8于2025年10月下旬正式发布,为这一第59次发布的BSD操作系统带来了诸多新特性。本次发布由Theo de Raadt宣布,其中最引人关注的是新增了对Raspberry Pi 5的初步支持(通过串口控制台),同时在Apple ARM架构和Qualcomm Snapdragon X1 Elite方面也进行了一系列改进。具体包括为Qualcomm Snapdragon DRM图形和DisplayPort控制器提供了新的驱动程序。

在AMD Secure Encrypted Virtualization(AMD SEV)方面有了显著提升,新版本支持PSP ioctl用于SEV-ES(加密和状态测量),并加入了能够以SEV-ES模式运行虚拟机的新VMD选项。这些创新为后续的SEV-SNP做好了准备。现在,利用VMM/VMD虚拟机管理程序和KVM/QEMU的OpenBSD客户机,可以启动保密型虚拟机(VM)。
除此之外,v7.8进一步提升了FUSE文件系统对Linux实现的兼容性,改进了系统挂起/休眠功能和SMP(对称多处理器)性能。本次更新还采用了Linux 6.12.50版本的DRM图形驱动,新增了多款Rockchip驱动、Raspberry Pi RP1驱动,以及为uvideo驱动增加了H.264视频支持;网络驱动也全面得到优化。
首次支持 Raspberry Pi 5 平台,目前通过串口控制台可实现基本运行。系统还改进了对 Apple ARM 架构的兼容性,并新增对高通骁龙 X1 Elite 平台的早期支持,包括高通骁龙 DRM 图形驱动和 DisplayPort 控制器驱动。在虚拟化方面,v7.8 新增了对 AMD Secure Encrypted Virtualization(SEV)技术的支持。更新内容包括为 SEV-ES(加密状态虚拟化扩展)引入 PSP ioctl 加密接口、新增 VMD 选项以启用 SEV-ES 模式运行虚拟机,以及其他相关功能,为未来的 SEV-SNP 支持奠定基础。AMD SEV-ES 现已可用于在 VMM / VMD 虚拟机管理器中启动保密虚拟机(VM),并与 KVM / QEMU 平台下的 OpenBSD 虚拟机兼容。
系统与驱动改进
本次更新同步提升了 FUSE 文件系统与 Linux 实现的兼容性,优化了系统的休眠 / 唤醒机制与 SMP(多处理器)性能。此外还将 DRM 图形驱动更新至基于 Linux 6.12.50 版本,并增加多款 Rockchip 与 Raspberry Pi RP1 驱动,uvideo 驱动亦新增对 H.264 视频格式的支持。网络驱动也获得了多项稳定性与性能改进。
OpenBSD 官方更新公告列出了从 v7.7 到 v7.8 的全部变更,包括修复 Xorg 在 Intel i945G 设备上的崩溃问题、改进 dhcpleased(8) IPv6 优先逻辑、更新 LibreSSL 至 4.2.0、Unbound 至 1.24.0、引入新的 Raspberry Pi 5 专用驱动(如 rpipwm、rpirtc、rpiclock 等),并在虚拟化子系统 vmm(4)/vmd(8) 中实现对 AMD SEV-ES 的完整支持。
该版本还新增了对 tmux(1) 新布局选项、改进 acme-client(1) 证书续签逻辑、提升 qwx(4) 无线性能,并继续扩展对多核架构的并行优化。带有如下主要的软件包:
Xenocara (based on X.Org 7.7 with xserver 21.1.18 + patches, freetype 2.13.3, fontconfig 2.15.0, Mesa 25.0.7, xterm 399, xkeyboard-config 2.20, fonttosfnt 1.2.4 and more)
LLVM/Clang 19.1.7 (+ patches)
GCC 4.2.1 (+ patches) and 3.3.6 (+ patches)
Perl 5.40.1 (+ patches)
pkgconf 2.4.3
NSD 4.13.0
Unbound 1.24.0
Ncurses 6.4
Binutils 2.17 (+ patches)
GDB 6.3 (+ patches)
Awk 20250116
Expat 2.7.3
zlib 1.3.1 (+ patches)
具体更新内容如下:
增加了对 Raspberry Pi 5 的初步支持
新的分析子系统
TCP input 现支持并行处理
并行 TCP 输入已得到优化
vmm(4)/vmd(8)现在支持 AMD 处理器上的 SEV - ES
vmd(8)发送 / 接收功能已被删除
增加了 watch(1) utility
新增 acpiwmi(4)驱动支持 ACPI Windows Management Instrumentation (WMI)
新增 EFI boot(8)命令 “machine fwsetup”,用于重启进入固件用户界面
安装程序现优先选择大于 1GB 的磁盘
rc.d(8)和 rcctl(8)新增 “-q” 选项
字体缓存不再以 root 身份运行
LLDP 守护进程和工具已添加
bpflogd(8)已添加
pkg_add -u 不再建议删除文件
Yubikey OTP 支持已禁用
acme-client(1)现在支持证书配置文件的 draft-ietf-acme-profiles-00 规范,例如 Let's Encrypt 提供的证书配置文件 - 参阅 acme-client.conf(5) “profile” keyword
TearFree选项已反向移植到 modesetting(4)驱动程序
libpng 已捆绑到 libfreetype 以提升字体渲染效果
clang(1)/llvm/lld(1)更新至版本 19
C++ 库已更新
OpenSMTPD 7.7.0p0
LibreSSL 4.2.0
OpenSSH 10.2:ssh-agent(1)与 sshd(8)监听套接字从 /tmp 移至 ~/.ssh/agent 目录下
已删除 DSA 签名支持
新的 ssh(1)配置指令,RefuseConnection
现支持使用 PKCS#11 tokens 托管的 Ed25519 密钥
当连接协商非后量子密钥协商算法时 ssh(1)会发出警告
OpenSSH 现在将根据实际会话和流量调整 IP QoS
可参阅完整的更新日志,了解最近六个月开发周期内所做更改的更多详细信息。
最新版本:7.9
v7.9 于 2026 年 5 月 19 日正式发布,这是该开源操作系统的第 60 个版本。此版本带来了诸多重要的内核与用户空间更新,涵盖平台支持、安全加固、网络功能等多个层面。从1995年诞生至今,已经走过了31年。31年间其从未在"安全优先"这件事上妥协过——即使这意味着牺牲对最新硬件的支持速度,放弃对图形界面的极致追求,甚至拒绝纳入某些流行的软件包。

平台支持扩展
arm64 架构获得了显著的 SoC 支持扩展,新增 Rockchip RK3588 与 RK3576 芯片支持,配备包括 GL9755 SDHC 控制器支持以及针对 Apple Silicon 笔记本的驱动优化。amd64 平台方面,MAXCPUs 上限提升至 255 个,修复了影响 512GB 以上内存机器的 DM PTE/PDE 页面清零 Bug,并针对 AMD Zen/Zen + 处理器实施了浮点状态泄露缓解措施。
RISC-V 架构迎来重大更新,新增 SpacemiT K1 SoC 支持,带来了包括 smtclock(4) 在内的多个新驱动,并实现了 Zicbom 与 Svpbmt 扩展支持。Loongson 架构与 88k 架构同样获得关键更新,后者的编译器已切换至 gcc4 并默认启用 PIE。
内核创新:CPU 核心管理与虚拟化
7.9 版本引入了创新的 CPU 核心管理机制,通过 sysctl "hw.blockcpu" 实现 S/P/E/L 状态标记,让系统能够更精细地控制处理器核心的分配与调度。虚拟机方面,vmd (8) 新增 AMD SEV 机密计算支持、vmboot tiny 内核用于 VM sysupgrade,以及针对 Apple Virtualization 的框架支持。
Direct Rendering Manager (DRM) 子系统已升级至 Linux 6.18.22,这意味着更广泛的显卡支持与性能优化。
网络与安全
VEB(虚拟以太网桥)现已支持 VLAN 感知,具备 PVID 与 VID 位图功能,这是网络功能的重要升级。pf 防火墙引入了源与状态限速器,支持在达到限制时执行可配置操作。SSH 相关组件升级至 OpenSSH 10.3,带来了 Shell 元字符验证修复、authorized_keys 空 principal 匹配算法修正,以及 scp(1) 在 root 下载时清除 setuid/setgid 位的安全改进。LibreSSL 4.3.0 作为关键安全组件,包含了一个潜在的 X.509 验证器深度检查 off-by-one 错误修复(可能存在 4 字节堆溢出风险),并新增 MLKEM768_X25519 密钥共享支持。
关键软件包版本
编译器工具链升级至 LLVM/Clang 19.1.7 与 GCC 15.2.0。语言运行时方面,Go 1.26.2、Rust 1.94.1、Python 3.13.13 与 Ruby 3.4.9 均已收录。数据库领域包括 PostgreSQL 18.3 与 Unbound 1.24.2 DNS 服务器。桌面环境涵盖 KDE Plasma 6.6.4 与 GNOME 49,浏览器则包含 Chromium 147.0.7727.101 与 Firefox 150。
v7.9 继续践行其安全优先的设计理念,通过 pledge(2) 与 unveil(2) 等机制为系统安全奠定坚实基础。系统现已默认启用 IPv6 SLAAC 自动配置,并改进了 BPF 过滤器的 XOR 与 MOD 操作支持。该版本预计将在开源社区中继续发挥重要作用。
可参考发行说明来了解更多信息。下面还将就功能模块讲解其对应的功能核心。
DRM内核直接升级到Linux 6.18
对于熟悉OpenBSD的人来说,这几乎算是"大动作"。OpenBSD的DRM(Direct Rendering Manager)代码一直是从Linux内核移植过来的,但通常落后好几个大版本。这次直接跳到了Linux 6.18,意味着对大量现代显卡的支持将显著改善。即:阁下的AMD Radeon RX 7000系列显卡终于能在OpenBSD上获得更好的驱动支持了。NVIDIA用户就别想了——OpenBSD永不支持NVIDIA的闭源驱动,他们的工程师宁可花时间重写自己的开源方案,也不碰二进制blob。
为什么OpenBSD这么排斥闭源驱动?因为闭源驱动的代码无法审核。OpenBSD有全开源世界最严格的代码审查流程——每行进入主干代码的改动,都必须经过至少两个committer的审查。这意味着,任何你不能看到源码的组件,都不该出现在你的操作系统里。这种理念在2026年被越来越多人认可,尤其是在SolarWinds和XZ后门事件之后。实际上,OpenBSD项目核心成员Theo de Raadt早在20年前就在邮件列表里反复强调过同一个观点:"We cannot audit what we cannot see。"这话在当年被认为是偏执,现在回头看更像是预言。
当然,Linux 6.18的DRM不是简单地"搬过来用"。OpenBSD团队对Linux的DRM代码进行了大幅精简——砍掉了所有非必要功能,只保留了对核心硬件的稳定支持。结果是:支持的硬件少了一些,但剩下的每一条代码路径都经过了安全审计。这不仅是哲学层面的选择,更是安全工程的方法论:任何不被执行的代码都不该存在,因为每多一行代码,就多一个攻击面。具体到版本号,这次移植了Linux 6.18的DRM代码到OpenBSD的drm(4)驱动框架中,覆盖了amdgpu、radeon、intel等主流GPU驱动。尤其值得关注的是,amdgpu驱动现在支持了RDNA3架构的RX 7000系列显卡——虽然还不能达到Linux上的性能水平,但对于在OpenBSD上做开发的工程师来说,终于不再需要"买一块显卡专门插在备用机上跑Linux"了。
RV64K1:RISC-V架构的里程碑
v7.9首次正式支持RV64K1——基于RISC-V指令集架构的64位平台。RISC-V社区的人对这个消息大概会兴奋一阵子:OpenBSD是所有主流操作系统中对代码审查最严格的项目,没有之一。被OpenBSD接纳,意味着RISC-V平台在安全性和稳定性上通过了"地狱级"考验。
事实上,OpenBSD的RISC-V支持一直在缓慢推进。早在2021年,开发者就开始移植OpenBSD到RISC-V硬件上。但直到7.9版本,这个移植才达到生产级别。为什么花了这么长时间?因为OpenBSD对平台移植的要求远不止"能启动就行"——所有安全机制(W^X内存策略、堆栈随机化、pledge/unveil系统调用限制)都必须在新平台上完整实现。在RISC-V上实现W^X(写和执行互斥)需要MMU支持额外的权限位,而早期RISC-V硬件在这方面的实现并不完善。工具链层面的挑战更大——OpenBSD使用的LLVM/Clang编译器在RISC-V后端上的调试信息处理和位置无关代码生成,直到最近才达到可接受的成熟度。
这意味着RISC-V芯片的MMU必须足够成熟、工具链必须足够可靠。OpenBSD的移植进度,某种意义上就是RISC-V硬件成熟度最诚实的"温度计"。行业里各种RISC-V"里程碑"新闻满天飞,但问"OpenBSD能不能跑"才是最硬的测试。如果跑不了OpenBSD,说明你的硬件或工具链还有没解决的问题。这不是批评,这是事实——因为OpenBSD会触及其他操作系统根本不会触及的硬件特性。
在这个时间节点上,RISC-V正在经历从"好玩的开源玩具"到"正经的生产平台"的转变。SiFive的P870系列芯片已经被用在服务器场景,阿里平头哥的玄铁系列出货量也已突破亿级。OpenBSD的正式支持,给RISC-V在边缘计算、安全设备等领域打开了一扇门——在这些场景里,安全不是可选项,而是必需品。
内核与用户空间:那些容易被忽视的更新
除了DRM和平台支持这些"大件"外,OpenBSD 7.9在内核层面还有几项值得一提的改进。
网络栈方面,内核pf防火墙获得了出站流量的行为改进——默认策略从"允许所有"调整为更保守的配置。对于把OpenBSD当路由器或防火墙用的人来说,这个改动意味着更少的误配置导致的安全缺口。同时,IPsec IKEv2协议的实现也做了大量修复,特别是对Mobike(多宿主连接)的支持得到增强——这对移动办公场景下的VPN连接很重要。
用户空间工具链上,OpenBSD 7.9同步了大量第三方软件的新版本:LLVM/Clang升级到了19.x分支,GCC编译器保留了11.x分支但修了大量后端bug,Perl更新到5.40,Python保持3.11(OpenBSD对版本升级一贯谨慎),Nginx更新到1.26。这些更新大多数用户不会注意到,但它们意味着开发者可以在OpenBSD上用上最新工具链。
还有一个容易被忽略的变化:pkg_add工具做了改进,现在支持更高效的增量更新。对于老用户来说,这算是一个"终于来了"的功能——以前更新一次全部软件包基本上等于重新下载一遍。现在增量更新机制下,每次更新只需要下载发生变化的文件块,安装速度提升非常明显。
ARM64大跃进:苹果Silicon + 瑞芯微
这次ARM64平台的支持力度确实让人意外。Apple Silicon是一款封闭硬件,但它的ARM架构部分足够标准,OpenBSD可以利用这一层标准化绕开苹果的闭源生态,在M芯片上构建一个完全开放的BSD操作系统。这听起来有些"反直觉"——苹果的硬件跑着反苹果哲学的开源系统。但这也是开源社区的独特魅力:你买了硬件就拥有控制权,厂商的"设计意图"拦不住任何人。目前OpenBSD在Apple Silicon上已经可以支持M1和M2系列,对M3的支持还在路上,主要卡在GPU驱动和内部的NVMe控制器兼容性上。
此外,Rockchip RK3588和RK3576两款芯片也得到了正式支持。这意味着像友善之臂的ZeroPi、Rock 5B这类开发板,现在可以跑一个真正生产级别的安全操作系统。对于做边缘计算、网络安全设备的人来说,这是个实打实的好消息。
RK3588是瑞芯微目前的旗舰芯片,采用4核Cortex-A76 + 4核Cortex-A55架构,集成Mali-G610 GPU和6T NPU。这枚芯片的出货量据行业分析师估算,自2023年以来已累计超过数千万片,从高端开发板到智能座舱、边缘服务器都有它的身影。OpenBSD选择支持它,也侧面验证了这枚芯片的成熟度和市场意义——不是每一款ARM SoC都能进入OpenBSD的官方支持列表。瑞芯微在开源社区的长期投入——包括对主线Linux内核的持续贡献——显然是促成OpenBSD支持的重要因素。
GL9755 SDHC控制器也获得了支持——别小看这个更新。对于需要从SD卡启动嵌入式系统的场景,少了任何一个小硬件的驱动支持,整条链路就可能断掉。这种看似不起眼的底层驱动更新,恰恰是操作系统平台走向成熟的关键标志。
安全不是功能,是习惯
OpenBSD每次发版都在重复同样的故事:更多的内存保护、更严格的权限审查、更少的漏洞。这次v7.9在安全加固上继续推进——堆栈随机化增强、针对Spectre变种4的新缓解措施、以及大量基础库的CHERI兼容改进。
CHERI是剑桥大学主导的硬件辅助内存安全技术,通过在指针中嵌入权限信息来防止缓冲区溢出和Use-After-Free攻击。ARM已经发布了具备CHERI能力的原型硬件Morello,RISC-V也开始支持CHERI。OpenBSD正在为未来的CHERI硬件做准备——这不是短期需求,而是对5年后安全格局的预判。
在网络安全方面,OpenBSD 7.9内核级别的IP流量随机化功能尤为值得一提。这项技术通过在TCP/IP栈中引入随机化的初始序列号和端口分配,让攻击者更难通过时序攻击推断网络拓扑。内核pf防火墙也获得了多项更新:出站流量默认策略从"允许"改为"谨慎允许"——对于典型的OpenBSD防火墙部署场景,这个默认值的改变意味着很多配置可以变得更安全。
OpenSSH同步更新到了9.9版本。这个陪伴全球运维人员几十年的工具,每次更新都意味着一些不再安全的算法被默认禁用。这次停用了几个已知有侧信道攻击风险的密钥交换算法,并进一步强化了对ssh-agent转发的访问控制。
还有一条容易忽视的更新:libc和libutil做了大规模的CHERI兼容性改造。Arm公司开发的Morello原型平台上,纯capability模式需要指针携带边界和权限信息,这意味着标准C库中几乎所有操作指针的函数都需要修改。OpenBSD团队选择现在就开始做这件事——不是在CHERI硬件普及之后被动适配,而是主动推进。这种"先于硬件做软件"的做法非常OpenBSD。听起来枯燥。但这就是OpenBSD的日常:不搞大新闻,但每年两次发版,30年如一日地修修补补。在安全领域,持续比创新更稀缺。
OpenBSD与FreeBSD:走不同的路
说到BSD,很多人会自然想到FreeBSD。两者同源但方向差异越来越大。FreeBSD在2026年主攻服务器和ZFS存储场景,而OpenBSD坚守"安全优先"路线。有趣的是,OpenBSD 7.9中许多新的安全特性(特别是CHERI兼容性和pledge/unveil系统调用限制)正在被其他BSD甚至Linux借鉴。OpenBSD的影响力不在于用户量——它从来没有占据过多少桌面市场——而在于它像安全领域的"概念验证":先在OpenBSD上跑通,再扩散到整个开源世界。
第60个版本,不只是一种仪式感
从Linux内核搭便车的DRM驱动,到提前布局RISC-V和CHERI,再到拥抱ARM64——OpenBSD的策略从来不是什么"蓝图"或"战略路线图",而是两个简单的工程原则:它能提高安全性吗?它能保持代码整洁吗?原则之下,一切决策自然涌现。这次的v7.9版本谈不上"革命性升级"。没有全新的子系统,没有划时代的安全防护方案。但它证明了一件事:在AI创业公司平均寿命18个月的今天,一个开源操作系统能活31年并持续迭代——靠的不是流量和融资,而是一群不妥协的人。项目没有PR团队,没有董事会,没有增长指标。只有邮件列表、CVS仓库、和一个每天都会刷新的"errata"页面。这不是一个完美的操作系统,但它是那些追求"少即是多"的工程师为自己打造的工具。当整个行业都在追逐更庞大的系统、更复杂的框架时,其存在本身就是一种提醒——代码越小,攻击面越小。
最新版本:8.0
v8.0 已于2026年10月中旬正式发布,是第 61 个版本,距离 7.9 发布恰好六个月。对大多数用户来说,这一版最直观的变化在 amd64 内核:虚拟地址空间从 4G 一下提到 512G—— 内核现在能映射超过 4GB 的 VRAM,为 Intel Arc 这类大显存显卡铺平了路,也让大内存机器终于物尽其用。v8.0 的看点并不在某个单一功能,而在于虚拟化、图形栈和硬件平台支持三线同时向前推进,且推进幅度都不小。

地址空间翻倍之外,这版里最值得注意的是一组把系统睡得更好的改动。OpenBSD 补上了 hibernate(休眠)支持,而且不是简单加个功能 —— 恢复时校验磁盘镜像的 chunk 大小、防止整数溢出和越界读取、unhibernate 后清理 framebuffer,一系列安全校验做得很足。这是 OpenBSD 一贯的风格:新功能必须带着防御性实现。顺带一提,Samsung Galaxy Book4 Edge 和 HONOR MagicBook Art 14(骁龙 X 平台)的挂起 / 恢复也能正常工作了。
虚拟化层 VMM/VMD 这版进步明显:单个 guest VM 最多支持 64 个 vCPU(此前更少),加了 x2apic 模式支持,修复了 32 位 Linux guest 的 lapic/ioapic 模拟。对拿 OpenBSD 当宿主机跑虚拟机的场景,这是实打实的扩容。
安全方面,OpenSSH 10.6 打了个值得注意的补丁:禁用了 ssh(1) 的 LZ77 字典编码器,避免潜在侧信道泄露 —— 这延续了 OpenSSH 近年对侧信道攻击的持续关注。iked(8) 拒绝畸形和失序的 IKEv2 消息、libcrypto 的 RSA-PSS saltlen 处理和 x509 路径验证修复、pax (1) 停止提取工作目录外的恶意归档、syspatch(8) 加固防恶意脚本 —— 都是堵洞型修复,不炫技但扎实。
架构上两个动作值得记一笔:sparc64 切换到 LLVM 工具链,以及正式退役 loongson(龙芯)架构(原因是与 Clang 22 不兼容)。RISC-V 是这版的最大受益者 —— 内核支持 V 向量扩展、RISC-V 高级中断架构、Sstc 定时器,新加了 SpacemiT K3 SoC、Qualcomm Glymur (X2) 的支持。DRM 图形栈更新到 Linux 6.18.53,新增 Intel Arc A 系列显卡支持。
OpenBSD 一直不是靠新功能吸引人的系统,它的卖点是正确性优先—— 每一版都在用更少的代码、更严格的默认、更多的安全加固,换一句默认安全。8.0 延续了这条线:地址空间扩大是为了让硬件能力被充分使用,hibernate 带着完整的安全校验落地,OpenSSH 连压缩编码器的侧信道都堵上了。对追求少而正确的用户,这一版值得升级。
据其官方发布公告可知,新版本在虚拟化、图形驱动、硬件兼容性、网络及安全等方面进行了多项更新。
虚拟化是此次更新的重点之一。v8.0 改进了内置的 VMM / VMD 虚拟化系统,新增多处理器支持,单个虚拟机最多可配置 64 个虚拟 CPU(vCPU)。
此外,新版本加入 x2APIC 模式支持,为 virtio 设备增加 MSI / MSI-X 中断支持,并为虚拟机提供校验和卸载功能,同时改进 QCOW 磁盘镜像处理。针对 32 位 Linux 虚拟机的兼容性问题也得到修复。
图形方面,v8.0 将 DRM 图形驱动更新至基于 Linux 6.18.53 的版本,并通过 inteldrm 驱动新增对英特尔锐炫 A 系列(Alchemist)显卡的支持。新版本还针对部分搭载英特尔 Alder Lake 处理器的系统出现的 GuC 超时问题提供了修复。
在内存管理方面,v8.0 将 AMD64 内核的虚拟地址空间从 4 GB 扩大至 512 GB,使系统能够映射超过 4 GB 的显存。ARM64 平台则新增休眠支持,并改进部分高通骁龙笔记本电脑的挂起与恢复功能。
RISC-V 平台也获得多项增强,包括内核支持 V 向量扩展、Advanced Interrupt Architecture(高级中断架构)以及 Sstc 定时器扩展。此外,新版本调整了部分硬件驱动,扩大对不同处理器、网络控制器和外围设备的支持范围。
无线网络方面,qwx 和 qwz 驱动新增对 802.11n 及 40 MHz 信道的支持,并改进固件通信、漫游可靠性和电源管理。以太网方面,新版本增加对英特尔 Panther Lake、Wildcat Lake 相关设备及 E610 控制器的支持。
安全性方面,v8.0 对内核和系统工具进行了多项检查与修复,包括改进 pledge 和 unveil 安全机制、加强可执行文件校验,以及修复可能导致越界访问、内存信息泄露等问题。PF 防火墙也获得更新,涉及 TCP 连接跟踪、数据包处理、竞态条件和潜在的越界内存访问问题。
系统自带的 HTTP 服务器新增自定义 HTTP 响应头支持,并将默认 TLS 密码套件配置从 compat 调整为 secure。网络管理方面,新版本引入 rtrd 和 rtrctl,支持 RPKI-to-Router 协议,同时改进了 bgpd 的路由验证、重连处理及相关功能。
加密组件方面,v8.0 集成 LibreSSL 4.4。在 libtls 中混合后量子密钥交换算法 X25519MLKEM768 成为 TLS 1.3 的首选组。新版本还改进了证书验证、TLS 处理及多项密码学实现。
OpenSSH 则升级至 10.6,新增实验性的复合后量子 ML-DSA44/Ed25519 签名方案支持,并加入额外的身份验证选项。安全修复包括禁用 LZ77 字典编码器,以避免潜在的侧信道信息泄露。
软件包管理方面,pkg_add 改进了部分依赖处理循环的可靠性,fw_update 加强签名验证,syspatch 在检查更新时则避免不必要地下载完整归档文件。
桌面环境及应用软件也有更新。v8.0 的软件包集合包含 KDE Plasma 6.7.5、GNOME 49、Xfce 4.20、Firefox 157、Chromium 154、LibreOffice 26.8、GCC 16.1 和 PostgreSQL 18.6 等版本,同时提供 Wayland 1.26,以及 Sway、Niri、Labwc 和 Wayfire 等合成器。现可通过项目官方镜像站下载,现有 OpenBSD v7.9 用户也可参考官方升级指南更新系统。官方提醒在升级前应阅读相关操作说明,并提前检查磁盘空间、配置变更及软件包升级要求。
下面就这些更新进行部分分析:
1、4G 是个天花板
发布页里最容易被跳过的是一行关于内存的数字:把 amd64 内核虚拟地址空间的大小从 4G 提升到 512G。而它的含义需要结合同页另一条才完整:amd64 上增加的核虚拟地址空间允许映射超过 4GB 的显存。
内核虚拟地址空间(KVA)是内核自己的寻址预算。内核在映射物理内存、映射设备寄存器(MMIO)、映射显存时,都要从这块空间里分配。而 amd64 上这块空间原来是 4G,这意味着:一块 16GB 的显卡,它的显存只能被映射进来 4GB 以内的部分;而 4G 还要和内核的其他映射共享,所以实际可用的还不到 4G。而显存映射为什么必须经过内核地址空间?因为 GPU 驱动需要在内核上下文里访问显存:比如做命令提交、读硬件状态、处理 GPU 页错误。这些操作不能用用户空间的指针,必须用内核虚拟地址。
所以4G 上限的真实含义是:任何显存超过约 3GB 的显卡,在 OpenBSD amd64 上都只能用到其中一小部分。而这在 2026 年基本等于现代独显都不能用。提升到 512G 之后这个约束消失了。而同页还有一条我认为意图很清楚:pmap(9) 直接映射现在被放置在随机位置。直接映射是内核访问物理内存的最直接路径,而它的地址固定就意味着内核某块内存的虚拟地址可预测。随机化它,是给内核漏洞利用增加难度。所以这两条合起来的效果是:地址空间大了 128 倍,而其中最关键的一段位置不再固定。
而 512G 这个数字本身也有讲究:它不是一个刚好够用的数字。从 4G 到 512G 是 128 倍,这个幅度说明他们不是按当前需求算的,是按下一代显卡可能要 24GB 或 32GB 显存算的。
2、ARM64 有了休眠
同页里还有一条只有五个词的改动,而它的份量不小:加入了休眠支持。hibernate(休眠到磁盘)在 x86 上很成熟,而在 arm64 上长期缺失。原因是它需要把整块物理内存写进 swap,然后从一个几乎全新的固件状态恢复,这涉及 ACPI 状态保存、设备重新初始化、以及最麻烦的恢复过程中的内存完整性。
而发布页在下面几行给了这项工作真正的难度:在 hibernate 解包磁盘镜像时,校验拷贝到 piglet 的块的大小。在读取块时,针对整数溢出校验磁盘镜像大小。在 unhibernate 读取 chunktable 时,防止镜像越界读取。在 unhibernate 之后清理 framebuffer。让 nvme(4) 休眠支持分配专用队列失败变成非致命。
这几条全是恢复路径上的防御性检查。而这是 hibernate 这类功能最容易被低估的地方:写内存到磁盘很简单,难的是读回来的时候,如果镜像被改过或损坏了怎么办。
因为 hibernate 的镜像是一个保存在磁盘上的、包含全部内存内容的文件。而如果攻击者能改这个文件,那么在恢复时,内核就会把那块内存当成真的内存来用。针对整数溢出校验镜像大小和防止镜像越界读取这两条,就是在堵这个口子。
而在 unhibernate 之后清理 framebuffer这一条我认为最实用:因为 framebuffer 在休眠前存着屏幕内容,而恢复后如果不清,你可能会在解锁界面上看到休眠前屏幕的残留。这是一个纯粹的隐私细节,而它出现在一份内核改动清单里,说明有人真的在意。
3、DRM
DRM 追到 Linux 6.18.53,以及 Intel Arc
图形栈的更新是:把 drm(4) 更新到 Linux 6.18.53。这个数字值得注意,因为它意味着 OpenBSD 的图形栈落后 Linux 主线大约一个开发周期:Linux 6.18 是一个 2026 年的版本,而 OpenBSD 8.0 在同年 10 月就追到了 6.18.53(含 stable 修正)。对 OpenBSD 来说,这是一个相当紧的跟随节奏,因为它的 DRM 是把 Linux 的整套驱动框架移植过来,而这个移植不是复制文件那么简单,需要适配 OpenBSD 的 bus_dma、中断模型、以及 pledge/unveil。
而 Intel Arc A 系列(DG2/Alchemist)的支持,我在第一节已经讲了它和地址空间扩容的关联。另有一条 Intel 相关的修正,我认为值得单独指出,因为它是一个真实的硬件怪癖:绕过在部分 Alder Lake 系统上看到的 inteldrm(4) GuC 超时错误。
GuC 是 Intel GPU 的微控制器固件,负责调度。而timeout意味着驱动等它回应超时了。而这在 Alder Lake 上是一个已知的、只出现在部分系统上的问题,所以处理方式是 workaround(绕过)而不是修复。 我认为这个措辞的诚实度值得注意:它没有写修复了 GuC 超时,而是写绕过在部分系统上看到的超时。这两个表述的区别是:前者暗示找到了根因,后者承认只是让它不再卡住。
4、SECURITY
安全侧的改动里,有三条信号最强
第一条:unveil 现在管到了 man 工具链
unveil(2) 现在限制 man(1)、makewhatis(8) 和 man.cgi(8) 的读写访问。 unveil 是 OpenBSD 的文件系统可见性机制:一个进程可以声明我只需要看到这几个路径,之后它就无法访问其他任何路径,即使它被攻破。 而这条改动的意义在于它的目标:man.cgi(8) 是 OpenBSD 官网那个在线 man 页面的 CGI。也就是说:一个对公网开放的、把用户输入(man 页名)变成文件路径的程序,现在被限制在只能访问 man 相关的几个目录。
这是 unveil 最典型的用法:它不是检查输入是否合法,而是即使检查失败,这个进程也拿不到别的东西。而这两层的差别在于:前者依赖检查逻辑没有漏洞,后者不依赖。
第二条:系统的更新通道被加固了
三条相关改动:加固了 syspatch(8) 以对抗恶意脚本。fw_update(8) 现在检查本地 SHA256.sig 的签名。在 fw_update(8) 中,让 tar(1) 跳过预期位置之外的文件。
跳过预期位置之外的文件这一条我特别想指出,因为它对应的是经典的压缩包路径穿越攻击:一个 tar 包里如果有 ../../etc/passwd 这样的路径,解压时就会写到目录外面去。而 fw_update 是以 root 跑的,所以这条尤其重要。
这三条放一起说明一件事:OpenBSD 对自己的更新通道也在做纵深防御。它没有假设签名验证通过就万事大吉,而是额外假设即使包是签过名的,它解压出来的东西也不该越界。
第三条:OpenSSH 移除了一块预认证攻击面
OpenSSH 10.6 里这一条最值得说:把一些关键的公钥解析和验证路径从预认证攻击面中移除。预认证攻击面的含义是:在认证完成之前,服务端要处理的那些代码,是任何能连上 22 端口的人都能触发的。所以这部分代码里每一个 bug 都是未认证远程级别的。而移除这个动词意味着他们做的是减少而不是加固:把这些解析路径挪到认证之后去做。
这个方向比任何具体的漏洞修复都更有价值,因为它是结构性的:少一段预认证代码,就少一整类预认证漏洞。而同版本里另外两条也印证了这个方向:禁止在 scp(1) 的 -O 文件名里出现 NUL 字节。避免在通过命令行做 ssh(1) 下载时写入服务器控制的路径。第二条尤其值得注意,因为它是scp/ssh 下载这个场景里的一个经典不对称:从服务器下载文件,而文件名是服务器给的。如果服务器给了一个绝对路径或 ../ 路径,而你直接用它写文件,那么服务器就决定了你本地写到哪里。
另有三条兼容性破坏值得提前知道
OpenSSH 10.6 专门列了一节Potentially incompatible changes,其中两条会影响实际使用:对 ssh-mldsa44-ed25519 使用 IANA 分配的 codepoint,而不是 @openssh.com。让 DisableForwarding=yes 覆盖 PermitTunnel=yes。第二条是一个行为改变:以前你如果两个都设了,可能是 PermitTunnel 赢;现在 DisableForwarding 赢。这对明明关了转发,为什么还能建隧道这类困惑是一个修复,但也可能让某些依赖旧行为的配置突然不通。
而第一条涉及一个更前瞻的东西:加入实验性的 ssh(1) 对复合后量子 mldsa44-ed25519 签名方案的支持。实验性这个词很重要:它意味着这个方案还不能用于生产,但它已经能被试了。而选择 ML-DSA(Dilithium)作为后量子签名算法,与 NIST 在 2024 年标准化的方向一致。
参考来源:OpenBSD 8.0 发布页