# FreeBSD 2012 年第四季度状态报告

### FreeBSD 2012 年第四季度状态报告

* 原文链接：<https://www.freebsd.org/status/report-2012-10-2012-12.html>

### 介绍

本报告涵盖了 2012 年 10 月至 12 月期间与 FreeBSD 相关的项目。这是 2012 年计划的四个报告中的最后一个。

本状态报告的亮点包括在波兰华沙举办的非常成功的 EuroBSDCon 2012 大会及随后的 FreeBSD 开发者峰会。其他亮点包括多个与 FreeBSD 移植到 ARM 架构相关的项目，扩展对平台、开发板和 CPU 的支持，pf(4) 防火墙性能的改进，以及新的本地 iSCSI 目标。

感谢所有报告者的出色工作！本报告包含 27 项条目，希望你享受阅读。

提交 2013 年 1 月至 3 月期间报告的截止日期为 2013 年 4 月 21 日。

### [项目](https://www.freebsd.org/status/report-2012-10-2012-12.html#Projects)

#### [BHyVe](https://www.freebsd.org/status/report-2012-10-2012-12.html#BHyVe)

| 链接                               |
| -------------------------------- |
| <https://wiki.freebsd.org/BHyVe> |
| <http://www.bhyve.org/>          |

联系方式：Neel Natu <<neel@FreeBSD.org>>\
联系方式：Peter Grehan <<grehan@FreeBSD.org>>

BHyVe 是一个为支持 Intel VT-x 和 EPT CPU 的 FreeBSD/amd64 主机提供的类型 2 虚拟机管理程序。bhyve 项目分支于 1 月 18 日合并到 CURRENT 中。当前正在对性能、易用性、AMD SVM 支持以及能够运行非 FreeBSD 操作系统方面进行改进。

**待办任务**

1. 启动 Linux/\*BSD/Windows
2. 将代码库迁移到更模块化的设计，包含一个小型基础部分和可加载模块
3. 各种虚拟机管理程序功能，如暂停/恢复/实时迁移/稀疏磁盘支持

#### [本地 iSCSI 目标](https://www.freebsd.org/status/report-2012-10-2012-12.html#Native-iSCSI-Target)

联系方式：Edward Tomasz Napierała <<trasz@FreeBSD.org>>

在 10 月至 12 月期间，本地 iSCSI 目标项目已进展到工作原型阶段。大部分时间用于编写基于内核的部分，即 iSCSI 前端，连接到 CAM 目标层。前端在 ctld(8) 交接连接后处理 iSCSI 完整功能阶段。ctld(8) 中的 istgt 派生代码已从头重写，现在代码更简短且更易读。ctladm(8) 工具新增了 iSCSI 特定的子命令，用于处理任务，如列出 iSCSI 会话或强制断开连接。该目标与 FreeBSD 启动器的兼容性良好。

#### [NFS 版本 4](https://www.freebsd.org/status/report-2012-10-2012-12.html#NFS-Version-4)

联系方式：Rick Macklem <<rmacklem@FreeBSD.org>>

NFSv4.1 客户端，包括仅支持 pNFS 文件布局的功能，现已提交至 head/current。NFSv4.1 服务器支持的工作刚刚开始，预计在今年夏天能准备好提交到 head/current。客户端对委派文件的磁盘缓存正在进展，相关代码在 subversion 仓库中的 projects/nfsv4-packrats 分支下。某人正在处理服务器端的转发问题，因此，我希望这也能进入 10.0 版本。

#### [pxe\_http — 从 Apache 启动 FreeBSD](https://www.freebsd.org/status/report-2012-10-2012-12.html#pxe_http-booting-FreeBSD-from-apache)

| 链接                                                                      |
| ----------------------------------------------------------------------- |
| [项目的 svn 仓库](http://svnweb.freebsd.org/base/user/sbruno/pxe_http_head/) |

联系方式：Sean Bruno <<sbruno@FreeBSD.org>>

当前与 VirtualBox 虚拟机和 Apache 2.2 Port 兼容。

**待办任务**

1. 在 clang 和 gcc 下存在大量编译警告，需进行调查。
2. 更好地支持其他 Web 服务器。目前需要 Apache 才能工作。
3. 需要进一步完善基本文档。当前文档实际上来自原始文档，已相当完善。
4. 网络栈需要审计。我不确定 HTTP/TCP/UDP/IP 代码是原创的还是基于其他代码的。

#### [UEFI](https://www.freebsd.org/status/report-2012-10-2012-12.html#UEFI)

| 链接                                              |
| ----------------------------------------------- |
| <https://wiki.freebsd.org/UEFI>                 |
| <http://svnweb.freebsd.org/base/projects/uefi/> |

联系方式：Benno Rice <<benno@FreeBSD.org>>

在 projects/uefi 分支中有代码可以为 UEFI 构建一个工作中的 64 位加载器。这个加载器可以加载内核并在系统内存小于等于 1GB 时启动到 mountroot 提示符。尚未测试完整的多用户模式。工作正在推进，以便实现一个工作中的 syscons。尚未找到阻止在超过 1GB 内存系统上启动的问题。可以使用树内工具生成兼容 UEFI 的启动介质，但在检测 CD 文件系统并将其作为默认加载介质时存在问题。64 位 UEFI 加载器可以加载 32 位内核，但由于缺少切换到 32 位模式的代码，当前无法将控制权交给它。进一步的研究还需要集中在安全启动上。

#### [无特权安装和镜像创建](https://www.freebsd.org/status/report-2012-10-2012-12.html#Unprivileged-install-and-image-creation)

链接

联系方式：Brooks Davis <<brooks@FreeBSD.org>>

为了简化构建发行版和嵌入式系统磁盘镜像的过程，我添加了基础设施以便在没有 root 权限的情况下进行 FreeBSD 构建过程中的安装和打包阶段。为此，我向顶层构建系统添加了两个选项：-DDB\_FROM\_SRC 选项允许在所需的 passwd 和 group 条目与主机系统不匹配时继续安装。-DNO\_ROOT 选项使文件以运行用户身份安装，并将所有者、组、suid 位和文件标志等元数据记录在 ${DESTDIR}/METALOG 文件中。

这项工作需要导入 NetBSD 的 mtree 并将 NetBSD 的一些功能添加到 install 中。我已将所有 FreeBSD 功能添加到 NetBSD 的 mtree 中并将其作为 nmtree 导入。在 FreeBSD 10.0 发布之前，我将替换我们的版本。我还添加了所有必需的功能到 install 中。为了解析 METALOG 文件的内容，还需要对 makefs 进行修改。

这些新功能需要从 NetBSD 导入新的 pwcache(3) 和 vis(3) API，以便 libc 中的相关部分能正常工作。

除了修改构建基础设施以使用 mtree 和 install 的新功能外，我还修正了许多文件被非 install 程序安装或被安装多次的情况。输出中还存在一些已知的重复目录实例，但在某些情况下结果是可以使用的。

我计划将这些更改 MFC 到 stable/8 分支，以便可以在没有 root 权限的情况下构建所有支持的发行版。

这项工作得到了 DARPA 和 AFRL 的资助。

**待办任务**

1. 向 `src/release/Makefile` 中添加对 -DNO\_ROOT 的支持，以便能够在没有 root 权限的情况下构建发行版。
2. 创建一个工具，用于在没有 mdctl、gpart 和 dd 的情况下，在磁盘镜像文件中安装分区表和文件系统镜像。

### [用户空间程序](https://www.freebsd.org/status/report-2012-10-2012-12.html#Userland-Programs)

#### [BSD 许可的 patch(1)](https://www.freebsd.org/status/report-2012-10-2012-12.html#BSD-licenced-patch\(1\))

| 链接                                                        |
| --------------------------------------------------------- |
| [BSD patch 的主页（已弃用）](http://code.google.com/p/bsd-patch/) |

联系方式：Pedro Giffuni <<pfg@FreeBSD.org>>\
联系方式：Gabor Kovesdan <<gabor@FreeBSD.org>>\
联系方式：李鑫 <<delphij@FreeBSD.org>>

FreeBSD 已经使用了一个相当旧的 GNU patch 版本，该版本部分受 GPLv2 许可。原始的 GNU patch 工具基于 Larry Wall 的初始实现，而该实现实际上并没有采用 copyleft 许可。OpenBSD 对一个较旧的非 copyleft 版本的 patch 做了许多增强，这个版本后来被 DragonFlyBSD 和 NetBSD 采纳并进一步改进，但该工具没有统一的开发，FreeBSD 独立继续工作。在不到一周的时间里，我们从 DragonFlyBSD 获取了该版本，并调整了 FreeBSD 的增强，使其更接近 FreeBSD 原生使用的版本。大部分工作由 Pedro Giffuni 完成，适配了来自 sepotvin@ 和 ed@ 的补丁，Christoph Mallon、Gabor Kovesdan 和 李鑫 也做出了额外贡献。通过这项工作，我们现在在 head/usr.bin/patch 中有了一个新的 patch 版本，你可以通过在构建时使用 WITH\_BSD\_PATCH 来尝试。新的 patch(1) 不支持 FreeBSD 特有的 -I 和 -S 选项，因为这些选项似乎并不必要。在 GNU patch 中，-I 实际上意味着“忽略空白”，我们现在也支持这一功能。

**待办任务**

1. 测试。需要进行更多的测试。

#### [bsdconfig(8)](https://www.freebsd.org/status/report-2012-10-2012-12.html#bsdconfig\(8\))

| 链接                                                             |
| -------------------------------------------------------------- |
| [开发树](http://svnweb.freebsd.org/base/head/usr.sbin/bsdconfig/) |
| [Ports](http://freshports.org/sysutils/bsdconfig/)             |
| [开发仓库](http://druidbsd.sf.net/download/bsdconfig/)             |

联系方式：Devin Teske <<dteske@FreeBSD.org>>

bsdconfig(8) 正在 HEAD 中积极开发，要求使用 WITH\_BSDCONFIG 构建选项。我们偶尔会创建快照，并通过 Port 系统提供，使得在 9.0-RELEASE 或更高版本上的测试更为便捷。目前 HEAD 版本远远超出了 Port 中 0.7.3 的版本。即将发布的更改将把版本推升到 0.8，加入了深入的软件包管理和分发维护所需的框架（也就是更接近完整的 1.0 发布）。

### [FreeBSD 团队报告](https://www.freebsd.org/status/report-2012-10-2012-12.html#FreeBSD-Team-Reports)

#### [FreeBSD 核心团队](https://www.freebsd.org/status/report-2012-10-2012-12.html#FreeBSD-Core-Team)

联系方式：核心团队 <<core@FreeBSD.org>>

在第四季度，核心团队授予了 7 名新提交者访问权限，并为 1 名提交者保管了提交权限。

核心团队监督了与安全团队、Ports 管理人员和集群管理员合作响应 11 月的安全事件。有关后果和响应的更多信息，请参见 [官方公告](http://www.freebsd.org/news/2012-compromise.html)。因此，9.1-RELEASE 推迟到 12 月下旬发布，并且发布时只提供了有限的一组二进制包。核心团队继续与开发人员合作，重建、审核并恢复包构建基础设施，配合 redports/QAT。

#### [FreeBSD 文档工程](https://www.freebsd.org/status/report-2012-10-2012-12.html#FreeBSD-Documentation-Engineering)

| 链接                                                      |
| ------------------------------------------------------- |
| [文档工程团队章程](http://www.freebsd.org/internal/doceng.html) |

联系方式：Glen Barber <<gjb@FreeBSD.org>>\
联系方式：Marc Fonvieille <<blackend@FreeBSD.org>>\
联系方式：Gábor Kávesdán <<gabor@FreeBSD.org>>\
联系方式：佐藤広生 <<hrs@FreeBSD.org>>

文档库中的 translations/、projects/ 和 user/ 目录已经根据公告的政策开放。这些分支现已用于翻译工作、编辑即将发布的手册的打印版，以及一些文档基础设施的改进。

基础设施改进的下一个阶段正在进行中。它将迁移到真正的 XML 工具（Jade 除外）进行验证和渲染。同时，DocBook 架构将更新到 4.5 版本。

经过长时间的讨论，Google Analytics 已在 FreeBSD.org 网站启用，但访问统计数据需要通过文档工程团队单独申请。

自 7 月以来，我们已添加了两名文档提交者和一名翻译人员。

**待办任务**

1. 协助进行手册打印版的持续工作。
2. 完成迁移到 XML 工具的工作。

#### [FreeBSD 基金会](https://www.freebsd.org/status/report-2012-10-2012-12.html#FreeBSD-Foundation)

联系方式：Deb Goodkin <<deb@FreeBSDFoundation.org>>

我们通过强劲的年终 [筹款活动](http://www.freebsdfoundation.org/announcements.shtml#fundraising) 在 2012 年筹集了 77 万美元。感谢所有为支持 FreeBSD 做出捐款的人！

我们发布了 [年终通讯](http://www.freebsdfoundation.org/press/2012Dec-newsletter.shtml)，概述了我们在下半年所做的所有支持 FreeBSD 项目和社区的工作。

我们是 EuroBSDCon 的黄金赞助商。我们还参加了大会和开发者峰会。Erwin Lansing 组织并主持了 EuroBSDCon 2012 的 Port 和包裹峰会以及厂商峰会。我们参加了 2012 年 11 月的 MeetBSD 开发者峰会。

George Neville-Neil 组织并由基金会赞助了 2012 年 11 月的湾区厂商峰会。我们在 LISA 上有所代表。

Kirk McKusick 在 EuroBSDCon 2012 上举办了教程并发表了主旨演讲，Justin Gibbs 在 2012 年 10 月的 ZFS Day 上做了演讲。

我们与 DNS 服务器软件厂商进行了对话，并参与了关于我们 DNS 实现的讨论，特别是在 DNSSEC 验证方面，在 2012 年 9 月的 CENTR Tech（荷兰阿姆斯特丹）和 EuroBSDCon 上进行了讨论。

我们拜访了多家公司，讨论它们如何使用 FreeBSD，并帮助促进与项目的合作。

Robert Watson 发布了 [ACM Queue 和 ACM 通信：操作系统访问控制可扩展性的十年](http://queue.acm.org/detail.cfm?id=2430732)，Kirk McKusick 发布了 [ACM Queue 和 ACM 通信：从文件系统的角度看磁盘](http://queue.acm.org/detail.cfm?id=2367378)。

我们谈判并监督了基金会资助的项目：将 FreeBSD 移植到 Efika ARM 平台、Capsicum 组件框架、本地 iSCSI 目标实现和 EUFI。

我们谈判、监督并资助了 FreeBSD 共同托管中心的硬件需求。

许多董事会成员为 2012 年末 FreeBSD.org 系统的安全漏洞恢复工作提供了支持。

我们完成了新网站隐私政策的谈判并提供了法律咨询。

我们现在是剑桥/帝国/爱丁堡 EPSRC REMS 项目的工业合作伙伴，致力于主流系统的严格工程化。

我们协调了基金会对 Jira/Java 的讨论；结论是，我们将继续支持 OpenJDK，并不会重新启动对专有 JDK 的支持。

我们实施了捐赠者管理数据库，以帮助我们的筹款工作。我们还开始着手自动化捐赠过程。

我们启动了 FreeBSD 面孔系列（Faces of FreeBSD），定期分享基金会资助接收者的故事。通过这一系列，我们能够重点介绍那些获得基金会资助从事开发项目、举办会议、参加会议和推广 FreeBSD 的人。

我们聘用了两名技术人员。

#### [邮政管理员](https://www.freebsd.org/status/report-2012-10-2012-12.html#Postmaster)

联系方式：David Wolfskill <<postmaster@FreeBSD.org>>

邮政管理员团队得到了扩展，增加了 Florian Smeets (<flo@FreeBSD.org>)。

我们实现了一个 Mailman“处理器”，用于在同时向同一列表（无论是“长”（例如，“freebsd-current”）还是“短”（例如，“current”）名称）发送的两个副本时丢弃重复消息。

我们创建了几个新的邮件列表：

* freebsd-course: FreeBSD 教育课程
* freebsd-numerics: 高质量 libm 函数实现的讨论
* freebsd-snapshots: FreeBSD 开发快照公告
* freebsd-tcltk: FreeBSD 特定的 Tcl/Tk 讨论

我们还移除了旧的邮件列表：

* freebsd-binup
* freebsd-www（已合并到 freebsd-doc）

### [内核](https://www.freebsd.org/status/report-2012-10-2012-12.html#Kernel)

#### [AMD GPU 内核模式设置支持](https://www.freebsd.org/status/report-2012-10-2012-12.html#AMD-GPUs-kernel-modesetting-support)

| 链接                                                           |
| ------------------------------------------------------------ |
| [项目状态（维基）](https://wiki.freebsd.org/AMD_GPU)                 |
| [初始 TTM 移植](http://people.freebsd.org/~kib/misc/ttm.1.patch) |

联系方式：Alexander Kabaev <<kan@FreeBSD.org>>\
联系方式：Jean-Sébastien Pédron <<dumbbell@FreeBSD.org>>\
联系方式：Konstantin Belousov <<kib@FreeBSD.org>>

Jean-Sébastien Pédron 在 2013 年 1 月开始将 AMD GPU 驱动从 Linux 移植到 FreeBSD 10-CURRENT。这项工作基于 Alexander Kabaev 之前的努力。Konstantin Belousov 提供了 TTM 内存管理器的初始移植。

截至目前，驱动已经能够构建，但测试的设备无法附加。

状态更新将发布到 FreeBSD 维基。

#### [改进通用闪存接口（CFI）驱动](https://www.freebsd.org/status/report-2012-10-2012-12.html#Common-Flash-Interface-\(CFI\)-driver-improvements)

联系方式：Brooks Davis <<brooks@FreeBSD.org>>

通用闪存接口（CFI）提供了一个通用的编程接口，用于支持嵌入式系统中常见的 NOR 闪存设备。我对 cfi(4) 设备在 Intel StrataFlash 部件上的使用进行了若干改进。现在可以避免不必要的擦除周期，要求单词写入的设备仅写入改变的单词，并且支持 Intel 和 Sharp 设备的多字写入。此外，超时代码已重新设计，不再对低于 100 微秒的操作引入不必要的延迟。通过这些改进，流写速度提高了一个数量级。待这些改进得到审查，它们将被提交到 HEAD。

这项工作由 DARPA 和 AFRL 资助。

#### [SMP 友好的 pf(4)](https://www.freebsd.org/status/report-2012-10-2012-12.html#SMP-Friendly-pf\(4\))

联系方式：Gleb Smirnoff <<glebius@FreeBSD.org>>

该项目旨在将 pf(4) 包过滤器从单一互斥锁中解耦，并改进 FreeBSD 的 Port。该项目已达到其主要目标。pf(4) 不再由单一互斥锁保护，网络堆栈上的争用大大减少。该代码已准备好投入生产。projects/pf 分支已与主分支合并，并将在 10.0-RELEASE 中提供。

#### [无映射 I/O](https://www.freebsd.org/status/report-2012-10-2012-12.html#Unmapped-I/O)

| 链接                                                          |
| ----------------------------------------------------------- |
| [补丁](http://people.freebsd.org/~kib/misc/unmapped.13.patch) |

联系方式：Jeff Roberson <<jeff@FreeBSD.org>>\
联系方式：Konstantin Belousov <<kib@FreeBSD.org>>

FreeBSD 在大规模 SMP 硬件上遇到的一个著名性能问题是，在实例化和销毁 VMIO 缓冲区时需要使所有 CPU 失效。失效是通过发送处理器间中断广播来执行的，这会打断每个 CPU 的执行路径，并对请求本身造成延迟。由于大多数 I/O 请求处理需要创建用于保存数据的缓冲区，TLB 失效成为许多 CPU 机器上 I/O 可扩展性的障碍。

在此工作中，TLB 刷新操作显得尤其没有意义，因为大多数创建的映射仅用于将数据从用户空间复制到内核页面缓存并来回传输。大多数架构已经建立了设施，使用更快的技术来执行此类复制操作，例如，在 amd64 上的直接映射，或在其他架构上为每个 CPU 保留的页面帧或 TLB 条目。

Jeff Roberson 统一了 busdma(9) 的特定机器部分，使每个架构都可以使用一组通用的低级函数。这项改进已作为 r246713 提交。最终结果是，新的加载函数类型可以在单一的机器无关位置添加。特别是，驱动程序可以很容易地修改为接受“无映射”生物请求，后者列出了设备 DMA 引擎的 VM 页面，而不是内核缓冲区的虚拟地址。

Konstantin Belousov 为缓冲区缓存开发了更改，使得 VMIO 缓冲区不再映射引用的页面，并且将此功能用于 UFS。为方便用户 I/O 缓冲区和无映射缓冲区页面之间的快速复制，添加了每架构的 pmap\_copy\_pages(9) 方法。无映射缓冲区为驱动程序创建无映射生物请求，Jeff 的补丁使其成为可能。

测试表明，即使在一台小型的四核机器上，读取 UFS 文件的系统时间也减少了 30%。

**待办事项**

1. 测试补丁，特别是在非 x86 架构上。

### [文档](https://www.freebsd.org/status/report-2012-10-2012-12.html#Documentation)

#### [FreeBSD 日语文档项目](https://www.freebsd.org/status/report-2012-10-2012-12.html#The-FreeBSD-Japanese-Documentation-Project)

| 链接                                                    |
| ----------------------------------------------------- |
| [FreeBSD 日语网页](http://www.freebsd.org/ja/)            |
| [FreeBSD 日语文档项目网页](http://www.jp.freebsd.org/doc-jp/) |

联系方式：佐藤広生 <<hrs@FreeBSD.org>>\
联系方式：Ryusuke Suzuki <<ryusuke@FreeBSD.org>>

自上次状态报告以来，ja\_JP.eucJP 子树一直在不断更新。

在 FreeBSD 手册中，“用户”部分的翻译工作已完成。“linuxemu”和“serialcomms”已更新，且在“镜像”部分新增了“Subversion 镜像站点”小节。

**待办事项**

1. 继续翻译 ja\_JP.eucJP 子树中的过时文档。

### [架构](https://www.freebsd.org/status/report-2012-10-2012-12.html#Architectures)

#### [改进 FreeBSD/ARMv6 的编译器](https://www.freebsd.org/status/report-2012-10-2012-12.html#Compiler-improvements-for-FreeBSD/ARMv6)

联系方式：Andrew Turner <<andrew@FreeBSD.org>>

FreeBSD/ARM 架构现已支持树内 clang 编译器。ARM EABI 支持现已可用于 clang 和 gcc，以及较旧且文档较少的 OABI。目前还有几个未解决的问题，待解决，EABI 将成为默认设置。

**待办事项**

1. 测试 EABI 构建
2. 修复 EABI 的异常处理
3. 测试 clang 构建
4. 让 clang 在基于 EABI 的 ARM 系统上原生工作。目前，它仅作为 ARM EABI 的交叉编译器工作。

#### [在 AARCH64 上的 FreeBSD](https://www.freebsd.org/status/report-2012-10-2012-12.html#FreeBSD-on-AARCH64)

| 链接                                                                          |
| --------------------------------------------------------------------------- |
| <https://github.com/zxombie/aarch64-freebsd-sandbox>                        |
| <http://www.arm.com/products/tools/models/fast-models/foundation-model.php> |

联系方式：Andrew Turner <<andrew@FreeBSD.org>>

已开始将 FreeBSD 移植到 AARCH64，这是 ARM 的新 64 位架构，使用 ARMv8 基础模型软件。GCC 和 binutils 已移植到 FreeBSD，并且已开始进行内核初始化工作，包括 MMU 设置。

**待办事项**

1. 使 MMU 正常工作
2. 从 ARM 获取系统寄存器文档
3. 将 clang AArch64 移植到 FreeBSD
4. 将代码纳入 FreeBSD 项目分支

#### [在 BeagleBone 上的 FreeBSD](https://www.freebsd.org/status/report-2012-10-2012-12.html#FreeBSD-on-BeagleBone)

联系方式：Tim Kientzle <<kientzle@FreeBSD.org>>\
联系方式：Oleksandr Tymoshenko <<gonzo@FreeBSD.org>>\
联系方式：Damjan Marion <<dmarion@FreeBSD.org>>\
联系方式：Brett Wynkoop <<wynkoop@wynn.com>>

FreeBSD 在 BeagleBone 上的工作得益于许多人对 ARM 稳定性的贡献，并证明是我们 ARMv7 支持的一个很好的测试平台。所有正在进行的工作现在直接在 -CURRENT 分支上进行，我们预计到 10.0 版本发布时，系统将相当稳定。

网络驱动程序现在非常稳定；该系统应该可以作为一个小型网络设备使用。

偶尔会构建系统快照并进行推广，供用户测试。如果你想尝试最新的版本，可以在 freebsd-arm@ 邮件列表中询问。

**待办事项**

1. 我们需要有人完成 USB 驱动程序的开发。如果你愿意接手，欢迎联系我们。
2. MMCSD 性能仍然较差。
3. 有讨论如何改善 GPIO 配置和 pinmux 处理，以简化硬件实验。如果我们有更多人来帮助构建驱动程序，我们可以开始支持一些 BeagleBone 扩展板。
4. 主要需要的是有人使用该平台并报告他们遇到的问题。

#### [在树莓派上的 FreeBSD](https://www.freebsd.org/status/report-2012-10-2012-12.html#FreeBSD-on-Raspberry-Pi)

联系方式：Oleksandr Tymoshenko <<gonzo@FreeBSD.org>>

FreeBSD 目前已在树莓派上运行，并支持以下外设：

* USB 控制器
* SDHC 控制器
* 网络
* 帧缓冲（HDMI 和复合视频）
* GPIO
* VCHI 接口

目前的 VCHI 驱动实现已支持 Videocore 测试（包括 OpenGL、视频解码、音频、显示访问）。

**待办事项**

1. 为 USB 驱动程序添加 DMA 模式支持。已经完成了一些概念验证代码，但仍需要更多工作来完成。
2. 重新实现 VCHI 驱动程序，采用更适合 FreeBSD 的锁机制。
3. 实现更多驱动程序：SPI、PWM、音频。

### [Ports](https://www.freebsd.org/status/report-2012-10-2012-12.html#Ports)

#### [FreeBSD Haskell Port](https://www.freebsd.org/status/report-2012-10-2012-12.html#FreeBSD-Haskell-Ports)

| 链接                                                                             |
| ------------------------------------------------------------------------------ |
| [FreeBSD Haskell Wiki 页面](http://wiki.freebsd.org/Haskell)                     |
| [FreeBSD Haskell Port 仓库](https://github.com/FreeBSD-haskell/FreeBSD-haskell/) |

联系方式：Gábor Pálí <<pgj@FreeBSD.org>>\
联系方式：Ashish SHUKLA <<ashish@FreeBSD.org>>

我们很高兴地宣布，FreeBSD Haskell 团队已将 Haskell 平台更新至 2012.4.0.0，GHC 更新至 7.4.2，并且所有现有的 Port 也已更新至最新的稳定版本。所有 Haskell Port 也已更新为使用新的 OPTIONS 框架，现在，默认启用了动态库构建（DYNAMIC）。GHC 还使用了来自 Port 的 GCC 4.6 和 binutils 2.22。我们还添加了许多新的 Haskell Port，目前 FreeBSD Ports 树中的 Haskell Port 总数已达到 368 个。

**待办事项**

1. 测试 GHC 与 clang/LLVM 的兼容性。
2. 将待处理的 Haskell Port 提交到 FreeBSD Ports 树中。
3. 向 Ports 中添加更多的 Port。

#### [KDE/FreeBSD](https://www.freebsd.org/status/report-2012-10-2012-12.html#KDE/FreeBSD)

| 链接                                          |
| ------------------------------------------- |
| [KDE/FreeBSD 首页](http://freebsd.kde.org/)   |
| [area51](http://freebsd.kde.org/area51.php) |

联系方式：KDE FreeBSD <<kde@FreeBSD.org>>

KDE/FreeBSD 团队继续改进 FreeBSD 下的 KDE 软件和 Qt 体验。最新一轮改进包括：

* 修复了 Solid 引擎中 Removable 属性的处理
* 修复了与 UPower 管理背光的功能（需要 acpi\_video(4)）
* 安装带有 KDE-locale Port 依赖的拼写检查词典

团队还发布了许多版本，并上游了许多修复和补丁。最新发布的版本包括：

* KDE SC: 4.9.2 (area51)
* PyQt: 4.9.5 (area51)；SIP: 4.14 (area51)
* KDevelop: 4.4.0, 4.4.1 (area51)；KDevPlatform: 1.4.0, 1.4.1 (area51)
* Calligra: 2.5.3, 2.5.4 (area51)
* CMake: 2.8.10.1
* 许多较小的 Port

团队始终欢迎更多的测试人员和移植人员，请通过 <kde@FreeBSD.org> 联系我们，并访问我们的主页：[http://FreeBSD.kde.org](http://freebsd.kde.org/)。

**待办事项**

1. 更新过时的 Port，详情请见 [PortScout](http://portscout.freebsd.org/kde@freebsd.org.html) 中的列表

#### [Ports](https://www.freebsd.org/status/report-2012-10-2012-12.html#Ports-Collection)

| 链接                                                                                                                                                  |
| --------------------------------------------------------------------------------------------------------------------------------------------------- |
| [http://www.FreeBSD.org/ports/](http://www.freebsd.org/ports/)                                                                                      |
| [http://www.FreeBSD.org/doc/en\_US.ISO8859-1/articles/contributing-ports/](http://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributing-ports/) |
| [http://portsmon.FreeBSD.org/index.html](http://portsmon.freebsd.org/index.html)                                                                    |
| [http://www.FreeBSD.org/portmgr/index.html](http://www.freebsd.org/portmgr/index.html)                                                              |
| [http://blogs.FreeBSDish.org/portmgr/](http://blogs.freebsdish.org/portmgr/)                                                                        |
| <http://www.twitter.com/freebsd_portmgr/>                                                                                                           |
| <http://www.facebook.com/portmgr>                                                                                                                   |

联系方式：Thomas Abthorpe <<portmgr-secretary@FreeBSD.org>>\
联系方式：Port Management Team <<portmgr@FreeBSD.org>>

Ports 树已突破 24,000 个 Port，而 PR 数量仍接近 1600。

在第四季度，我们新增了五名提交者，并为两名提交者保管了提交权限。

按照在会议上招募新 portmgr@ 成员的传统，我们将 Bernhard Froehlich 纳入我们的团队。他负责 redports.org。

Pav Lucistnik 已辞去 portmgr 职务，他是我们团队的核心成员之一，负责执行 -exp 测试，并因发送 failmails 而广为人知。

在广为报道的安全事件中，pointyhat 机器被黑客入侵，随后被下线、隔离并进行清理。作为预防措施，redports/QAT 也被停用了。恢复服务的工作正在进行中。

Mark Linimon 开始在自己的一台备用机器上重新安装 FreeBSD，目的是记录 portbuild 文章中缺失的所有步骤。在此过程中，他还进一步重构了代码库，以便于安装，并在安全审查（目前仍在进行中）的基础上对其进行重构。完成此项工作后，下一步将是从头开始重新安装所有现有机器。

**待办事项**

1. 大多数 Port PR 已分配，现在我们需要专注于测试、提交和关闭这些 PR。

#### [Xfce](https://www.freebsd.org/status/report-2012-10-2012-12.html#Xfce)

| 链接                              |
| ------------------------------- |
| <https://wiki.freebsd.org/Xfce> |

联系方式：<<xfce@FreeBSD.org>>

对 **Thunar**（Xfce 桌面环境的文件管理器）进行了重要更新。

*1.6.x* 系列引入了许多改进，最显著的是 **标签支持**，并且性能得到了提升。

**待办事项**

1. 尝试修复 Midori 中的 HSTS（HTTP 严格传输安全）功能，使用 Vala 0.12.1（与 Vala ≥ 0.14.x 兼容）。
2. 用 libxfce4ui 替代已弃用且不再由上游维护的 libxfce4gui，以增强对 Xfce ≥ 4.10 的支持。
3. 使用 GLib ≥ 4.32 测试核心和插件（面板、Thunar）（以替换自 GLib 2.30 起弃用并移除的函数）。
4. 修复 gtk-xfce-engine 与 Gtk+ ≥ 3.6 的兼容性问题。

### [其他事项](https://www.freebsd.org/status/report-2012-10-2012-12.html#Miscellaneous)

#### [EuroBSDcon 2012](https://www.freebsd.org/status/report-2012-10-2012-12.html#EuroBSDcon-2012)

| 链接                                                              |
| --------------------------------------------------------------- |
| [EuroBSDcon 2012 网站](http://2012.eurobsdcon.org/)               |
| [EuroBSDcon YouTube 频道](http://www.youtube.com/user/eurobsdcon) |

联系方式：EuroBSDcon 组织者 <<oc-2012@eurobsdcon.org>>\
联系方式：Gabor Pali <<pgj@FreeBSD.org>>

第 11 届欧洲 BSD 大会在波兰华沙的华沙理工大学举行，吸引了大量参会者。会议从两场教程轨道开始，内容涵盖 FreeNAS、pfSense、DTrace、PF、NetBSD 驱动程序开发以及 Kirk McKusick 提供的 FreeBSD 操作系统概述。此外，还举行了开幕和闭幕主题演讲，并进行了 22 场关于 FreeBSD、OpenBSD、NetBSD、FreeNAS 和 PC-BSD 相关主题的讲座：BHyVe、使用 Puppet 进行配置管理、OpenBSD 加密框架的改进、ZFS 调优、DNS 中的服务器负载平衡、在嵌入式系统（如 MIPS 和 ARM）上运行 FreeBSD，以及身份管理和身份验证中的挑战。

会议还专门安排了一个由 FreeBSD 开发者峰会的与会者主持的环节，向所有人开放。在这个环节中，大家可以了解项目当前的进展：2012 年谷歌编程之夏结果、FreeBSD 文档树的架构变化、ILNP、pkg(8) 的包构建和开发进展，以及 USB 栈的状态报告。

#### [FreeBSD 开发者峰会，华沙](https://www.freebsd.org/status/report-2012-10-2012-12.html#FreeBSD-Developer-Summit,-Warsaw)

| 链接                                              |
| ----------------------------------------------- |
| [峰会主页](http://wiki.freebsd.org/201210DevSummit) |

联系方式：Gabor Pali <<pgj@FreeBSD.org>>

在 2012 年波兰华沙举行的 FreeBSD 开发者峰会上，53 名 FreeBSD 开发者和受邀嘉宾参加了此次峰会，峰会作为 EuroBSDcon 2012 的一部分，在华沙理工大学举行。今年，EuroBSDcon 的组织者再次为我们提供了慷慨的支持，帮助我们确保活动的顺利进行，协助注册、租赁场地并提供食物以确保与会者的满意。

此次华沙开发者峰会持续了 3 天，涵盖了 9 个工作组，讨论了各种话题。我们改进了去年的布局，这一布局源自加拿大的峰会，先前表现良好，但仍需要一些改进。在第一天和第二天，我们开展了工作组讨论，内容涵盖标准事务，如 USB 栈问题、编译器工具链、Ports 和文档工作，此外也有一些实验性议题，例如安排一门以 FreeBSD 为重点的操作系统课程。此外，与去年类似，其中一个工作组专门讨论了聚集供应商，展示他们的想法并与开发者讨论项目需求。最后，在第三天，我们安排了一些激动人心的工作进展报告，这些报告将在会议的开发者峰会环节上进行。

大多数讲座的照片和幻灯片可以在峰会主页上查看。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://book.bsdcn.org/status/2012/q4.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
