FreeBSD 11.0-RELEASE 发行说明(2016 年 10 月 10 日)

原文链接:FreeBSD 11.0-RELEASE Release Notesarrow-up-right

摘要

FreeBSD 11.0-RELEASE 的发行说明包含了自 11.0-STABLE 开发线以来对 FreeBSD 基本系统所做的变更摘要。本文列出了自上次发布以来发布的相关安全通告,以及对 FreeBSD 内核和用户空间的重大变更。还简要介绍了升级的相关事项。

介绍

本文档包含 FreeBSD 11.0-RELEASE 的发行说明。它介绍了 FreeBSD 最近添加、修改或删除的功能,并提供了有关从先前版本的 FreeBSD 升级的一些说明。

此发行版的 FreeBSD 11.0-RELEASE 为 RELEASE 版。可以在 https://www.FreeBSD.org/releases/arrow-up-right或其镜像站点找到。有关获取此版本(或其他版本)FreeBSD 的更多信息,请参阅 FreeBSD 手册arrow-up-right中的获取 FreeBSD 附录arrow-up-right

强烈建议所有用户在安装 FreeBSD 之前查阅发布的错误文档。错误文档会更新与发布周期末期或发布后发现的“突发”信息。通常,它包含已知的 bug、安全通告以及文档更正。FreeBSD 11.0-RELEASE 的最新错误文档可以在 FreeBSD 官方网站上找到。

本文档介绍了自 10.3-RELEASE 以来 FreeBSD 中最显著的新增或变更功能。通常,本文所述的变更是特定于 11.0-STABLE 分支的,除非特别标记为已合并功能。

典型的发行说明项记录了自 10.3-RELEASE 发布以来发布的安全通告、新驱动程序或硬件支持、新命令或选项、主要的 bug 修复,或第三方的软件升级。它们还可能列出主要的 Port/包或发布工程实践的变更。显然,发行说明无法列出每个版本间对 FreeBSD 所做的所有变更;本文档主要集中在安全通告、用户可见的变更和主要的架构改进上。

重要说明

本节列出了从以前的 FreeBSD 版本升级时的重要信息。

用户可见的变更

r303719 起,默认禁用了 OpenSSH 的 DSA 密钥生成。升级前更新 OpenSSH 密钥非常重要。此外,已移除 Protocol 1 支持。

从旧版 FreeBSD 升级

[amd64, i386] 版本之间的二进制升级(以及各个安全分支的快照)可以使用 freebsd-update(8)arrow-up-right 工具进行支持。二进制升级过程将更新未修改的用户空间工具以及未修改的 GENERIC 内核,这些内核作为官方 FreeBSD 发布的一部分分发。freebsd-update(8)arrow-up-right 工具要求被升级的主机必须具备互联网连接。

基于源代码的升级(即从源代码重新编译 FreeBSD 基本系统)也受支持,可以在 /usr/src/UPDATING 中找到相关的说明。

有关通过 freebsd-update(8)arrow-up-right 进行升级的信息,请参阅安装页面中的“二进制升级部分”。

重要

升级 FreeBSD 之前,请务必备份 所有 数据和配置文件。

用户空间

本节涉及了用户空间应用程序、第三方软件和系统实用程序的变更和新增内容。

用户空间配置变更

默认的 newsyslog.conf(5)arrow-up-right 现在包含了 /etc/newsyslog.conf.d//usr/local/etc/newsyslog.conf.d/ 目录中的文件,用于 newsyslog(8)arrow-up-right(r266463)arrow-up-right

mailwrapper(8)arrow-up-right 实用程序已更新,使用 LOCALBASE 环境变量中的 mailer.conf(5)arrow-up-right,如果未设置,默认值为 /usr/local(r270675)arrow-up-right

已删除 src.conf(5)arrow-up-right 选项 MK_ARM_EABI,现在是 FreeBSD/arm 支持的唯一 ABI。(r272350)arrow-up-right

ntp 套件已更新至版本 4.2.8p8。(r301247)arrow-up-right

/etc/ntp/leap-seconds 已更新为版本 3676752000。(r301247)arrow-up-right

默认启用 src.conf(5)arrow-up-right 选项 WITH_SYSTEM_COMPILER(r302177)arrow-up-right

用户空间应用程序变更

当无法使用 kldload(8)arrow-up-right 加载内核模块时,现会打印一条消息,提示查看 dmesg(8)arrow-up-right 的输出,而不是之前的信息 Exec format error.(r260594)arrow-up-right

pciconf(8)arrow-up-right 实用程序现在可以识别已附加到驱动程序的 PCI 设备,并通过设备名称而不仅仅是选择器来标识它们。此外,-l 参数现在接受一个可选的设备参数,以列出单个设备的详细信息。(r260910)arrow-up-right

/etc/ttys 中新增参数 onifconsole。这允许系统在设备为活动内核控制台时通过串行控制台提供登录提示,否则等同于 off(r260913)arrow-up-right

已添加通过 pciconf(8)arrow-up-right 显示 PCI 设备 VPD 的支持。(r260926)arrow-up-right

ping(8)arrow-up-right 实用程序已更新,使用 Capsicum 框架来降低权限,以防止恶意网络数据包的攻击。(r261498)arrow-up-right

ps(1)arrow-up-right 实用程序已更新,包含 -J 参数,用于通过匹配 jail(8)arrow-up-right ID 和名称过滤输出。此外,可以使用参数 0-J 一起,仅列出主机系统上运行的进程。(r265229)arrow-up-right

top(1)arrow-up-right 实用程序已更新,以通过 jail(8)arrow-up-right ID 或名称进行过滤,作为对 ps(1)arrow-up-rightr265229 中变更的后续更新。(r265249)arrow-up-right

pmcstat(8)arrow-up-right 实用程序已更新,新增参数 -l,它在指定的秒数后结束事件收集。(r266209)arrow-up-right

ps(1)arrow-up-right 实用程序已更新,新增新关键字 tracer,用于显示跟踪进程的 PID。(r270745)arrow-up-right

已为 mkimg(1)arrow-up-right 实用程序添加了支持添加空分区的功能。(r271482)arrow-up-right

primes(6)arrow-up-right 实用程序已更新,正确列出介于 42950983693825123056546413050 之间的质数。在此变更之前,可能会错误地将返回值识别为质数。(r272166)arrow-up-right

mkimg(1)arrow-up-right 实用程序已更新,包含三个选项,用于打印有关 mkimg(1)arrow-up-right 本身的信息:(r272198)arrow-up-right

选项
输出

--version

当前版本的 mkimg(1)arrow-up-right 实用程序

--formats

mkimg(1)arrow-up-right 支持的磁盘映像文件格式

--schemes

mkimg(1)arrow-up-right 支持的分区方案

dtrace(1)arrow-up-right 中已添加用户空间 ctf(5)arrow-up-right 支持。通过此变更, dtrace(1)arrow-up-right 能够解析函数和 USDT 探针参数的类型信息以及函数返回值。(r272488)arrow-up-right

elfdump(1)arrow-up-right 实用程序已更新,支持由 capsicum(4)arrow-up-right 提供的能力模式。(r274960)arrow-up-right

已新增 fstyp(8)arrow-up-right 实用程序,用于确定指定设备上的文件系统。(r275680)arrow-up-right(由 FreeBSD 基金会赞助)

libedit 库已更新以支持 UTF-8,这为 sh(1)arrow-up-right 提供了额外的 Unicode 支持。 (r276881)arrow-up-right

mkimg(1)arrow-up-right 工具已更新以支持 MBR EFI 分区类型。 (r276893)arrow-up-right(由 FreeBSD 基金会赞助)

ptrace(2)arrow-up-right 系统调用已更新,支持 FreeBSD/powerpc 上的 Altivec 寄存器。 (r277166)arrow-up-right

新增的设备控制工具 devctl(8)arrow-up-right 允许对单个设备进行管理变更,如附加和分离驱动程序,以及启用和禁用设备。devctl(8)arrow-up-right 工具使用了新的 devctl(3)arrow-up-right 库。 (r278320)arrow-up-right

netstat(1)arrow-up-right 工具已更新,使用 libxo(3)arrow-up-right 可选生成机器可读的输出。 (r279122)arrow-up-right(由 Juniper Networks, Inc. 赞助)

mkimg(1)arrow-up-right 工具新增 -c 参数,允许指定目标磁盘映像的容量。 (r279139)arrow-up-right

新增了 UEFI 安全启动签名工具 uefisign(8)arrow-up-right(r279315)arrow-up-right(由 FreeBSD 基金会赞助)

freebsd-update(8)arrow-up-right 工具已更新,以防止在先前的升级未完全完成时获取更新的二进制补丁。 (r279571)arrow-up-right(由 ScaleEngine, Inc. 赞助)

已修复 libarchive(3)arrow-up-right 库中的回归问题,该问题在使用 --one-file-system 时会导致目录未被包括在归档中。 (r280870)arrow-up-right

ar(1)arrow-up-right 工具已更新,设置 ARCHIVE_EXTRACT_SECURE_SYMLINKSARCHIVE_EXTRACT_SECURE_NODOTDOT,以禁止在提取归档时进行目录遍历,类似于 tar(1)arrow-up-right(r281311)arrow-up-right(由 FreeBSD 基金会赞助)

已修复 wc(1)arrow-up-right 中的竞争条件,该问题在接收到 SIGINFO 信号时会导致最终结果被发送到 stderr(4)arrow-up-right(r281617)arrow-up-right

chflags(1)arrow-up-rightchgrp(1)arrow-up-rightchmod(1)arrow-up-rightchown(8)arrow-up-right 工具现已在指定 -R 参数时影响符号链接,如 symlink(7)arrow-up-right 中所述。 (r282208)arrow-up-right(由 Multiplay 赞助)

date(1)arrow-up-right 工具已更新,以打印作为 -r 参数传递的文件的修改时间,提高了与 GNU date(1)arrow-up-right 工具行为的兼容性。 (r282608)arrow-up-right

pw(8)arrow-up-right 工具已更新,新增了 -R 参数,用于设置工具操作的根目录。 (r283961)arrow-up-right

lockstat(1)arrow-up-right 工具已更新,新增了几个改进: (r284297)arrow-up-right(由 ClusterHQ 赞助)

  • 现报告自旋锁的自旋时间,而不是循环迭代次数。

  • 现识别读取锁为适应性锁,能够在 FreeBSD 上进行自旋。

  • 成功的读取尝试锁事件的锁获取事件现已报告。

  • 自旋和阻塞事件现已在锁获取事件之前报告。

fstyp(8)arrow-up-right 工具已更新,能够检测文件系统 zfs(8)arrow-up-rightgeli(8)arrow-up-right(r284589)arrow-up-right(由 ScaleEngine, Inc. 赞助)

mkimg(1)arrow-up-right 工具已更新,支持在 MBR 和 GPT 分区方案中使用 NTFS 文件系统。 (r284883)arrow-up-right

quota(1)arrow-up-right 工具已更新,支持 IPv6。 (r285253)arrow-up-right

jexec(8)arrow-up-right 工具已更新,新增了参数 -l,确保在目标 jail 中使用时环境清洁。此外,jexec(8)arrow-up-right 在未指定命令时会在目标 jail 中运行一个 shell。 (r285420)arrow-up-right

w(1)arrow-up-right 工具已更新,显示用户连接的主机的完整 IPv6 远程地址。 (r285550)arrow-up-right

jail(8)arrow-up-right 框架已更新,能在 jail 中挂载 linprocfs(5)arrow-up-rightlinsysfs(5)arrow-up-right(r285685)arrow-up-right

patch(1)arrow-up-right 工具已更新,新增 -V 参数的一个选项 none,在应用补丁时禁用备份文件的创建。 (r285772)arrow-up-right (由 EMC / Isilon Storage Division 赞助)

ar(1)arrow-up-right 工具现在默认启用确定性模式 (-D)。可以通过指定 -U 参数禁用此行为。 (r286010)arrow-up-right (由 FreeBSD 基金会赞助)

xargs(1)arrow-up-right 工具已更新,允许将 0 作为 -P(并行模式)参数的参数,从而允许创建尽可能多的并发进程。 (r286289)arrow-up-right (由 ScaleEngine, Inc. 赞助)

patch(1)arrow-up-right 工具已更新,移除了自动签出功能。 (r286795)arrow-up-right

无线网络堆栈已修改,默认不再显示物理无线设备。要查看系统上可用的无线设备,请运行 sysctl net.wlan.devices(r287197)arrow-up-right (由奈飞,Nginx, Inc. 赞助)

新增了工具 sesutil(8)arrow-up-right,用于管理 ses(4)arrow-up-right(SCSI 环境服务)设备。 (r287473)arrow-up-right (由 Gandi.net 赞助)

pciconf(8)arrow-up-right 工具已更新,若存在 misc/pciids 包,则使用其中的 PCI ID 数据库,若没有则回退使用 FreeBSD 基本系统中的 PCI ID 数据库。 (r287522)arrow-up-right

解析库已更新,当 /etc/resolv.conf 文件的修改时间发生变化时,会重新加载该文件。 (r289315)arrow-up-right (由戴尔公司赞助)

uuencode(1)arrow-up-right 工具已更新,新增一个参数 -r,在使用时将生成类似 uudecode(1)arrow-up-right -r 参数的原始输出。 (r297678)arrow-up-right

默认情况下,ifconfig(8)arrow-up-right 工具将无线接口的默认监管域设置为 FCC。因此,使用默认设置创建的新无线接口将更少有可能违反国家特定法规。 (r300738)arrow-up-right

ul(1)arrow-up-right 工具中的一个 bug 已修复,该 bug 会导致行在 512 字符处被截断。 (r302558)arrow-up-right

第三方软件

binutils 工具套件已更新,包括添加支持 powerpc 的新重定位的上游补丁。 (r275718)arrow-up-right

ELF 工具链已更新为上游修订版本 r3477。 (r300698)arrow-up-right (由 FreeBSD 基金会赞助)

已从基本系统中移除 texinfo 工具和 info 页面。需要 info 页面时应安装 port print/texinfo(r276551)arrow-up-right

ELF 对象操作工具 addr2line、c++filt、objcopy、nm、readelf、size、strip 和 strings 已切换为 ELF 工具链项目中的版本。 (r276796)arrow-up-right (由 FreeBSD 基金会赞助)

xz(1)arrow-up-right 工具已更新,支持多线程压缩。 (r278433)arrow-up-right

nvi(1)arrow-up-right 编辑器及相关工具已更新至版本 2.1.3。 (r281373)arrow-up-right

wpa_supplicant(8)arrow-up-righthostapd(8)arrow-up-right 工具已更新至版本 2.4。 (r281806)arrow-up-right

bmake 已更新至版本 20150606。 (r284254)arrow-up-right

Sendmail 已更新为 8.15.2。从 FreeBSD 11.0 和 sendmail 8.15 开始,sendmail 默认使用未压缩的 IPv6 地址,即不包含 ::。例如, ::1 将变为 0:0:0:0:0:0:0:1。这允许零子网具有更具体的匹配,例如 IPv6:0:0IPv6:0 的不同映射条目。此变更要求配置数据(包括映射、文件、类、自定义规则集等)必须使用相同的格式,因此在升级之前,请确保配置数据到位。为了简单检查,可以搜索如 IPv6:[0-9a-fA-F:]*::IPv6:: 这样的模式。要恢复旧行为,请设置 m4 选项 confUSE_COMPRESSED_IPV6_ADDRESSES 或 cf 选项 UseCompressedIPv6Addresses(r285229)arrow-up-right

tcpdump(1)arrow-up-right工具已更新为版本 4.7.4。(r285275)arrow-up-right

ssh(1)arrow-up-right工具已更新,以重新实现主机名规范化,在 known_hosts 中定位主机之前进行处理。(r285642)arrow-up-right(由戴尔赞助)

libarchive(3)arrow-up-right 库已更新,以正确跳过在 tar(1)arrow-up-right 文件中的稀疏文件条目,之前会产生错误。(r285972)arrow-up-right

svnlite(1)arrow-up-right 工具使用的 apr 库已更新为版本 1.5.2。(r286503)arrow-up-right

svnlite(1)arrow-up-right 工具使用的 serf 库已更新为版本 1.3.8。(r286505)arrow-up-right

acpi(4)arrow-up-right 子系统已更新为版本 20150818。(r287168)arrow-up-right

unbound(8)arrow-up-right 工具已更新为版本 1.5.4。(r287917)arrow-up-right

nc(1)arrow-up-right 工具已更新为 OpenBSD 5.8 版本。(r288303)arrow-up-right

时区数据文件已更新为版本 2015g。(r290697)arrow-up-right

xz(1)arrow-up-right 工具已更新为版本 5.2.2。(r291125)arrow-up-right

mandoc(1)arrow-up-right 工具已更新为版本 20160116。(r292257)arrow-up-right

OpenBSM 已更新为版本 1.2 alpha 4。(r292432)arrow-up-right

Clang 已更新为版本 3.8.0。(r296417)arrow-up-right

LLVM 已更新为版本 3.8.0。(r296417)arrow-up-right

LLDB 已更新为版本 3.8.0。(r296417)arrow-up-right

libc++ 已更新为版本 3.8.0。(r296417)arrow-up-right

compiler_rt 工具已更新为版本 3.8.0。(r296417)arrow-up-right

resolvconf(8)arrow-up-right 工具已更新为版本 3.7.3。(r296190)arrow-up-right(由 FreeBSD 基金会赞助)

OpenSSH 已更新为 7.2p2。(r296633)arrow-up-right

byacc(1)arrow-up-right 工具已更新为版本 20160324。(r297276)arrow-up-right

svnlite(1)arrow-up-rightkerberos(8)arrow-up-right 使用的 sqlite3 库已更新为版本 3.12.1。(r298161)arrow-up-right

libucl 已更新为版本 0.8.0。(r298166)arrow-up-right

svnlite(1)arrow-up-right 工具已更新为版本 1.9.4。(r298845)arrow-up-right

ACPICA 已更新为版本 20160527。(r300879)arrow-up-right

libblacklist(3)arrow-up-right 库和应用程序已从 NetBSD 项目移植。为 pf(4)arrow-up-right 数据包过滤系统实现了数据包过滤支持。黑名单系统提供了 blacklistd 守护进程、帮助脚本 blacklistd-helper 以修改正在运行的包过滤系统,以及 blacklistctl 控制程序。一些系统守护进程,包括 fingerd、ftpd、rlogind 和 rshd,已被修改以支持向 blacklistd 守护进程发送通知。(r301169)arrow-up-right(由 FreeBSD 基金会赞助)

jemalloc(3)arrow-up-right 库已更新至版本 4.2.1。(r301718)arrow-up-right

已为 blacklistd-helper 脚本添加对 ipfw(4)arrow-up-right 数据包过滤器的支持。(r301736)arrow-up-right(由 FreeBSD 基金会赞助)

已为 blacklistd-helper 脚本添加对 ipfilter(4)arrow-up-right 数据包过滤器的支持。(r301843)arrow-up-right(由 FreeBSD 基金会赞助)

file(1)arrow-up-right 实用程序已更新至版本 5.28。(r302221)arrow-up-right

OpenSSH 已移除对 SSHv1 的支持。(r303716)arrow-up-right

默认禁用了对 DSA 的支持。(r303719)arrow-up-right

OpenSSL 已更新至版本 1.0.2i。(r306198)arrow-up-right

安装和配置工具

已更新 bsdinstall(8)arrow-up-right 分区编辑器和 sade(8)arrow-up-right 实用程序,加入对 ZFS 的原生支持。(r271539)arrow-up-right

FreeBSD 安装工具 bsdinstall(8)arrow-up-right 已更新,以将 canmount zfs(8)arrow-up-right 属性设置为 off,防止在使用多个启动环境(例如 sysutils/beadm 提供的环境)时,/var 目录中的内容发生冲突。(r272274)arrow-up-right

bsdconfig(8)arrow-up-right 工具已更新,当在虚拟机中运行时,将跳过初始的 tzsetup(8)arrow-up-right UTC 与壁钟时间提示,这在设置 sysctl(8)arrow-up-right kern.vm_guest1 时判断。(r274394)arrow-up-right

bsdinstall(8)arrow-up-right 工具已更新,使用新的 dpv(3)arrow-up-right 库,在解压 FreeBSD 分发文件时显示进度。(r275874)arrow-up-right

bsdinstall(8)arrow-up-right 已加入支持检测和实现对 1Mb 边界对齐的分区。(r285557)arrow-up-right(由 ScaleEngine, Inc. 赞助)

bsdinstall(8)arrow-up-right 已加入支持检测和实现对某些笔记本电脑和主板的解决方法,这些笔记本电脑和主板无法从 GPT 分区的磁盘启动。此外,当需要时,active 参数将会设置在分区上。(r285679)arrow-up-right(由 ScaleEngine, Inc. 赞助)

bsdinstall(8)arrow-up-right 已加入支持在安装 UFS 文件系统时选择分区方案。(r285679)arrow-up-right(由 ScaleEngine, Inc. 赞助)

bsdinstall(8)arrow-up-right 工具现在支持安装时的 "BIOS+UEFI 选项",支持带 UEFI 或 BIOS/CSM 功能的系统。(r298243)arrow-up-right

bsdinstall(8)arrow-up-right 工具已更新,加入了在安装过程中提供各种系统安全加固选项。(r303447)arrow-up-right

/etc/rc.d 脚本

rc(8)arrow-up-right 子系统已更新,允许在 ${LOCALBASE}/etc/rc.conf.d/ 中配置服务。如果未设置 LOCALBASE,则默认为 /usr/local(r270676)arrow-up-right

新增了 rc(8)arrow-up-right 脚本 growfs,如果 /firstboot 存在并且在 rc.conf(5)arrow-up-right 中启用了 growfs_enable,则该脚本将在启动时调整根文件系统的大小以填充设备。(r273955)arrow-up-right

mrouted rc(8)arrow-up-right 脚本已从基本系统中移除。等效的脚本可以通过 Port net/mrouted 获得。(r275299)arrow-up-right

service(8)arrow-up-right 实用程序已更新,支持 /etc/rc.conf.d/ 中的条目。(r287576)arrow-up-right(由 ScaleEngine, Inc. 赞助)

rc(8)arrow-up-right 子系统新增了两个子命令。describe 显示 rc 脚本的描述;extracommands 显示 rc 脚本中存在的任何非标准命令,如 reloadconfigtestkeygen(r298515)arrow-up-right

/etc/periodic 脚本

每日 periodic(8)arrow-up-right 脚本 110.clean-tmps 已更新,以避免在清理 /tmp 中的文件时跨越文件系统挂载边界。(r271321)arrow-up-right

新增了 periodic(8)arrow-up-right 脚本 510.status-world-kernel,该脚本评估运行中的用户空间和内核版本(通过 uname(1)arrow-up-right-U-K 参数),如果系统的用户空间和内核不同步,则输出错误信息。(r277216)arrow-up-right(由 FreeBSD 基金会赞助)

运行时库和 API

Blowfish crypt(3)arrow-up-right 默认格式已变更为 $2b$(r265995)arrow-up-right

readline(3)arrow-up-right 库现在在基本系统中静态链接,且不再安装共享库,这样 Ports 可以使用库的现代版本。(r268461)arrow-up-right

strptime(3)arrow-up-right 库已更新,支持 POSIX-2001 特性 %U%W(r272273)arrow-up-right

dl_iterate_phdr(3)arrow-up-right 库已变更,始终返回 ELF 对象的路径名,存储在 dlpi_name 结构成员中。(r272848)arrow-up-right(由 FreeBSD 基金会赞助)

libxo(3)arrow-up-right 库已导入到基本系统中。(r273562)arrow-up-right(由 Juniper Networks, Inc. 赞助)

为 Chelsio Terminator 5 基于 iWARP 的网卡添加了用户空间库,能在兼容的 NIC 上运行用户空间 RDMA 应用程序。(r273806)arrow-up-right(由 Chelsio Communications 赞助)

新增了 gpio(3)arrow-up-right 库,为 gpio(4)arrow-up-right 内核接口提供了一个包装器。(r274987)arrow-up-right

procctl(2)arrow-up-right 系统调用已更新,包含一个功能,允许非 init(8)arrow-up-right 进程声明为子进程及其后代的清理进程。(r275800)arrow-up-right(由 FreeBSD 基金会赞助)

新增了 futimens()utimensat() 系统调用。有关更多信息,请参见 utimensat(2)arrow-up-right(r277610)arrow-up-right

已从 dtri.o 中移除 elf(3)arrow-up-right 编译时依赖关系,允许将 DTrace 探针添加到用户空间应用程序和库中,而无需与 elf(3)arrow-up-right 进行链接。(r278934)arrow-up-right

setmode(3)arrow-up-right 函数已更新,以在失败时一致地设置 errno(r279186)arrow-up-right

qsort(3)arrow-up-right 相关的函数已更新,可以在 64 位平台上处理 32 位对齐数据,并显著提升 32 位工作负载的性能。(r279663)arrow-up-right

多个标准头文件已更新,利用 gcc 属性,如 result_use_check()alloc_size()__nonnull()(r281130)arrow-up-right

已添加文件验证的 MAC 支持。(r281845)arrow-up-right

libgomp 库现在仅在从基本系统构建 GCC 时才构建。一个最新版本可以在 Ports 中作为 devel/libiomp5-devel 获取。(r282973)arrow-up-right(由 FreeBSD 基金会赞助)

已更新头文件 stdlib.hmalloc.h,以利用 gcc 的 alloc_align() 属性。(r282988)arrow-up-right

Blowfish crypt(3)arrow-up-right 库已更新,支持 $2y$ 哈希。(r284483)arrow-up-right(由 ScaleEngine, Inc. 赞助)

execl(3)arrow-up-rightexeclp(3)arrow-up-right 库函数已更新,以使用 gcc 属性 __sentinel(r285277)arrow-up-right

ABI 兼容性

Linux® 兼容版本已更新为 2.6.18。在构建 emulators/linux-c6 及相关 Port 时,会评估 compat.linux.osrelease sysctl(8)arrow-up-right(r271982)arrow-up-right

堆栈保护器已升级为“strong(强)”级别,增强了对缓冲区溢出的保护。尽管这显著提高了系统安全性,但进行了广泛的测试,以确保不会对性能或功能产生可测量的副作用。(r288669)arrow-up-right

内核

本节介绍内核配置、系统调优和系统控制参数的变更,这些内容未被其他分类覆盖。

内核错误修复

修复了一个内核错误,该错误阻止了在启用 Turbo Boost™ 的 Intel® 处理器上正确功能的 dev.cpu.0.freq sysctl(8)arrow-up-right(r265876)arrow-up-right

已修复 FreeBSD/powerpc 中的 dtrace(1)arrow-up-right 堆栈追踪功能,使用函数 trapexit()asttrapexit(),而不是在已寻址的内核空间内进行检查。(r271697)arrow-up-right

修复了在销毁配置了 gif(4)arrow-up-rightvnet(9)arrow-up-right jail(8)arrow-up-right 时触发的内核 panic 错误。(r271917)arrow-up-right

修复了在销毁配置了 gre(4)arrow-up-rightvnet(9)arrow-up-right jail(8)arrow-up-right 时触发的内核 panic 错误。(r271918)arrow-up-right

修复了 ipfw(4)arrow-up-right 中的一个 bug,该 bug 可能会在使用 dummynet(4)arrow-up-right 时在第 2 层引发内核 panic 错误。(r272089)arrow-up-right

内核 RPC 已更新,包含多个增强功能:(r280930)arrow-up-right(由麻省理工学院计算机科学与人工智能实验室赞助)

  • 已移除 nfsd(8) 线程请求队列的 45 MiB 限制。

  • 通过不推迟已完成请求的会计核算,避免不必要的节流。

  • 修复了整数溢出和符号错误。

已为 PowerPC Book-E™ 添加了 dtrace(1)arrow-up-right 支持。(r281261)arrow-up-right

kqueue(2)arrow-up-right 系统调用已更新,能够处理超过 2 GB 的文件写入事件。(r287886)arrow-up-right(由 Multiplay 赞助)

内核配置

现已默认启用内核配置选项 IMAGACT_BINMISC,从而支持通过仿真器执行应用程序,如通过 binmiscctl(8)arrow-up-right 通过 QEMU 执行应用。(r266531)arrow-up-right

已移除 VT 内核配置文件,且驱动程序 vt(4)arrow-up-right 已包含在 GENERIC 内核中。要启用 vt(4)arrow-up-right,在启动时在 loader(8)arrow-up-right 提示符下输入 set kern.vty=vt,或将 kern.vty=vt 添加到 loader.conf(5)arrow-up-right 中并重启系统。(r268045)arrow-up-right

config(8)arrow-up-right 工具已更新,允许使用非标准的 src/ 树,该树作为 -s 参数的参数进行指定。(r277904)arrow-up-right

FreeBSD/powerpc64 内核现在构建为位置独立的可执行文件,允许将内核加载到任何物理或虚拟地址并运行。(r277990)arrow-up-right

重要

此变更需要更新 loader(8)arrow-up-right。用户空间和内核必须在重启系统之前更新。

为树莓派添加了新的模块,用于创建 rpi.dtb(r278338)arrow-up-right

[arm] rpi.dtb 模块现在默认安装到树莓派系统的 /boot/dtb/ 路径下。(r278340)arrow-up-right

为 POWER7 和 POWER8 硬件添加了对向量 - 标量扩展(VSX)的内核支持。(r279189)arrow-up-right(由 FreeBSD 基金会赞助)

64 位 PowerPC® 处理器的 pmap(9)arrow-up-right 实现经过了改进,以提高并发性。(r279252)arrow-up-right(由 FreeBSD 基金会赞助)

为 ARM AM335x 系统添加了新的 dtb 模块创建模块。(r279824)arrow-up-right

为 FreeBSD/i386 添加了内核配置选项 PAE_TABLES,它指示 pmap(9)arrow-up-right 在保持 32 位物理地址大小的同时,使用 PAE 格式的页面表。使用此选项可以通过在现代 i386 处理器上启用“不可执行”映射来增强应用级安全性。与 PAE 选项不同,PAE_TABLES 保持与非 PAE 内核的内核二进制接口(KBI)兼容,允许非 PAE 内核模块和驱动程序与启用 PAE_TABLES 的内核一起工作。此外,系统限制被调整为最大 4GB 的内存,以避免内核虚拟地址空间(KVA)耗尽。(r281495)arrow-up-right(由 FreeBSD 基金会赞助)

添加了内核选项 SIFTR,允许将 siftr(4)arrow-up-right 静态编译到内核中。(r282215)arrow-up-right

ARM 引导加载程序 ubldr 现在是可重定位的。此外,ubldr.bin 现在在构建时创建,这是一个去除符号的二进制文件,入口点为 0,提供了通过在 u-boot 中运行 go ${loadaddr} 来指定加载地址的能力。(r282731)arrow-up-right

[amd64,i386] nvd(4)arrow-up-rightnvme(4)arrow-up-right 驱动程序现在默认包含在 GENERIC 内核配置中。(r282921)arrow-up-right(由英特尔公司赞助)

添加了一个新的内核配置选项 EM_MULTIQUEUE,它启用 em(4)arrow-up-right 驱动程序的多队列支持。(r283959)arrow-up-right(由 Limelight Networks 赞助)

注意

em(4)arrow-up-right 驱动程序的多队列支持并未得到英特尔® 官方支持。

已更新 GENERIC 内核配置,默认包括选项 IPSEC(r285142)arrow-up-right(由 Netgate 赞助)

添加了初步的 NUMA 亲和性和策略配置。有关用法详情,请参见 numactl(1)arrow-up-rightnuma_getaffinity(2)arrow-up-right(r285387)arrow-up-right(由 Norse Corporation 和戴尔公司赞助)

注意

如果系统 BIOS 生成了无效的 ACPI SRAT 表,内核将忽略它,实际上禁用了 NUMA。如果 dmesg 显示 SRAT: Duplicate local APIC ID,请尝试更新 BIOS 以修复 NUMA 支持。

已为 amd64 和 arm64 添加对运行 CloudABI 可执行文件的支持。CloudABI 是一个只使用基于能力的安全性的运行时环境,类似于 capsicum(4)arrow-up-right 始终启用的方式。它使得设计、实施和测试高度沙盒化的应用程序变得更加容易。(r285307)arrow-up-right

为支持的架构添加了 pms(4)arrow-up-right 驱动程序到 GENERIC 内核配置中。(r286231)arrow-up-right

CUBIEBOARD2 内核配置已更名为 A20,以支持其他配备 A20 处理器的板子,如 Banana Pi。(r287306)arrow-up-right

现在将内核调试符号安装到 /usr/lib/debug/boot/kernel/ 中。若要保留以前的行为,请在 src.conf(5)arrow-up-right 中添加 KERN_DEBUGDIR=""(r288176)arrow-up-right(由 FreeBSD 基金会赞助)

现在内核默认包含 POSIX 异步 I/O 支持。已删除内核选项 VFS_AIO 和内核模块 aio.ko。默认情况下,允许对套接字、本地文件和磁盘设备进行异步 I/O 操作。然而,对其他文件类型的操作被禁用。有关更多细节,请参见 aio(4)arrow-up-right 手册页。(r296277)arrow-up-right(由 Chelsio Communications 赞助)

[arm64] arm64 已默认切换为使用 INTRNG(r301565)arrow-up-right(由 FreeBSD 基金会赞助)

系统调优和控制

hwpmc(4)arrow-up-right 的默认和最大调用链深度已增加。默认值从 16 增加到 32,最大值从 32 增加到 128(r275140)arrow-up-right(由 FreeBSD 基金会赞助)

现在可以配置为 jail(8)arrow-up-right 参数 kern.osreleasekern.osreldate(r279361)arrow-up-right

设备文件系统 devfs(5)arrow-up-right 已变更,以秒级精度更新读/写操作的时间戳。添加了新的 sysctl(8)arrow-up-right vfs.devfs.dotimes,当设置为非零值时,启用这些操作的默认精度时间戳。(r280949)arrow-up-right(由 iXsystems 和 FreeBSD 基金会赞助)

添加了新的 sysctl(8)arrow-up-right kern.racct.enable,当设置为非零值时,允许在 GENERIC 内核上使用 rctl(8)arrow-up-right。同时也添加了新的内核配置选项 RACCT_DISABLED(r282213)arrow-up-right(由 FreeBSD 基金会赞助)

GENERIC 内核配置现在默认包括 RACCTRCTL(r282901)arrow-up-right(由 FreeBSD 基金会赞助)

注意

要在使用 GENERIC 内核配置的系统上启用 RACCTRCTL,请将 kern.racct.enable=1 添加到 loader.conf(5)arrow-up-right,然后重新启动系统。

添加了新的 sysctl(8)arrow-up-right net.inet.tcp.hostcache.purgenow,当在运行时设置为 1 时,将刷新所有 net.inet.tcp.hostcache 条目。(r283136)arrow-up-right(由 Limelight Networks 赞助)

添加了新的 sysctl(8)arrow-up-right hw.model,可显示 CPU 型号信息。(r285524)arrow-up-right

uart(4)arrow-up-right 驱动程序已更新,允许在运行时调整捕获在 CTS 线上的每秒脉冲,而之前只能使用 DCD 线而无需重新构建内核。(r286591)arrow-up-right

设备和驱动程序

本节涉及自 10.3-RELEASE 以来的设备和设备驱动程序的变更和新增内容。

设备驱动程序

已为 uhso(4)arrow-up-right 添加对 GPS 端口的支持。(r260903)arrow-up-right

已添加 full(4)arrow-up-right 设备,并移除了 lindev(4) 设备。在此变更之前,lindev(4) 仅提供 /dev/full 字符设备,在写入尝试时返回 ENOSPC 错误。由于该设备并非专为 Linux® 设计,因此已添加了一个 FreeBSD 原生版本。(r265132)arrow-up-right

drm/i915 驱动程序已添加硬件上下文支持,增加了对 Mesa 9.2 及更高版本的支持。(r271705)arrow-up-right

已更新驱动程序 vt(4)arrow-up-right ,替换了位图形式的 kern.vt.spclkeys sysctl(8)arrow-up-right,并使用了独立的 kern.vt.kbd_* 衍生。(r273178)arrow-up-right

hpet(4)arrow-up-right 驱动程序已更新,以创建 /dev/hpetN 设备,从用户空间提供对 HPET 的访问。(r273598)arrow-up-right

drm 代码已更新,以匹配 Linux® 版本 3.8.13。(r280183)arrow-up-right

psm(4)arrow-up-right 驱动程序已更新,增加了对较新款 Synaptics® 触控板和较新款联想™笔记本电脑上的 ClickPad® 鼠标的改进支持。(r281440)arrow-up-right

已为 FreeBSD/powerpc 添加对 Freescale PCI 根复合设备的支持。(r282783)arrow-up-right

已添加 cyapa(4)arrow-up-right 驱动程序,支持 Cypress APA I2C 触控板。(r285876)arrow-up-right

已添加 isl(4)arrow-up-right 驱动程序,支持 Intersil I2C ISL29018 数字环境光传感器。(r285883)arrow-up-right

存储驱动程序

已添加 mpr(4)arrow-up-right 设备,提供对 LSI Fusion-MPT 3 12Gb SCSI/SATA 控制器的支持。(r265236)arrow-up-right(由 LSI 和 Spectra Logic 赞助)

已添加 mrsas(4)arrow-up-right 驱动程序,提供对 LSI MegaRAID SAS 控制器的支持。在默认情况下,mfi(4)arrow-up-right 驱动程序将附加到控制器。要启用 mrsas(4)arrow-up-right,请将 hw.mfi.mrsas_enable=1 添加到 /boot/loader.conf,这将关闭 mfi(4)arrow-up-right 设备探测。(r265555)arrow-up-right(由 LSI 赞助)

注意

目前,mfiutil(8)arrow-up-right 工具以及 FreeBSD 版本的 MegaCLI 和 StorCli 不支持 mrsas(4)arrow-up-right

ctl(4)arrow-up-right 子系统已更新,将端口限制从 128 增加到 256,LUN 限制从 256 增加到 1024(r275461)arrow-up-right(由 iXsystems 赞助)

已移除 asr(4) 驱动程序,并不再支持。(r276526)arrow-up-right

hptnr(4)arrow-up-right 驱动程序已更新至版本 1.1.1。(r281387)arrow-up-right

已添加 pms(4)arrow-up-right 驱动程序,提供对 PMC Sierra 系列 SAS/SATA 主机总线适配器的支持。(r285662)arrow-up-right

已添加 ioat(4)arrow-up-right 驱动程序,提供对 PSE(平台存储扩展)的支持。(r287117)arrow-up-right(由 EMC / Isilon Storage Division 赞助)

CTL 高可用性实现已重写。(r287621)arrow-up-right(由 iXsystems 赞助)

ctl(4)arrow-up-right 驱动程序已更新,以支持光盘和可移动设备。(r288310)arrow-up-right

isp(4)arrow-up-right 驱动程序已更新和改进:增加了对 16Gbps FC 卡的支持,改进了目标模式支持,完成了多 ID(NPIV)功能。(由 iXsystems 赞助)

网络驱动程序

已添加对博通芯片组 BCM57764、BCM57767、BCM57782、BCM57786 和 BCM57787 的支持到 bge(4)arrow-up-right 中。(r258830)arrow-up-right

已移除弃用的 nve(4) 驱动程序。建议 NVIDIA nForce MCP 网络适配器的用户改用 nfe(4)arrow-up-right 驱动程序,该驱动程序自 FreeBSD 7.0 以来一直是该硬件的默认驱动。(r261975)arrow-up-right

新增了 if_nf10bmac(4) 设备,支持 NetFPGA-10G 嵌入式 CPU 以太网核心。(r264601)arrow-up-right(由美国国防高级研究计划局,美国空军研究实验室 赞助)

注意

if_nf10bmac(4) 驱动程序运行在 FPGA 上,不适用于 PCI 主机接口。

已更新 ath_hal(4)arrow-up-right 驱动程序,支持 Atheros AR1111 芯片组。(r265348)arrow-up-right(由 Netgate 赞助)

已新增 iwn(4)arrow-up-right 驱动程序,支持 Intel® Centrino™ Wireless-N 105 和 135 芯片组。(r266770)arrow-up-right

已将 cxgbe(4)arrow-up-right 支持的 Terminator 5 (T5) 10G/40G 卡添加到 netmap(4)arrow-up-right 中。(r266757)arrow-up-right(由 Chelsio Communications 赞助)

已更新 alc(4)arrow-up-right 驱动程序,支持 AR816x 和 AR817x 以太网控制器。(r272730)arrow-up-right

已变更 pf(4)arrow-up-right 数据包过滤器的默认哈希算法,从 Jenkins 改为 Murmur3,提供了 3% 的每秒数据包性能提升。(r272906)arrow-up-right

新增了 vxlan(4)arrow-up-right 驱动程序,它在第 3 层(IP/UDP)网络上创建了一个虚拟的第 2 层(以太网)网络。该 vxlan(4)arrow-up-right 驱动程序类似于 vlan(4)arrow-up-right,但旨在更适合大型、多租户数据中心环境。(r273331)arrow-up-right

已大幅更新 gre(4)arrow-up-right 驱动程序,并将其拆分为两个独立的模块,gre(4)arrow-up-rightme(4)arrow-up-right(r274246)arrow-up-right(由 Yandex LLC 赞助)

已更新 ral(4)arrow-up-right 驱动程序,支持 RT5390 和 RT5392 芯片组。(r278551)arrow-up-right

已更新 sfxge(4)arrow-up-right 驱动程序,支持 Solarflare Flareon Ultra 7000 系列芯片组。(r283514)arrow-up-right(由 Solarflare Communications, Inc.赞助)

已更新 em(4)arrow-up-right 驱动程序,改善了传输队列挂起检测。(r283923)arrow-up-right(由 Limelight Networks 赞助)

已更新 cdce(4)arrow-up-right 驱动程序,增加了对 RTL8153 芯片组的支持。(r284125)arrow-up-right

已从 OpenBSD 导入 iwm(4)arrow-up-right 驱动程序,支持 Intel® 3160/7260/7265 无线芯片组。(r286441)arrow-up-right

已更新 em(4)arrow-up-right 驱动程序,允许禁用 CRC 剥离。(r286829)arrow-up-right(由 Limelight Networks 赞助)

已更新 pf(4)arrow-up-right 实现,移除了对 scrub fragment crop|drop-ovl 过滤规则的支持。具有此规则的系统将在 pf.conf(5)arrow-up-right 中自动转换为 scrub fragment reassemble 过滤规则,无需干预。(r287222)arrow-up-right

已更新 lagg(4)arrow-up-right 驱动程序,移除了对 fec 协议的支持。(r288654)arrow-up-right

已更新 dummynet(4)arrow-up-right 驱动程序,增加了对 AQM(主动队列管理)的支持,支持 PIE(比例积分控制器增强)和 FQ-PIE(公平队列比例积分控制器增强)。(r300779)arrow-up-right

硬件支持

本节涉及了物理机器、虚拟化环境和虚拟化环境中硬件的通用支持,以及与硬件相关的变更和更新,这些内容无法归入文档其他部分。

硬件支持

asmc(4)arrow-up-right 驱动程序已更新,支持 Apple® MacMini 3,1。(r268303)arrow-up-right

从 FreeBSD 11 起,已不再支持 FreeBSD/ia64(Itanium,安腾)。(r268351)arrow-up-right

修复了一个可能导致系统在进入 ACPI S3 状态(RAM 休眠)时挂起的问题,涉及 acpi(4)arrow-up-rightpci(4)arrow-up-right 驱动程序。(r274386)arrow-up-right

电源管理单元子系统已更新,支持某些 PowerPC 硬件的电源按钮事件,例如铝制 PowerBook。(r274733)arrow-up-right

hwpmc(4)arrow-up-right 驱动程序已更新,以修复 PowerPC G4(MPC74xxx)和 G5 类处理器的性能计数器采样问题。(r275190)arrow-up-right

OpenCrypto 框架已更新,增加了 AES-ICMAES-GCM 模式,这些模式也已添加到 aesni(4)arrow-up-right 驱动程序中。(r275732)arrow-up-right(由 FreeBSD 基金会和 Netgate 提供赞助)

[powerpc] hwpmc(4)arrow-up-right 驱动程序已更新,支持 Freescale e500 核心。(r281713)arrow-up-right

ig4(4)arrow-up-right 驱动程序已添加,支持第四代 Intel® I2C SMBus。(r283766)arrow-up-right

uart(4)arrow-up-right 驱动程序已更新,支持新系统上的 AMT 设备。

[arm64] FreeBSD/arm64 平台已增加初始的 SMP 支持。(r285316)arrow-up-right(由 FreeBSD 基金会提供赞助)

enc(4)arrow-up-right 驱动程序已更新,允许在运行时通过 kldload(8)arrow-up-right 创建接口,而无需额外的内核和/或用户空间变更。(r291292)arrow-up-right(由 Yandex LLC 提供赞助)

Freescale QorIQ SoC 的 dtsec(4) 驱动程序已添加,支持 P2041、P3041、P5010 和 P5020 系统。(r296177)arrow-up-right

Freescale PowerQUICC 和 QorIQ 系统现在支持更大的地址空间,相当于 i386 上的 PAE 模式。(r297001)arrow-up-right

e500mc 和 e5500 PowerPC 核心现在受支持,支持大多数 QorIQ 系统。(r297977)arrow-up-right

多核 Freescale QorIQ 系统的 SMP 现在可以正确工作,适用于具有引导等待模式(而非自旋循环等待模式)AP 核心的 SoC。(r298237)arrow-up-right

虚拟化支持

如果 CPU 支持,Intel® VT-x 的“虚拟中断传递”功能已启用。可以通过运行 sysctl hw.vmm.vmx.use_apic_vid=0 禁用此功能。此外,为了在重启后保留此设置,可以将 hw.vmm.vmx.use_apic_vid=0 添加到 /etc/sysctl.conf(r260410)arrow-up-right

如果 CPU 支持,已启用“已发布中断处理”功能。可以通过运行 sysctl hw.vmm.vmx.use_apic_pir=0 禁用此功能。此外,为了在重启后保留此设置,可以将 hw.vmm.vmx.use_apic_pir=0 添加到 /etc/sysctl.conf(r260532)arrow-up-right

已为 virtio_blk(4)arrow-up-right 添加了未映射 IO 支持。(r260582)arrow-up-right

已为 virtio_scsi(4)arrow-up-right 添加了未映射 IO 支持。(r260583)arrow-up-right

已添加 virtio_random(4)arrow-up-right 驱动程序,用于从主机系统收集熵。(r260847)arrow-up-right

现在可以在 bhyve 上运行 FreeBSD/i386 虚拟机。(r261504)arrow-up-right

已增加对 FreeBSD/amd64 Xen 客户实例以 PVH 模式运行的支持。PVH 模式("Para-Virtualized Hardware" 的缩写)使用 para-virtualized 驱动程序进行启动和 I/O,并使用硬件虚拟化扩展处理所有其他任务,无需仿真。(r267536)arrow-up-right(由 Citrix Systems R&D 提供赞助)

bhyve(8)arrow-up-right 超级监视器已更新,支持带有 SVM 和 AMD-V 硬件扩展的 AMD® 处理器。(r273375)arrow-up-right

已添加 virtio_console(4)arrow-up-right 驱动程序,通过 tty(4)arrow-up-right 设备提供对 VirtIO 控制台设备的接口。(r273515)arrow-up-right

已引入对 PCI 单根 I/O 虚拟化(SR-IOV)的支持,允许为支持 SR-IOV 的设备驱动程序创建 PCI 虚拟功能(VF)。有关创建和配置 VF 的详细信息,请参见 iovctl(8)arrow-up-right(r279463)arrow-up-right(由 Sandvine, Inc. 提供赞助)

bhyve(8)arrow-up-right 超级监视器已更新,支持虚拟 AHCI 磁盘的 DSM TRIM 命令。(r279957)arrow-up-right

[arm] 已增加对 QEMU virt 系统的支持。(r281439)arrow-up-right

Hyper-V™ 驱动程序已更新,包含多个增强功能:(r282212)arrow-up-right(由微软开源技术中心提供赞助)

已删除对 xen(4)arrow-up-right para-virtualized domU 内核的支持。(r282274)arrow-up-right

hv_netvsc(4)arrow-up-right 驱动程序已更新,支持校验和卸载和 TSO。(r284746)arrow-up-right(由微软开源技术中心提供赞助)

xen(4)arrow-up-right blkfront 驱动程序已更新,支持 blkif 间接段 I/O。(r286062)arrow-up-right

当在 AWS EC2 上运行时,Xen blkfront 驱动程序默认启用间接段 I/O。(r302288)arrow-up-right

bhyve(8)arrow-up-right 超级监视器已增加对本地图形的支持。(r302332)arrow-up-right

ARM 支持

默认启用 nand(4)arrow-up-right 设备支持 ARM 设备。(r260921)arrow-up-right

增加了对 Exynos 5420 Octa 系统的支持。(r266943)arrow-up-right

为所有 FreeBSD 支持的 Exynos 5 系统启用了 SMP 选项。(r267390)arrow-up-right

增加了对 Toradex Apalis i.MX6 开发板的支持。(r268838)arrow-up-right

修复了在树莓派 SOC 上检测 SD 卡时可能导致不稳定的问题。(r273264)arrow-up-right

增加了驱动程序 bcm2835_cpufreq,支持树莓派 SOC 上的 CPU 频率和电压控制。(r275963)arrow-up-right

增加了通过 shutdown(8)arrow-up-right -p 参数或调用 poweroff(8)arrow-up-right 关闭 BeagleBone Black 系统的支持。(r277042)arrow-up-right

增加了用于数字音频多路复用器(AUDMUXM)、智能直接存储器访问控制器(SDMA)和同步串行接口(SSI)的音频传输驱动程序。(r277644)arrow-up-right

增加了对 ARM AArch64 架构的初步支持。(r280259)arrow-up-right(由 FreeBSD 基金会赞助)

增加了对 Thumb-2 用户空间的内核支持。(r282779)arrow-up-right

增加了对 BeagleBone Black 系统硬件电源按钮的支持。(r282827)arrow-up-right

增加了对 FreeBSD/arm64 的初步 ACPI 支持。(r284273)arrow-up-right(由 FreeBSD 基金会赞助)

增加了对 1-Wire 设备的支持,通过 gpio(4)arrow-up-right 提供对 1-Wire 硬件的支持。更多信息请参见 ow(4)arrow-up-rightowc(4)arrow-up-rightow_temp(4)arrow-up-right(r287225)arrow-up-right

增加了对 HiSilicon HI6220 SoC 的支持。(r287371)arrow-up-right(由 ABT Systems, Ltd. 提供赞助)

启用了 Allwinner A20 SoC 上的第二个 CPU 核心。(r263698)arrow-up-right

增加了对 Allwinner H3 SoC 的支持。(r299688)arrow-up-right

增加了对 X-Powers AXP813 和 AXP818 电源管理集成电路的支持。(r299786)arrow-up-right

增加了对 Allwinner Reduced Serial Bus (RSB) 的支持。(r299781)arrow-up-right

增加了对 Allwinner A20 HDMI 的支持。(r296064)arrow-up-right

增加了对 AXP209 电源管理集成电路上 GPIO、传感器和中断的支持。(r300777)arrow-up-right

默认启用 amd64、arm64 和 powerpc 的原生 PCIe 热插拔支持。此功能暴露了某些硬件上的兼容性问题,导致设备丢失或启动时挂起。为避免此类问题,请在引导加载器中运行 set hw.pci.enable_pcie_hp=0,并将 hw.pci.enable_pcie_hp=0 添加到 /boot/loader.conf 中。(r299142)arrow-up-right

存储

本节涉及了文件系统和其他存储子系统的变更和新增功能,包括本地存储和网络存储。

一般存储

ctl(4)arrow-up-right LUN 映射已被重写,替换了特定于 iSCSI 的映射机制,采用了适用于所有端口的新机制。(r278037)arrow-up-right(由 iXsystems 赞助)

ctld(8)arrow-up-right 工具已更新,允许控制非 iSCSI 的 ctl(4)arrow-up-right 端口。(r278354)arrow-up-right(由 iXsystems 赞助)

autofs(5)arrow-up-right 子系统已更新,包含了新的 auto_master(5)arrow-up-right 映射 -media,该映射允许自动挂载可移动媒体,如 CD 驱动器和 USB 闪存驱动器。(r275681)arrow-up-right(由 FreeBSD 基金会赞助)

autofs(5)arrow-up-right 子系统已更新,包含了新的 auto_master(5)arrow-up-right 映射 -noauto,用于处理 fstab(5)arrow-up-right 中设置为 noauto 的条目。(r279955)arrow-up-right(由 FreeBSD 基金会赞助)

GELI 类已更新,支持 BIO_DELETE g_bio(9)arrow-up-right bio_cmd 字段,提供对 GELI 支持的 SSD 存储提供商的 TRIM/UNMAP 支持。(r286444)arrow-up-right

camdd(8)arrow-up-right 工具已添加,允许将数据顺序地复制到和从 SCSI 设备、文件、块设备和磁带驱动器。如果源和/或目标是 SCSI 磁盘,camdd(8)arrow-up-right 可以使用异步的 pass(4)arrow-up-right 接口来排队多个 I/O,从而提高速度。(camdd(8)arrow-up-right 的 ATA 直通支持正在开发中。)(r291716)arrow-up-right(由 Spectra Logic 赞助)

pass(4)arrow-up-right SCSI/ATA 直通驱动程序现已具有异步接口。用户应用程序可以排队多个请求,通过 kqueue(2)arrow-up-right 获得完成通知,并稍后检索状态。camdd(8)arrow-up-right 是使用该接口的示例应用程序。(r291716)arrow-up-right(由 Spectra Logic 赞助)

已为 ctld(8)arrow-up-right 增加了对解析基于 libucl 的配置文件的支持。(r295212)arrow-up-right(由 iXsystems 赞助)

ahci(4)arrow-up-right 驱动程序已更新,增加了对支持 NCQ TRIM 的驱动器的支持。(r298002)arrow-up-right(由奈飞赞助)

注意

已将那些宣传支持此功能但未能正确支持的驱动器列入黑名单。遇到启用 NCQ TRIM 后流量问题的系统,可以将可调参数 kern.cam.ada.%d.quirks 设置为 2(适用于 512k 扇区)或 3(适用于 4096k 扇区),并将 %d 替换为驱动器编号。

cam(4)arrow-up-right 驱动程序已更新,允许根据工作负载和驱动器特性调优 I/O 调度。此选项默认为关闭,可以通过将 option CAM_IOSCHED_ADAPTIVE 选项添加到内核配置并重新编译内核来启用。(r298002)arrow-up-right(由奈飞赞助)

camcontrol(8)arrow-up-right 命令可以通过 reprobe 子命令手动强制更新在磁盘调整大小后更新容量数据。(r299371)arrow-up-right(由 FreeBSD 基金会赞助)

在填充 CAM 序列号时,SCSI 磁盘序列号的前导空格现已被去除。这影响了 diskinfo(8)arrow-up-right 的输出和 /dev/diskid/DISK-* 设备节点的名称等内容。(r300880)arrow-up-right(由 Spectra Logic 赞助)

增加了对管理 Shingled Magnetic Recording(SMR)驱动器的支持。(r300207)arrow-up-right(由 Spectra Logic 赞助)

网络存储

新增了文件系统自动挂载功能,autofs(5)arrow-up-right。该新功能类似于其他类 UNIX® 操作系统中的功能,如 OS X™ 和 Solaris™。此功能使用与 Sun™ 兼容的auto_master(5)arrow-up-right 配置文件,并通过 automount(8)arrow-up-right 用户空间工具、automountd(8)arrow-up-rightautounmountd(8)arrow-up-right 守护进程进行管理。 (r270096)arrow-up-right(由 FreeBSD 基金会赞助)

新增了对 mount_nfs(8)arrow-up-right 命令中选项 timeoactimeonoacproto 的支持。 (r273849)arrow-up-right(由 FreeBSD 基金会赞助)

导入了 Mellanox 实现的 iSER(iSCSI 扩展 RDMA)。(r300723)arrow-up-right

新增了在不附加到目标的情况下发现 iSCSI 目标的功能,支持在命令 iscsictl(8)arrow-up-right 中使用。(r301033)arrow-up-right(由 FreeBSD 基金会赞助)

ZFS

现在可以通过 sysctl(8)arrow-up-right kstat 查看 arc_meta_limit 统计信息。由于此变更,已移除 sysctl(8)arrow-up-right vfs.zfs.arc_meta_used,并替换为 sysctl(8)arrow-up-right kstat.zfs.misc.arcstats.arc_meta_used(r275748)arrow-up-right

已更新 zfs(8)arrow-up-rightl2arc 代码,在收集要写入 l2arc 设备的缓冲区时考虑了 ashift 值。 (r287099)arrow-up-right(由 ClusterHQ 赞助)

已向 rctl(8)arrow-up-right 添加四个新资源,允许对文件系统 I/O 设置限制。 (r297633)arrow-up-right(由 FreeBSD 基金会赞助)

已添加守护进程 zfsd,用于管理热备份和驱动槽中的替换,发布物理路径。 (r300906)arrow-up-right(由 iXsystems、Spectra Logic 赞助)

ZFS 自适应替换缓存的最小值和最大值可以在运行时修改。 (r302265)arrow-up-right(由 Multiplay 赞助)

已向 gpart(8)arrow-up-right 添加对 disklabel64 分区方案的支持。 (r267359)arrow-up-right

已向 gpart(8)arrow-up-right 添加对 apple-bootapple-hfsapple-ufs MBR 分区方案的支持。 (r282465)arrow-up-right

已更新 gpart(8)arrow-up-right 工具,新增了 GPT 分区的新属性 lenovofix,当设置时,能够解决在几款联想™笔记本上报告的 BIOS 兼容性问题。 (r285594)arrow-up-right(由 ScaleEngine, Inc. 赞助)

引导加载器变更

本节涉及了引导加载器、引导菜单和其他与引导相关的变更。

引导加载器变更

在 FreeBSD/amd64 平台上,启动时执行的内存测试已默认禁用。(r258431)arrow-up-right(由 FreeBSD 基金会赞助)

新增了 ttys(5)arrow-up-right 类,3wire。它类似于现有的终端类,但没有定义波特率。(r262955)arrow-up-right

驱动程序 vt(4)arrow-up-right 已成为默认的系统控制台驱动程序。syscons(4)arrow-up-right 驱动程序仍然可用,可以通过在 loader.conf(5)arrow-up-right 中添加 kern.vty=sc 来启用。或者,也可以通过在 loader(8)arrow-up-right 提示符下输入 set kern.vty=sc 来启用 syscons(4)arrow-up-right(r274085)arrow-up-right

EFI 加载器已增加对 bzipfs 的支持。(r279950)arrow-up-right

引导加载器已更新,以支持在加载内核之前输入 GELI 密码短语。要启用此行为,请在 loader.conf(5)arrow-up-right 中添加 geom_eli_passphrase_prompt="YES"(r281616)arrow-up-right

[arm] 更新了 FreeBSD/arm 的 ttys(5)arrow-up-right 文件,默认启用 ttyu1ttyu2ttyu3,如果来电端口是活动的控制台端口。(r284683)arrow-up-right(由 FreeBSD 基金会赞助)

模块的默认安装目录已变更为 /boot/modules(r299393)arrow-up-right

网络

本节介绍了影响 FreeBSD 网络的变更。

网络协议

已移除对 IPX 网络传输协议的支持,并且在 FreeBSD 11 及以后的版本中将不再支持。(r263140)arrow-up-right

已为 tcp(4)arrow-up-right 堆栈添加了对 PLPMTUD 黑洞检测(RFC 4821)的支持,默认情况下已禁用。新增的控制可调参数如下:(r272720)arrow-up-right(由 Limelight Networks 赞助)

可调项
描述

net.inet.tcp.pmtud_blackhole_detection

启用或禁用 PLPMTUD 黑洞检测

net.inet.tcp.pmtud_blackhole_mss

尝试的 IPv4 MSS

net.inet.tcp.v6pmtud_blackhole_mss

尝试的 IPv6 MSS

新增的监控 sysctl(8)arrow-up-right 参数如下:

可调项
描述

net.inet.tcp.pmtud_blackhole_activated

激活黑洞检测代码的次数,尝试降低 MSS

net.inet.tcp.pmtud_blackhole_min_activated

使用黑洞 MSS 尝试降低 MSS 的次数

net.inet.tcp.pmtud_blackhole_failed

在降低 MSS 后,黑洞未能连接的次数

已添加对原子数据报的 IP 标识支持(RFC 6864)。可以通过 sysctl(8)arrow-up-right net.inet.ip.rfc6864 启用或禁用此功能,默认启用。(r280971)arrow-up-right(由奈飞,Nginx,Inc.赞助)

IPSEC 已更新,以支持在软件和硬件支持的系统上使用 AES 模式(aesni(4)arrow-up-right)。(r285336)arrow-up-right(由 Netgate 赞助)

网络堆栈已更新,以修复 IPv6 On-Link 重定向的处理问题。(r287798)arrow-up-right(由 Dell,Inc.赞助)

已添加支持重新根目录到 NFSv4 卷的功能。(r299848)arrow-up-right(由 FreeBSD 基金会赞助)

sysctl net.inet.tcp.ecn.enable mib 已从二进制的开/关控制变更为三种设置模式。(r300240)arrow-up-right

描述

0

完全禁用 ECN。

1

如果传入连接请求 ECN,则启用 ECN;传出的连接将请求 ECN。

2

如果传入连接请求 ECN,则启用 ECN;传出的连接不会请求 ECN。

Dummynet AQM,作为 ipfw/dummynet 的独立实现,已被导入到基本系统中。(r300779)arrow-up-right

已移除未使用的 ioctl SIOCSIFALIFETIME_IN6(r301875)arrow-up-right

发布工程与集成

本节涉及 FreeBSD 发布工程过程中的特定变更。

集成变更

发布工程构建工具已更新,以支持为各种云托管提供商生成虚拟机磁盘映像。(r277458)arrow-up-right(由 FreeBSD 基金会赞助)

发布工程构建工具已更新,以使用多线程 xz(1)arrow-up-right。默认情况下,xz(1)arrow-up-right 线程数设置为可用核心数。(r278926)arrow-up-right

发布工程构建工具已更新,以支持构建 FreeBSD/arm64 虚拟机和 U 盘安装镜像。(r281802)arrow-up-right(由 FreeBSD 基金会赞助)

发布工程构建工具已更新,以支持为 FreeBSD/arm 平台构建镜像,无需外部实用工具,前提是支持的板卡在 Ports 中有相应的 u-boot Port。(r282693)arrow-up-right(由 FreeBSD 基金会赞助)

与 FreeBSD/amd64 镜像的创建方式一致,现在使用 mkimg(1)arrow-up-right 实用工具创建 FreeBSD/i386 U 盘安装镜像。(r283307)arrow-up-right(由 FreeBSD 基金会赞助)

最后更新于