# FreeBSD 10.3-RELEASE 发行说明（2016 年 4 月 4 日）

原文链接：[FreeBSD 10.3-RELEASE Release Notes](https://www.freebsd.org/releases/10.3R/relnotes/)

## 摘要

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

## 介绍

本文档包含了 FreeBSD 10.3-RELEASE 的发布说明。它介绍了 FreeBSD 中新添加、变更或删除的功能，并提供了有关从之前版本升级的说明。

这些发布说明适用于该版本 snapshot 分发，它表示 10.2-RELEASE 与未来的 10.4-RELEASE 之间的 10.3-STABLE 开发分支上的一个点。有关沿此分支的预构建二进制快照分发的信息，可以在 [https://www.FreeBSD.org/releases/](https://www.freebsd.org/releases/)上找到。

所有用户都应在安装 FreeBSD 之前查看发布错误报告。错误报告文档会随着“最后时刻”信息的发布而更新，这些信息通常是在发布周期的最后阶段或发布之后发现的。通常，它包含已知的错误、安全公告和文档的修正。可以在 FreeBSD 网站上找到 FreeBSD 10.3-RELEASE 的最新错误报告。

本文档介绍了自 10.2-RELEASE 以来，FreeBSD 中最具用户可见性的新增或变更功能。

典型的发布说明条目记录了自 10.2-RELEASE 以来发布的最新安全公告、新的驱动程序或硬件支持、新的命令/选项、重要的错误修复，或第三方的软件升级。它们还可能列出对主要 Port/软件包或发布工程实践的变更。显然，发布说明不能列出每个版本之间对 FreeBSD 所做的所有变更；本文档主要集中于安全公告、用户可见的变更和主要架构改进。

## 从旧版 FreeBSD 升级

\[amd64,i386] 可以使用 [freebsd-update(8)](http://www.freebsd.org/cgi/man.cgi?query=freebsd-update\&sektion=8) 工具进行版本之间的二进制升级（以及各种安全分支的快照）。二进制升级过程将更新未修改的用户空间工具，以及作为官方 FreeBSD 发布一部分分发的未修改的 `GENERIC` 内核。升级的主机需要有互联网连接才能使用 [freebsd-update(8)](http://www.freebsd.org/cgi/man.cgi?query=freebsd-update\&sektion=8) 工具。

从以前版本的源代码升级（基于从源代码重新编译 FreeBSD 基本系统）是支持的，具体说明请参见 `/usr/src/UPDATING`。

> **重要事项**
>
> 在进行 FreeBSD 升级之前，必须备份 **所有** 数据和配置文件。

## 安全性与勘误

本节列出了自 10.2-RELEASE 以来的各种安全公告和勘误通知。

### 安全公告

| 公告                                                                                                   | 日期               | 主题                                                                                         |
| ---------------------------------------------------------------------------------------------------- | ---------------- | ------------------------------------------------------------------------------------------ |
| [FreeBSD-SA-15:20.expat](https://www.freebsd.org/security/advisories/FreeBSD-SA-15:20.expat.asc)     | 2015 年 8 月 18 日  | 修复 [libbsdxml(3)](http://www.freebsd.org/cgi/man.cgi?query=libbsdxml\&sektion=3) 中的多个整数溢出。 |
| [FreeBSD-SA-15:22.openssh](https://www.freebsd.org/security/advisories/FreeBSD-SA-15:22.openssh.asc) | 2015 年 8 月 25 日  | 多个漏洞                                                                                       |
| [FreeBSD-SA-15:24.rpcbind](https://www.freebsd.org/security/advisories/FreeBSD-SA-15:24.rpcbind.asc) | 2015 年 9 月 29 日  | 远程拒绝服务                                                                                     |
| [FreeBSD-SA-15:25.ntp](https://www.freebsd.org/security/advisories/FreeBSD-SA-15:25.ntp.asc)         | 2015 年 10 月 26 日 | 多个漏洞                                                                                       |
| [FreeBSD-SA-15:26.openssl](https://www.freebsd.org/security/advisories/FreeBSD-SA-15:26.openssl.asc) | 2015 年 12 月 5 日  | 多个漏洞                                                                                       |
| [FreeBSD-SA-16:01.sctp](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:01.sctp.asc)       | 2016 年 1 月 14 日  | ICMPv6 错误消息漏洞                                                                              |
| [FreeBSD-SA-16:02.ntp](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:02.ntp.asc)         | 2016 年 1 月 14 日  | 紧急关闭阈值绕过漏洞                                                                                 |
| [FreeBSD-SA-16:03.linux](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:03.linux.asc)     | 2016 年 1 月 14 日  | 错误的 `futex` 处理                                                                             |
| [FreeBSD-SA-16:04.linux](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:04.linux.asc)     | 2016 年 1 月 14 日  | [setgroups(2)](http://www.freebsd.org/cgi/man.cgi?query=setgroups\&sektion=2) 系统调用漏洞       |
| [FreeBSD-SA-16:05.tcp](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:05.tcp.asc)         | 2016 年 1 月 14 日  | MD5 签名拒绝服务                                                                                 |
| [FreeBSD-SA-16:06.bsnmpd](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:06.bsnmpd.asc)   | 2016 年 1 月 14 日  | 不安全的默认配置文件权限                                                                               |
| [FreeBSD-SA-16:07.openssh](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:07.openssh.asc) | 2016 年 1 月 14 日  | OpenSSH 客户端信息泄露                                                                            |
| [FreeBSD-SA-16:09.ntp](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:09.ntp.asc)         | 2016 年 1 月 27 日  | 多个漏洞                                                                                       |
| [FreeBSD-SA-16:10.linux](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:10.linux.asc)     | 2016 年 1 月 27 日  | [issetugid(2)](http://www.freebsd.org/cgi/man.cgi?query=issetugid\&sektion=2) 系统调用漏洞       |
| [FreeBSD-SA-16:11.openssl](https://www.freebsd.org/security/advisories/FreeBSD-SA-16:11.openssl.asc) | 2016 年 1 月 30 日  | SSLv2 密码套件降级漏洞                                                                             |

### 勘误通知

| 勘误                                                                                                         | 日期              | 主题                                                                                                                                                                     |
| ---------------------------------------------------------------------------------------------------------- | --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [FreeBSD-EN-15:11.toolchain](https://www.freebsd.org/security/advisories/FreeBSD-EN-15:11.toolchain.asc)   | 2015 年 8 月 18 日 | 修复从 FreeBSD 9.x 及更早版本升级时 [make(1)](http://www.freebsd.org/cgi/man.cgi?query=make\&sektion=1) 语法错误。                                                                     |
| [FreeBSD-EN-15:12.netstat](https://www.freebsd.org/security/advisories/FreeBSD-EN-15:12.netstat.asc)       | 2015 年 8 月 18 日 | 修复 32 位系统上 [netstat(1)](http://www.freebsd.org/cgi/man.cgi?query=netstat\&sektion=1) 数据处理错误。                                                                           |
| [FreeBSD-EN-15:13.vidcontrol](https://www.freebsd.org/security/advisories/FreeBSD-EN-15:13.vidcontrol.asc) | 2015 年 8 月 18 日 | 允许为 [syscons(4)](http://www.freebsd.org/cgi/man.cgi?query=syscons\&sektion=4) 提供大小参数给 [vidcontrol(1)](http://www.freebsd.org/cgi/man.cgi?query=vidcontrol\&sektion=1)。 |
| [FreeBSD-EN-15:15.pkg](https://www.freebsd.org/security/advisories/FreeBSD-EN-15:15.pkg.asc)               | 2015 年 8 月 25 日 | 不足的 [pkg(7)](http://www.freebsd.org/cgi/man.cgi?query=pkg\&sektion=7) 签名方法检查。                                                                                          |
| [FreeBSD-EN-15:16.pw](https://www.freebsd.org/security/advisories/FreeBSD-EN-15:16.pw.asc)                 | 2015 年 9 月 16 日 | 修复创建数字用户或组时 [pw(8)](http://www.freebsd.org/cgi/man.cgi?query=pw\&sektion=8) 的回归问题。                                                                                     |
| [FreeBSD-EN-15:17.libc](https://www.freebsd.org/security/advisories/FreeBSD-EN-15:17.libc.asc)             | 2015 年 9 月 16 日 | 修复 libc 对多线程进程的信号处理。                                                                                                                                                   |
| [FreeBSD-EN-15:18.pkg](https://www.freebsd.org/security/advisories/FreeBSD-EN-15:18.pkg.asc)               | 2015 年 9 月 16 日 | 为 [pkg(7)](http://www.freebsd.org/cgi/man.cgi?query=pkg\&sektion=7) 启动实现 `pubkey` 支持。                                                                                  |
| [FreeBSD-EN-15:19.kqueue](https://www.freebsd.org/security/advisories/FreeBSD-EN-15:19.kqueue.asc)         | 2015 年 11 月 4 日 | 对于大于 2GB 的文件，[kqueue(2)](http://www.freebsd.org/cgi/man.cgi?query=kqueue\&sektion=2) 写入事件从不触发。                                                                         |
| [FreeBSD-EN-15:20.vm](https://www.freebsd.org/security/advisories/FreeBSD-EN-15:20.vm.asc)                 | 2015 年 11 月 4 日 | 应用程序因在正确内存地址上的段错误而退出。                                                                                                                                                  |
| [FreeBSD-EN-16:01.filemon](https://www.freebsd.org/security/advisories/FreeBSD-EN-16:01.filemon.asc)       | 2016 年 1 月 14 日 | bmake 和 [filemon(4)](http://www.freebsd.org/cgi/man.cgi?query=filemon\&sektion=4) 稳定性问题。                                                                               |
| [FreeBSD-EN-16:02.pf](https://www.freebsd.org/security/advisories/FreeBSD-EN-16:02.pf.asc)                 | 2016 年 1 月 14 日 | 无效的 TCP 校验和问题。                                                                                                                                                         |
| [FreeBSD-EN-16:03.yplib](https://www.freebsd.org/security/advisories/FreeBSD-EN-16:03.yplib.asc)           | 2016 年 1 月 14 日 | YP/NIS 库错误。                                                                                                                                                            |

## 用户空间

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

### 用户空间应用程序变更

[ar(1)](http://www.freebsd.org/cgi/man.cgi?query=ar\&sektion=1) 工具现在支持 `-D` 参数，以防止插入真实的 mtime、uid、gid 和文件模式值。这被称为“确定性模式”，有助于使生成的归档文件可重现。此行为默认为启用，可以通过指定 `-U` 参数来禁用。[（r287326,288202）](http://svn.freebsd.org/viewvc/base?view=revision\&revision=287326,288202)（由 FreeBSD 基金会赞助）

[camcontrol(8)](http://www.freebsd.org/cgi/man.cgi?query=camcontrol\&sektion=8) 的 `fwdownload` 子命令已得到改进。变更包括对 SATA 驱动器的更好支持，向 IBM LTO 驱动器下载固件，`-q` 参数用于抑制信息输出，以及 `opcodes` 子命令用于执行 `REPORT SUPPORTED OPCODES` 服务操作。[（r286965）](http://svn.freebsd.org/viewvc/base?view=revision\&revision=286965)

[cp(1)](http://www.freebsd.org/cgi/man.cgi?query=cp\&sektion=1) 工具已更新，新增了 `-s` 参数，用于创建指向指定源的符号链接。[（r291774）](http://svn.freebsd.org/viewvc/base?view=revision\&revision=291774)

修复了 [ctladm(8)](http://www.freebsd.org/cgi/man.cgi?query=ctladm\&sektion=8) 工具中的一个错误，即即使操作成功，它仍可能返回非零值。[（r285929）](http://svn.freebsd.org/viewvc/base?view=revision\&revision=285929)

修复了 [grdc(6)](http://www.freebsd.org/cgi/man.cgi?query=grdc\&sektion=6) 程序中的一个错误，该错误导致 12 小时模式下显示不正确。[（r288185）](http://svn.freebsd.org/viewvc/base?view=revision\&revision=288185)

[ifconfig(8)](http://www.freebsd.org/cgi/man.cgi?query=ifconfig\&sektion=8) 工具现在在指定 `-v` 参数并且 NIC 驱动程序提供时，会报告 SFP/SFP+ 数据。[（r286810）](http://svn.freebsd.org/viewvc/base?view=revision\&revision=286810)（由 Yandex LLC 赞助）

修复了守护进程 [inetd(8)](http://www.freebsd.org/cgi/man.cgi?query=inetd\&sektion=8) 中的错误，该错误会在定义了 RPC 条目并且在 `-a` 参数中指定了 IPv6 地址时导致崩溃。[（r288048）](http://svn.freebsd.org/viewvc/base?view=revision\&revision=288048)

[jail(8)](http://www.freebsd.org/cgi/man.cgi?query=jail\&sektion=8) 工具已更新，新增了 `-l` 参数，可确保在使用时目标 Jail 环境干净。此外，[jail(8)](http://www.freebsd.org/cgi/man.cgi?query=jail\&sektion=8) 会在运行时在目标 Jail 内启动一个 shell，如果未指定命令。[（r286064）](http://svn.freebsd.org/viewvc/base?view=revision\&revision=286064)

[last(1)](http://www.freebsd.org/cgi/man.cgi?query=last\&sektion=1) 工具现在支持 `reboot` 作为伪用户名，打印所有系统重启条目（`SHUTDOWN_TIME` 和 `BOOT_TIME` 记录）。此功能在 FreeBSD 9.0 中被错误地删除。[（r286952）](http://svn.freebsd.org/viewvc/base?view=revision\&revision=286952)

[mv(1)](http://www.freebsd.org/cgi/man.cgi?query=mv\&sektion=1) 工具现在在指定多个参数且目标不是有效目录时返回 `1`，而不是 `64`。[（r287027）](http://svn.freebsd.org/viewvc/base?view=revision\&revision=287027)

[mkimg(1)](http://www.freebsd.org/cgi/man.cgi?query=mkimg\&sektion=1) 工具已更新，支持在 MBR 和 GPT 分区方案中使用 `NTFS` 文件系统。[（r287122）](http://svn.freebsd.org/viewvc/base?view=revision\&revision=287122)

修复了 [mkimg(1)](http://www.freebsd.org/cgi/man.cgi?query=mkimg\&sektion=1) 工具中的一个错误，该错误导致动态 VHD 格式无法与 QEMU 一起使用。[（r287122）](http://svn.freebsd.org/viewvc/base?view=revision\&revision=287122)

修复了 [netstat(1)](http://www.freebsd.org/cgi/man.cgi?query=netstat\&sektion=1) 工具中的一个错误，该错误导致统计信息以每 1024 个包而非 1000 个包显示。[（r287593）](http://svn.freebsd.org/viewvc/base?view=revision\&revision=287593)

[pciconf(8)](http://www.freebsd.org/cgi/man.cgi?query=pciconf\&sektion=8) 工具已更新，在存在时将使用来自 `misc/pciids` 包的 PCI ID 数据库，若不存在则回退到 FreeBSD 基本系统中的 PCI ID 数据库。[（r287746）](http://svn.freebsd.org/viewvc/base?view=revision\&revision=287746)

新增了工具 [sesutil(8)](http://www.freebsd.org/cgi/man.cgi?query=sesutil\&sektion=8)，用于管理 [ses(4)](http://www.freebsd.org/cgi/man.cgi?query=ses\&sektion=4) 设备。[（r288710）](http://svn.freebsd.org/viewvc/base?view=revision\&revision=288710)（由 Gandi.net 赞助）

在 [nfsuserd(8)](http://www.freebsd.org/cgi/man.cgi?query=nfsuserd\&sektion=8) 中新增了对 `-manage-gids` 参数的支持。此选项可以通过设置 [rc.conf(5)](http://www.freebsd.org/cgi/man.cgi?query=rc.conf\&sektion=5) 变量 `nfs_server_managegids` 为 `YES` 在启动时启用。[（r292231）](http://svn.freebsd.org/viewvc/base?view=revision\&revision=292231)

[pkill(1)](http://www.freebsd.org/cgi/man.cgi?query=pkill\&sektion=1) 工具现在在 `-j` 选项中支持 [jail(2)](http://www.freebsd.org/cgi/man.cgi?query=jail\&sektion=2) 名称，除了支持 [jail(2)](http://www.freebsd.org/cgi/man.cgi?query=jail\&sektion=2) ID。[（r287269）](http://svn.freebsd.org/viewvc/base?view=revision\&revision=287269)

[pw(8)](http://www.freebsd.org/cgi/man.cgi?query=pw\&sektion=8) 工具的子命令 `userdel` 和 `usermod` 现在支持 `-y` 参数。[（r287084）](http://svn.freebsd.org/viewvc/base?view=revision\&revision=287084)

解析库已更新，如果 `/etc/resolv.conf` 的修改时间发生变化，则会重新加载该文件。[（r292462）](http://svn.freebsd.org/viewvc/base?view=revision\&revision=292462)（由戴尔公司赞助）

新增了 "reroot" 支持的初步实现，添加到 [reboot(8)](http://www.freebsd.org/cgi/man.cgi?query=reboot\&sektion=8) 工具中，允许从临时源文件系统挂载根文件系统，而无需完全重启系统。[（r293744）](http://svn.freebsd.org/viewvc/base?view=revision\&revision=293744)（由 FreeBSD 基金会赞助）

新增了 [timeout(1)](http://www.freebsd.org/cgi/man.cgi?query=timeout\&sektion=1) 工具。此工具在指定时间限制内运行命令，并与 GNU `timeout` 兼容。[（r287392）](http://svn.freebsd.org/viewvc/base?view=revision\&revision=287392)

[watchdogd(8)](http://www.freebsd.org/cgi/man.cgi?query=watchdogd\&sektion=8) 守护进程现在支持选项 `-x exit_timeout`，用于指定程序退出时应保留的超时时间。[（r287080）](http://svn.freebsd.org/viewvc/base?view=revision\&revision=287080)

[ypinit(8)](http://www.freebsd.org/cgi/man.cgi?query=ypinit\&sektion=8) 脚本现在支持 NIS 映射文件 `eui64`。[（r287375）](http://svn.freebsd.org/viewvc/base?view=revision\&revision=287375)

### 第三方软件

已修复 [libarchive(3)](http://www.freebsd.org/cgi/man.cgi?query=libarchive\&sektion=3) 库中的一个错误，该错误可能在处理 tar 文件中的稀疏文件条目时报告错误，修复方法是导入变更集 `bf4f6ec64e`。[(r286082)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=286082)

时区数据库已更新至版本 `2015f`。[(r286751)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=286751)

[文件工具 (file)](http://www.freebsd.org/cgi/man.cgi?query=file\&sektion=1)已更新至版本 5.25。[(r290152)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=290152)

[xz(1)](http://www.freebsd.org/cgi/man.cgi?query=xz\&sektion=1) 工具已更新至版本 5.2.2，提供了对多线程压缩的支持。[(r292588)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=292588)

[ntpd(8)](http://www.freebsd.org/cgi/man.cgi?query=ntpd\&sektion=8) 工具已更新至版本 4.2.8p5。[(r293650)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=293650)

[unbound(8)](http://www.freebsd.org/cgi/man.cgi?query=unbound\&sektion=8) 工具已更新至版本 1.5.7。[(r294190)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=294190)

[less(1)](http://www.freebsd.org/cgi/man.cgi?query=less\&sektion=1) 工具已更新至版本 v481。[(r294286)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=294286)

已从基本系统中移除 `unbound-control-setup` 脚本。[(r295690)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=295690)

[unbound(8)](http://www.freebsd.org/cgi/man.cgi?query=unbound\&sektion=8) 工具已更新，启用选项 `insecure-lan-zones`，而不是单独列出每个 AS112 区域。[(r295691)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=295691)

OpenSSL 套件已更新至版本 1.0.1s。[(r296317)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=296317)

OpenSSH 套件已更新至版本 7.2p2。[(r296853)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=296853)

### 安装与配置工具

[bsdinstall(8)](http://www.freebsd.org/cgi/man.cgi?query=bsdinstall\&sektion=8) 工具已更新，支持在基于 EFI 的系统上安装 ZFS。[(r295264)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=295264)（由 ScaleEngine, Inc. 提供赞助）

### `/etc/rc.d` 脚本

`rc.d/netwait` 脚本已更新，能够等待在启动过程中较晚附加的网络接口，如某些 USB 网卡。[(r294680)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=294680)

使用 `firewall_type="SIMPLE"` 设置的防火墙规则，现在使用 [ipfw(4)](http://www.freebsd.org/cgi/man.cgi?query=ipfw\&sektion=4) `tables` 来阻止地址。[(r287091)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=287091)

脚本 `rc.d/netif` 现在只在指定接口时更新静态路由。[(r287737)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=287737)

## 内核

本节涉及内核配置、系统调优以及未归类的系统控制参数的变更。

[vt(4)](http://www.freebsd.org/cgi/man.cgi?query=vt\&sektion=4) 终端控制台驱动程序现在支持 sysctl 变量 `ALT_BREAK_TO_DEBUGGER` 和 `debug.kdb.alt_break_to_debugger`，当内核调试器支持（`options KDB`）启用时。[(r286742)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=286742)

[vt(4)](http://www.freebsd.org/cgi/man.cgi?query=vt\&sektion=4) 终端控制台驱动程序现在支持 sysctl 变量 `kern.vt.bell_enable`，用于启用或禁用终端铃声，默认值为 `1`（启用）。[(r287782)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=287782)

已添加函数 `thread_create()` 作为 API，用于在内核空间中创建用户空间线程。[(r286843)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=286843)

### 内核错误修复

[kqueue(2)](http://www.freebsd.org/cgi/man.cgi?query=kqueue\&sektion=2) 系统调用已更新，以处理写入大于 2GB 的文件的事件。 [(r288167)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=288167)（由 Multiplay 提供赞助）

### 内核配置

\[amd64, i386] 已从 `GENERIC` 内核中移除 [pms(4)](http://www.freebsd.org/cgi/man.cgi?query=pms\&sektion=4) 驱动。 [(r286132)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=286132)（由 FreeBSD 基金会提供赞助）

### 系统调优与控制

新增了 [sysctl(3)](http://www.freebsd.org/cgi/man.cgi?query=sysctl\&sektion=3) 变量 `kern.features.invariants`，用于显示内核是否以 `INVARIANTS` 编译。 [(r287438)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=287438)

已修复一个可能导致加载器可调变量 `kern.racct.enable` 无法正常工作的错误。 [(r286322)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=286322)（由 FreeBSD 基金会提供赞助）

## 设备与驱动

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

### 设备驱动

[puc(4)](http://www.freebsd.org/cgi/man.cgi?query=puc\&sektion=4) 驱动现在支持 MSI 中断，并优先使用它而非传统中断。可以通过设置加载器可调变量 `hw.puc.msi_disable` 禁用此行为。 [(r287926)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=287926)

已修复 [uart(4)](http://www.freebsd.org/cgi/man.cgi?query=uart\&sektion=4) 驱动中的一个错误，该错误可能导致 PPS（每秒脉冲）捕获事件的极性反转。正向 PPS 脉冲的尾部和下一个脉冲的前沿分别被用作“断言”和“清除”事件。 [(r287037)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=287037)

[uart(4)](http://www.freebsd.org/cgi/man.cgi?query=uart\&sektion=4) 驱动现在支持通过 sysctl 变量 `dev.uart.pps_mode` 和 `dev.uart.0.pps_mode` 进行的 PPS 信号源的运行时配置。`0`、`1` 和 `2` 分别对应禁用、在 CTS 线路上捕获脉冲和在 DCD 线路上捕获脉冲。默认值为 `2`。 [(r287037)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=287037)

[uftdi(4)](http://www.freebsd.org/cgi/man.cgi?query=uftdi\&sektion=4) 驱动现在支持 [ioctl(2)](http://www.freebsd.org/cgi/man.cgi?query=ioctl\&sektion=2) 来读取/写入附加到控制器芯片的串行 EEPROM。 [(r287035)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=287035)`UFTDIIOC_READ_EEPROM`、`UFTDIIOC_WRITE_EEPROM` 和 `UFTDIIOC_ERASE_EEPROM`

### 存储驱动

为了支持新的驱动程序，已移除旧版的 [ata(4)](http://www.freebsd.org/cgi/man.cgi?query=ata\&sektion=4) 驱动，如 `ataahci`、`ataadaptec` 和 `mv_sata`，并支持如 [ahci(4)](http://www.freebsd.org/cgi/man.cgi?query=ahci\&sektion=4)、[siis(4)](http://www.freebsd.org/cgi/man.cgi?query=siis\&sektion=4) 和 [mvs(4)](http://www.freebsd.org/cgi/man.cgi?query=mvs\&sektion=4) 等新驱动程序。 [(r280451)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=280451)

CTL 高可用性实现已重写。 [(r288732)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=288732)（由 iXsystems 提供赞助）

[ctl(4)](http://www.freebsd.org/cgi/man.cgi?query=ctl\&sektion=4) 驱动已更新，支持光盘和可移动设备。 [(r288810)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=288810)

[isp(4)](http://www.freebsd.org/cgi/man.cgi?query=isp\&sektion=4) 驱动已更新和改进：添加对 16Gbps FC 卡的支持、改进了目标模式支持，完成了多 ID（NPIV）功能。 （由 iXsystems 提供赞助）

### 网络驱动

[ixgbe(4)](http://www.freebsd.org/cgi/man.cgi?query=ixgbe\&sektion=4) 驱动已更新至版本 3.1.13-k。 [(r295524)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=295524)（由 Limelight Networks 和英特尔公司提供赞助）

与 [cxgbe(4)](http://www.freebsd.org/cgi/man.cgi?query=cxgbe\&sektion=4) 驱动绑定的 T4 和 T5 型号固件已更新至版本 1.14.4.0。 [(r286895)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=286895)

## 硬件支持

本节涉及了物理机器、虚拟化环境和虚拟机监控程序的通用硬件支持，以及不适合归入其他部分的硬件变更和更新。

### 硬件支持

[ismt(4)](http://www.freebsd.org/cgi/man.cgi?query=ismt\&sektion=4) 驱动已添加，支持最新的 Intel® SMBus 2.0 控制器。 [(r293675)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=293675)

### 虚拟化支持

[xen(4)](http://www.freebsd.org/cgi/man.cgi?query=xen\&sektion=4) 驱动已更新，支持 `blkif` 间接段 I/O。 [(r287802)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=287802)

## 存储

本节涉及了文件系统和其他存储子系统（本地和网络）的变更和新增内容。

### ZFS

[zfs(8)](http://www.freebsd.org/cgi/man.cgi?query=zfs\&sektion=8) `l2arc` 代码已更新，以便在收集写入到 `l2arc` 设备的缓冲区时考虑 `ashift`。 [(r287665)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=287665)（由 ClusterHQ 提供赞助）

## 引导加载器变更

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

### 引导加载器变更

已为基于 UEFI 的系统添加初始终端仿真支持到 `loader.efi`。 [(r294445)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=294445)

EFI 实现已添加初始 ZFS 引导支持。 [(r294999)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=294999)（由 Multiplay 提供赞助）

UEFI 引导加载器已更新，以支持多个 ZFS 引导环境，例如 `sysutils/beadm` 提供的环境。 [(r295475)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=295475)（由 ScaleEngine, Inc. 提供赞助）

### 引导菜单变更

已更新 UEFI 引导菜单，启用了类似传统 [sc(4)](http://www.freebsd.org/cgi/man.cgi?query=sc\&sektion=4) 引导菜单的 `Beastie` 菜单。 [(r294446)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=294446)

## 网络

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

[epair(4)](http://www.freebsd.org/cgi/man.cgi?query=epair\&sektion=4) 虚拟以太网接口和 [lagg(4)](http://www.freebsd.org/cgi/man.cgi?query=lagg\&sektion=4) 虚拟接口现在支持 `VIMAGE` 内核。 [(r287594,287723)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=287594,287723)

[epair(4)](http://www.freebsd.org/cgi/man.cgi?query=epair\&sektion=4) 虚拟以太网接口中的一个 bug，可能导致在快速运行 [ifconfig(8)](http://www.freebsd.org/cgi/man.cgi?query=ifconfig\&sektion=8) `create` 和 `destroy` 时出现内核 panic，现已修复。 [(r287594)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=287594)

[sysctl(3)](http://www.freebsd.org/cgi/man.cgi?query=sysctl\&sektion=3) 中 [lagg(4)](http://www.freebsd.org/cgi/man.cgi?query=lagg\&sektion=4) 虚拟接口的 `net.link.lagg.N` 变量已被移除，取而代之的是每接口的 `ifconfig(8)` 参数和选项。`ifconfig -v` 命令显示它们。 [(r287723)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=287723)

已修复 [lagg(4)](http://www.freebsd.org/cgi/man.cgi?query=lagg\&sektion=4) 虚拟接口中的 bug，该 bug 可能导致系统 panic。 [(r287723)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=287723)

在 [pf(4)](http://www.freebsd.org/cgi/man.cgi?query=pf\&sektion=4) 包过滤器中的一个 bug，可能导致没有 `log` 参数的规则记录匹配的包，现已修复。 [(r286125)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=286125)（由 Netgate 提供赞助）

FreeBSD IPv6 栈中的一个 bug，未在从链路级地址表中删除 L2 地址时触发 `LLENTRY_DELETED` 事件，现已修复。 [(r286316)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=286316)

已移除 FreeBSD IPv6 栈中的过时 API，`SIOCGDRLST_IN6` 和 `SIOCGPRLST_IN6`。 [(r287733)](http://svn.freebsd.org/viewvc/base?view=revision\&revision=287733)
