For the complete documentation index, see llms.txt. This page is also available as Markdown.

FreeBSD 2009 年 10-12 月状态报告

引言

本报告涵盖了 2009 年 10 月至 12 月期间与 FreeBSD 相关的项目。这是四份报告中的最后一份,证明 2009 年是 FreeBSD 项目非常重要的一年。除了其他值得注意的事项之外,FreeBSD 发布了新的主要版本 8.0-RELEASE,同时 7.3-RELEASE 的发布过程也即将开始。

感谢所有报告者的卓越工作!希望你喜欢阅读。借此机会,祝大家 2010 年新年快乐、事业成功。

请注意,涵盖 2010 年 1 月至 3 月期间的提交截止日期为 2010 年 4 月 15 日。

谷歌编程之夏

BSD 许可的 iconv

链接:Perforce 仓库中的源代码

联系方式:Gábor Kövesdán <gabor@FreeBSD.org>

良好的兼容性得到了保证,只有少数待处理项需要审查和增强。最近完成了一项增强,使得能够实现更好的音译,就像 GNU 版本一样。预计将在 2 月初提供初步的测试补丁。

待办事项

  1. 增强转换表,以利用增强的音译功能。

  2. 可能会进行性能优化。

项目

3G USB 支持

联系方式:Andrew Thompson <thompsa@FreeBSD.org>

最近,蜂窝无线驱动程序 u3g(4) 添加了一些新的设备 ID;现在该列表应该与其他操作系统相当。这些设备中有很多具有一个特性,即设备首先作为磁盘或 CD-ROM 附加,里面包含 Win/Mac 驱动程序。u3g 驱动程序应检测到这种状态,并向 USB 设备发送命令切换到调制解调器模式。这项功能运行了一段时间,但由于每个厂商的实现不同,我正在寻求关于哪些设备的自动切换功能无法正常工作(或者初始化完全无法识别)的反馈。请确保运行的是最新的内核,例如 9.0-CURRENT 的 r201681 或更高版本,或者 8-STABLE,在未来合并此修订版本之后。

Clang 替代 GCC 作为基本系统编译器

链接:http://wiki.freebsd.org/BuildingFreeBSDWithClang

联系方式:Ed Schouten <ed@FreeBSD.org>

联系方式:Roman Divacky <rdivacky@FreeBSD.org>

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

联系方式:Pawel Worach <pawel.worach@gmail.com>

我们再次能够构建可启动的 i386/amd64 内核。Nathan Whitehorn 提交了一个修复,使得 LLVM/clang 在 PowerPC 上大部分功能正常。当前正在初步测试 ARM 和 MIPS 上的 LLVM/clang。我们也有一些关于 sparc64 支持的想法,目前正在调研中。如果你有兴趣帮助,欢迎联系我们。

自上次报告以来,C++ 方面取得了很多进展;clang 目前能够构建正常工作的 groff、gperf 和 devd,也就是我们在基本系统中的所有 C++ 应用程序。不幸的是,它仍然无法构建任何 C++ 库——其中两个库缺少内置函数,libstdc++ 由于其他原因也无法使用。

在 clangbsd 分支上进展不大,由于被某个 bug 阻塞,我们无法升级 clang/llvm,该 bug 需要使用比我们能提供的更新版本的汇编器。这可能通过修复该问题(短期)或使用 llvm-mc 代替 GNU as 进行汇编(长期)来解决。

待办事项

  1. 帮助解决 ARM/MIPS/sparc64 的问题。

  2. 对第三方应用程序(Port)做更多 clang 测试。

  3. 讨论将 LLVM/clang 集成到 FreeBSD 中的方案。

FreeBSD TDM 框架

联系方式:Rafal Czubak <rcz@semihalf.com>

联系方式:Michal Hajduk <mih@semihalf.com>

自上次状态报告以来,FreeBSD TDM 框架的重大变化如下:

  • 完全功能的 TDM 控制器驱动程序,支持 Marvell Kirkwood 和 Discovery SoC。

  • 可用的语音带通道字符设备驱动程序。

  • 支持对应 FXS 和 FXO 端口的 Si3215、Si3050 编解码器驱动程序。

  • 演示应用程序,能够操控语音带通道和编解码器状态,启动/停止通道传输并在单一通道上回显。

  • 初步版本的驱动程序,连接语音带基础设施与 Zaptel/DAHDI。

待办事项

  1. 改进与驱动程序和演示应用程序相关的各种问题。

  2. 测试 Si3050 编解码器驱动程序与 PSTN 的兼容性。

  3. 完全将语音带基础设施与 Zaptel/DAHDI 电话硬件驱动程序集成。

HAST — 高可用性存储

链接:公告

联系方式:Pawel Jakub Dawidek <pjd@FreeBSD.org>

HAST 软件将提供将任何 GEOM 提供者(例如磁盘、分区、镜像等)或文件从一台 FreeBSD 机器(主节点)同步复制到另一台机器(次节点)的功能。

由于数据在块级别复制,因此无需修改应用程序或文件系统即可利用该功能。

HAST 软件提供的功能与 DRBD 项目为 Linux 提供的功能非常相似。

HAST 项目由 FreeBSD 基金会赞助。

工作进展顺利;第一个里程碑于 2009 年 12 月达成,预计项目完成日期为 2010 年 1 月 31 日。

请关注 FreeBSD 邮件列表,测试 2 月份发布的补丁,并祝我好运!

顺便说一句,不要忘记向 FreeBSD 基金会捐款,因为正是你的捐款使得像这样的项目得以实现。

谢谢!

Intel XScale hwpmc(9) 支持

联系方式:Rui Paulo <rpaulo@FreeBSD.org>

Intel XScale ARM 处理器的初步硬件性能计数器支持于 12 月提交至 FreeBSD 9.0-CURRENT。这为 hwpmc(9) 添加了另一个受支持的架构。该系统可用于基本的性能计数器使用,但更高级的使用场景,特别是调用链支持,还未实现。

在 FreeBSD 上实现 POSIX utmpx

链接:

公告

POSIX 规范

NetBSD 的实现

OpenSolaris 的实现

联系方式:Ed Schouten <ed@FreeBSD.org>

在 1 月 13 日,我移除了 utmp 用户会计数据库,并用新的 POSIX utmpx 实现替代了它。不幸的是,由于 utmp 接口几乎没有提供与数据库文件交互的库接口,因此升级路径稍显复杂。

这项更改可能导致了一些回归。一些 Port 可能无法构建,同时也可能存在库函数中的 bug。

待办事项

  1. 获取已损坏 Port 的列表。

  2. 修复它们以符合标准。

  3. 将补丁提交给上游。

SUJ — 日志化软更新

链接:http://jeffr_tech.livejournal.com/

联系方式:Jeff Roberson <jeff@FreeBSD.org>

我一直在为 SoftUpdates 添加一个小的意图日志,以消除在非正常关闭后需要 fsck 的要求。这项工作得到了 Yahoo!、iXsystems 和 Juniper 的资助。Kirk McKusick 帮助我评审设计,并帮助我更好地理解 SoftUpdates。

我和 Peter Holm 广泛测试,得出了一个稳定的补丁。建议当前用户按照在 current@FreeBSD.org 邮件列表上发布的说明验证各自工作负载下的稳定性。更新即将发布,预计在 1 月底之前合并到 9.0-CURRENT。FreeBSD 较旧版本的 Port 将在 SVN 的不同分支下提供。官方回溯将在 9.0-CURRENT 稳定后由 re@ 决定。

这些更改完全向前和向后兼容,因为文件系统的元数据更改非常少。可以使用 tunefs(8) 在现有的 FFS 文件系统上启用或禁用日志。该日志最大占用 64 MB 空间,fsck 时间受限于日志的大小,而不是文件系统的大小。其他细节请参阅我的技术日志。

webcamd 守护进程

链接:http://www.selasky.org/hans_petter/video4bsd/

联系方式:Hans Petter Selasky <hselasky@FreeBSD.org>

webcamd 守护进程使数百种基于 USB 的摄像头设备能够在 FreeBSD-8/9 操作系统下使用。webcam 守护进程本质上是一个应用程序,它是将 Video4Linux USB 摄像头驱动程序移植到 FreeBSD 用户空间的版本。该守护进程目前依赖于 libc、pthreads、libusb 和 VIDEO4BSD 内核模块。

待办事项

  1. 为其余的 Video4Linux USB 设备添加支持。

  2. 制作补丁,增加缓冲区大小,以应对用户空间中的更高延迟,尤其是针对高速 USB。

FreeBSD 团队报告

FreeBSD Bugbusting 团队

链接:

GNATS

BugBusting

实验报告页面

Bugbusting 团队推荐提交者评估的 PR 列表

上述报告的订阅列表

联系方式:Gavin Atkinson <gavin@FreeBSD.org>

联系方式:Mark Linimon <linimon@FreeBSD.org>

联系方式:Remko Lodder <remko@FreeBSD.org>

联系方式:Volker Werth <vwe@FreeBSD.org>

Bugmeister Gavin Atkinson 现在获得了 src commit 权限,并开始处理我们的一些积压工作。

Bugbusting 团队推荐提交者评估的 PR 列表继续增加新内容;然而,该列表的知名度仍然不高。(此列表包含 Bugbusting 团队认为可能准备好提交的 PR,通常带有补丁,或者是提交者了解特定子系统后能够轻松解决的问题。)剑桥开发者峰会上的建议之一是创建一个邮件系统,向用户发送发布在 freebsd-bugs@ 上的每周总结报告,这个功能现已实现。如果你想被加入到推荐订阅者列表中,请发送邮件至 linimon@FreeBSD.org。

我们继续对新到达的 PR 进行分类,为涉及内核子系统的 PR 在主题行中添加对应的“标签”,或为用户空间的 PR 添加手册页引用。通过这些标签,我们能够按标签和手册页排序 PR 列表。目前,大多数引用支持版本的 PR 转换完成,我们也在跟进新的 PR。我们希望这能让浏览 PR 数据库变得更容易。

在 8.0-RELEASE 发布周期期间,整体 PR 数量跃升至 6,200 多个,但现在稳定在 6,100 左右。和过去一样,我们对 Port PR 的清理率相对较高,但其他类型的 PR 清理率则较低。(部分原因是每个 Port 都有“维护者”。)

待办事项

  1. 尝试找到更多的提交者来帮助我们关闭已分析过的 PR。

FreeBSD 发布工程

链接:http://www.freebsd.org/releng/

联系方式:发布工程团队 <re@FreeBSD.org>

发布工程团队于 2009 年 11 月 26 日宣布了 FreeBSD 8.0-RELEASE 的发布。随着 8.0-RELEASE 的完成,7.3-RELEASE 的计划工作开始,发布日期计划在 2010 年 3 月初。

发布工程团队感谢 George Neville-Neil(gnn@)在团队中的服务。George 将继续与 FreeBSD 项目合作,但他从发布工程团队退下,专注于其他活动。

FreeBSD 基金会状态报告

链接:

FreeBSD 基金会

在 Twitter 上关注我们

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

尽管经济形势艰难,我们的捐赠者数量翻了一番多,筹集了 269,000 美元,离 300,000 美元的目标仅差一步,在经济回升的情况下,我们希望今年能够超过这个目标。

我们资助了两个新项目。其中一个是 Rafal Jaworowski 提出的平面设备树(Flattened Device Tree)项目;另一个是 Pawel Jakub Dawidek 提出的高可用性存储(Highly Available Storage)项目。我们继续支持 Ed Schouten 的新控制台驱动程序(New Console Driver)和 Lawrence Stewart 的 FreeBSD TCP 栈改进(Improvements to the FreeBSD TCP Stack)。我们还为多个项目购买了设备。

我们有很多计划要在新的一年实现!我们将大幅增加项目开发和设备开支。敬请关注即将发布的项目提案提交公告。我们刚刚宣布开始接受 AsiaBSDCon 的差旅资助申请,并将很快接受 BSDCan 的差旅资助申请。同时,我们正在开展基础设施项目,以增强用于软件包构建、网络测试等方面的硬件。

阅读更多关于我们如何支持项目和社区的信息,请查看我们的年终通讯:http://www.FreeBSDFoundation.org/press/2009Dec-newsletter.shtml。

我们现在正在为 2010 年筹款!欲了解更多信息,请访问 http://www.FreeBSDFoundation.org/donate/。

网络基础设施

bwn(4) — Broadcom 无线驱动

链接:bwn(4) 源代码在 P4

联系方式:Weongyo Jeong <weongyo@FreeBSD.org>

bwn(4) 驱动替代了 bwi(4) 驱动,原因如下:

  • 使用最新的 v4 固件镜像,而不是使用更旧的 v3 固件。这样,我们获得了一些重大好处,例如支持 N-PHY 并修复了早期固件的各种 bug。

  • 支持 PIO 模式。这很重要,因为——如你所知——Broadcom 无线驱动是通过逆向工程创建的,因此某些硬件可能无法与 DMA 操作一起使用。

  • 支持 64 位 DMA 操作。

  • 将 bwi(4) 驱动分为两个部分:siba(4) 驱动和 bwn(4) 驱动。许多 Broadcom 无线和网卡设备基于 Silicon Sonics 的 Backplane,例如 bwi(4),它在内部实现了 SIBA 操作。这导致了代码重复,因为其他驱动需要实现自己的例程来处理 SIBA。在 bwn(4) 的情况下,这两个部分被分开,并实现为各自的内核模块,从而避免了这个问题,并通过提供独立的 siba(4) 驱动来帮助进一步开发。

目前,该驱动在大/小端机器和 32/64 位 DMA 操作的 STA 模式下经过测试。针对 siba(4) 的重大补丁正在审查中,预计将在 9.0-CURRENT 中提交。

待办事项

  1. 不支持 MESH/IBSS/HOSTAP 模式。

  2. 不支持 LP/N PHY。

IP 负载压缩协议支持

联系方式:Bjoern A. Zeeb <bz@FreeBSD.org>

FreeBSD IP 安全栈中长期存在的一个特性问题——失效的 IP 负载压缩协议(IPcomp)支持——修复完成。

在修复过程中,发现了多个问题:

  • IPsec 中的 IPcomp 包处理问题。

  • opencrypto 压缩处理和 deflate 实现的局限性。这些问题是通过 DTrace SDT 探针调试的。

  • 由于某些网络栈部分和 opencrypto 框架使用过时版本的 zlib,导致的问题。

除 zlib 支持外,其他所有补丁提交到 9.0-RELEASE,并合并到所有受支持的稳定分支,包括 6-STABLE。特别感谢 Eugene Grosbein 在测试中的帮助。

待办事项

  1. 修复 ng_deflate,以便我们能够利用 Kip Macy 在内核中提供的最新统一 zlib 版本,从而修复剩余的偶发 IPcomp 问题。

链接:FreeBSD 论坛上的公告

联系方式:Akinori Furukoshi <moonlightakkiy@yahoo.ca>

run(4) 驱动为 Ralink RT2700U/2800U/3000U USB 无线设备提供了支持。有关详细信息和所有支持设备的列表,请参见上述链接。源代码于 2010 年 1 月 10 日导入 USB P4 存储库(172906)。

待办事项

  1. 解决发送信标时的 USB_TIMEOUT 问题,或确认哪些芯片组支持 AP 模式,如果并非所有芯片组都支持。

  2. 在 AP 模式下读取 AMRR 的 TX 统计信息,或确认哪些芯片组支持 AP 模式,如果并非所有芯片组都支持。

  3. 维护代码。

同步 OpenBSD 4.5 的 pf(4)

链接:

查看更改

构建所用的实际仓库

联系方式:Ermal Luçi <eri@FreeBSD.org>

此次导入基于 OpenBSD 4.5 版本的 pf(4),包含了许多相较于当前 FreeBSD 版本的改进。pf45 仓库中的新功能是对 divert(4) 的支持,这应该可以使像 snort_inline 这样的工具也能与 pf(4) 一起工作。

目前,pf(4) 的导入版本被认为是稳定的,适用于普通内核以及启用了 VIMAGE 的内核。

待办事项

  1. pflow(4)/pflog(4)/pfsync(4) 需要使其支持 VIMAGE。

  2. 需要更多的回归测试。

无线网状网络

链接:http://wiki.freebsd.org/WifiMesh

联系方式:Rui Paulo <rpaulo@FreeBSD.org>

FreeBSD 802.11s 堆栈的开发仍在继续。FreeBSD HEAD 中的代码更新至符合草案 4.0,并将很快合并到 FreeBSD 8-STABLE 中。

开发者正在寻找资金支持,以便实现网状链路安全算法或协调信道访问(性能改进)。

内核

基于 CAM 的 ATA 实现

联系方式:Alexander Motin <mav@FreeBSD.org>

联系方式:Scott Long <scottl@FreeBSD.org>

现有的 ata(4) 基础设施存在多年,然而与现代控制器/设备支持相比,它存在许多问题和局限性。虽然 CAM 子系统(用于 SCSI)几乎与 ata(4) 同样古老,但它更有可能解决当前的问题。为了减少代码重复并更好地支持边界情况(如 ATAPI 和 SAS),我们开始开发基于 CAM 的 ATA 实现。

因此,CAM 基础设施扩展以支持不同的传输方式。实现了新的传输方式来支持 PATA/SATA 总线。为了支持 ATA 硬盘,我们编写了一个新的 CAM 驱动(ada)。ATAPI 设备由现有的 SCSI 驱动程序 cd、da、sa 等支持。为了支持 SATA 端口扩展器,我们编写了另一个新的 CAM 驱动(pmp)。为了支持最多功能且广泛使用的 SATA 控制器,我们开发了新的驱动程序 ahci(4) 和 siis(4)。

为了支持传统的 ATA 控制器,添加了一个内核选项 ATA_CAM。启用该选项后,它会使所有 ata(4) 控制器直接供 CAM 使用,从而弃用 ata(4) 外设驱动和外部 API。为了使这一点成为可能,ata(4) 的代码经过大量重构,使得控制器驱动 API 更加严格。

命令排队支持使新的 ATA 实现能够在某些工作负载中获得最多双倍的性能提升,20-30% 的性能提升是非常常见的。

SATA 端口扩展器支持使得通过在一台系统或外部机箱中使用数十个 SATA 硬盘,可以轻松地构建快速且廉价的存储系统。

其中一些代码包含在最近发布的 FreeBSD 8.0-RELEASE 中,但 8-STABLE 现在包含了一个改进版。

待办事项

  1. 改进超时和传输错误恢复。

  2. 改进热插拔支持。

  3. 查找并修复任何阻碍传统 ata(4) 弃用的障碍。

  4. 为 Marvell SATA 控制器编写一个功能更强大的新驱动程序(需要规格说明)。

  5. 为 SAS HBA 编写专门的传输和驱动程序(需要规格说明)。SAS 控制器可以支持 SATA 设备和端口扩展器,因此它应该能很好地融入新的基础设施中。

组限制增加

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

历史上,FreeBSD 将每个进程的附加组数量限制为 15(NGROUPS_MAX 被错误声明为 16)。在 FreeBSD 8.0-RELEASE 中,我们将这一限制提高到 1023,这对于大多数用户来说应该足够,并且对于一些编写不当的应用程序(这些应用程序静态分配 NGROUPS_MAX + 1 个条目)来说也能保持足够的效率。

因为某些系统,如 Linux 2.6,支持更大的组限制,我们在 9.0-CURRENT 中进一步放宽了这一限制,并将 kern.ngroups 设为一个可调的值,支持的值范围从 1023 到 INT_MAX - 1。我们计划在 8.1-RELEASE 之前将此更改合并到 8-STABLE 中。

NFSv4 ACL 支持

链接:http://wiki.freebsd.org/NFSv4_ACLs

联系方式:Edward Tomasz Napierala <trasz@FreeBSD.org>

ZFS 和 UFS 中对 NFSv4 ACL 的原生支持提交到 9.0-CURRENT。预计将会合并,以便在 FreeBSD 8.1-RELEASE 中使用。

待办事项

  1. 在 tar(1) 中支持 NFSv4 ACL。

  2. 合并到稳定版本。

Linux 模拟器中的 V4L 支持

链接:http://opal.com/freebsd/sys/compat/linux/

联系方式:J.R. Oldroyd <fbsd@opal.com>

现在,Linux 模拟器中的 V4L 视频支持可用。

这项工作允许使用 V4L 视频调用的 Linux 应用程序与现有的 FreeBSD 视频驱动程序一起工作,这些驱动程序提供 V4L 接口。它通过 net/skype Port 测试,也可以在基于浏览器的 Flash 应用程序中使用,后者可以访问网络摄像头。早期版本提交到 9.0-CURRENT,目前正在处理最新版本的提交和合并。该功能也在 FreeBSD-8.0/amd64 和 FreeBSD-7.2/i386 上测试过。

注意:需要说明的是,这并不是为所有网络摄像头添加 V4L 支持。FreeBSD 的相机驱动程序必须提供 V4L 支持,Linux 应用程序才能使用该摄像头。multimedia/pwcbsd Port 提供了支持 V4L 的 pwc(4) 驱动程序。如果你的摄像头由其他驱动程序支持,你需要增强该驱动程序以添加 V4L 支持。

文档

FreeBSD 德语文档项目

链接:德语文档项目主页

联系方式:Johann Kois <jkois@FreeBSD.org>

联系方式:Benedict Reuschling <bcr@FreeBSD.org>

联系方式:Martin Wilke <miwi@FreeBSD.org>

我们很高兴地宣布,Benedict Reuschling 完成了导师指导,现在可以独立提交文档树的内容。

自上次状态报告以来,德语文档团队追踪更新了 FreeBSD 手册、FAQ 和德语网站的多个部分。许多手册页面更新到最新版本,包括关于配置、磁盘、内核配置、打印、多媒体和虚拟化的章节。

我们需要有意愿贡献错误修复或翻译的志愿者帮助。以下文档需要积极的维护,是那些愿意加入翻译团队的人的良好训练场:

  • arch-handbook/jail/

  • developers-handbook/I10n/

  • developers-handbook/policies/

  • developers-handbook/sockets/(从头翻译)

  • handbook/firewalls/(从头翻译)

  • handbook/security/

  • porters-handbook/

待办事项

  1. 阅读翻译内容并报告 bug 至 de-bsd-translators@de.FreeBSD.org。

  2. 翻译上述列出的文章或缺失的部分。

FreeBSD 匈牙利文档项目

链接:

FreeBSD 匈牙利语网页

FreeBSD 匈牙利文档

FreeBSD 匈牙利文档项目 Wiki 页面

FreeBSD 匈牙利文档项目的 Perforce 仓库

联系方式:Gábor Kövesdán <gabor@FreeBSD.org>

联系方式:Gábor Páli <pgj@FreeBSD.org>

在过去几个月中,未添加任何新的翻译。由于人力资源不足,我们只能维持现有文档和网页的翻译更新。如果你有兴趣帮助我们,请通过上面的电子邮件地址联系我们。

待办事项

  1. 翻译发布说明。

  2. 添加更多文章的翻译。

FreeBSD 西班牙文档项目

链接:

西班牙文档项目简介

翻译者邮件列表

联系方式:Gábor Kövesdán <gabor@FreeBSD.org>

目前有一篇文章的翻译等待审核。除此之外,未做翻译或维护工作。我们需要更多的志愿者,主要是翻译者,但我们也很欢迎更多的审阅者。只需订阅翻译者邮件列表即可加入,所有工作都在那里完成。

待办事项

  1. 更新手册翻译。

  2. 更新网页翻译。

  3. 添加更多文章的翻译。

架构

为嵌入式 FreeBSD 提供平面设备树支持

链接:

项目 wiki 页面

项目 P4 分支

联系方式:Rafal Jaworowski <raj@semihalf.com>

该项目的目的是为 FreeBSD 提供对平面设备树(FDT)技术的支持,这是一种描述计算机硬件资源的机制,适用于那些无法探测或自我枚举的硬件,以一种统一和可移植的方式。这项技术的主要使用者是嵌入式 FreeBSD 平台(如 ARM、AVR32、MIPS、PowerPC),这些平台上的许多设计基于类似的芯片,但其引脚分配、内存布局、地址绑定、中断路由等资源不同。

当前状态亮点:

  • 环境与支持工具:

    • 将设备树编译器(dtc)和 libfdt 集成到 FreeBSD 用户空间、内核和加载器构建中。

    • loader(8):

      • 完整支持设备树 Blob 处理。

      • 加载、遍历、修改(包括添加/移除)设备树节点和属性。

      • 将设备树 Blob 传递给内核。

      • 同时支持 ARM 和 PowerPC 的 loader(8)。

  • 内核端 FDT 支持(通用):

    • 开发了用于 FDT 支持平台的 OF 接口。

    • ofw_bus I/F(和 /dev/openfirm)与 FDT 一起可用。

    • 将 FDT 资源表示集成到 newbus(fdtbus 和 simplebus 驱动程序)。

  • PowerPC 内核(Freescale MPC85XX SOC):

    • 成功将 MPC8555CDS 和 MPC8572DS 转换为 FDT 规范。

  • ARM 内核(Marvell Orion、Kirkwood 和 Discovery SOC):

    • 正在将 FDT 基础设施集成到 ARM 平台代码中。

此项目的工作由 FreeBSD 基金会赞助。

待办事项

  1. 完成 PowerPC 的缺失部分(将 PCI 桥驱动程序转换为 FDT)。

  2. 完成 ARM 支持。

  3. 合并到 SVN。

FreeBSD/ia64

联系方式:Marcel Moolenaar <marcel@FreeBSD.org>

我们继续 ia64 移植工作。最近向 9.0-CURRENT 提交了许多提高稳定性的补丁,并合并到 8-STABLE。

由于一位非常有动力的用户的兴趣,ia64-8 的软件包构建重新启动。此举主要作为质量保证步骤,用于发现并修复 ia64 上的 bug,而不是创建可上传的软件包。

基于上述工作,Mark Linimon 记录了如何将更多架构添加到软件包集群调度器中。(这项工作也将有助于即将开始的 powerpc 软件包构建工作。)

目前,有 3 台 ia64 机器在线并正在构建软件包。只要不尝试同时构建多个软件包,机器似乎就很稳定;但如果同时构建多个,则会出现机器检查错误。这让人困惑,因为其他繁重的工作负载在同一台机器上似乎运行正常。

待办事项

  1. 继续尝试理解为什么同时构建多个软件包会导致机器崩溃。

  2. 升级 Yahoo! 上两台机器的固件,看看是否能帮助解决问题。

  3. 配置第四台已提供给我们的机器。

  4. 查明 ia64 上最新 GCC Port 的问题。

  5. 我们需要帮助审阅 ia64 平台页面并将其更新。

FreeBSD/mips

链接:

http://www.freebsd.org/projects/mips/index.html

http://wiki.freebsd.org/FreeBSD/mips

联系方式:FreeBSD/mips 邮件列表 <mips@FreeBSD.org>

联系方式:Warner Losh <imp@FreeBSD.org>

base/projects/mips 分支合并到 9.0-CURRENT。合并完成,且基本测试通过。该代码在 Ubiquiti RouterStation(大端)和 gxemul(小端)上成功启动。

该分支存在了差一天满一年,并积累了大量工作:

  • 为 Atheros AR71xx 系列处理器新增移植。此移植支持 Ubiquiti 的 RouterStation 和 RouterStation PRO 板卡。其他板卡应通过少量调整即可使用。此移植应视为接近生产质量,并被开发人员广泛使用。该移植的主要作者是 Oleksandr Tymoshenko (gonzo@FreeBSD.org)。

  • 为 SiByte BCM1250 SoC(BCM91250 评估板,亦称 SWARM)新增移植。据报告该移植稳定,但此硬件较旧且不普及。该移植的主要作者是 Neel Natu (neel@FreeBSD.org)。目前只支持一个核心。

  • 为 Cavium 提供的 Octeon 和 Octeon Plus 系列 SoC(CN3xxx 和 CN5xxx)新增移植。此代码尚属初步阶段,目前仅支持一个核心,并仅在 CN3860 评估板上以 32 位模式做过轻度测试。Warner Losh (imp@FreeBSD.org) 一直在推动将此代码集成到树中。

  • 为 RMI 提供的 XLR 系列 SoC 新增移植。该移植目前也只支持单核。该代码能够运行多用户模式,但当前应视为 beta 质量。Randal Stewart (rrs@FreeBSD.org) 一直在推动将此移植集成到树中。

  • 为从此代码基础构建 mips64 内核提供初步支持。此处仍需进一步工作,但至少有两个内核成功以 64 位模式构建(OCTEON1 和 MALTA64)。

  • 提供对 N32 和 N64 ABI 的早期支持。

  • 添加了对启动压缩内核的支持(gonzo@)。

  • 改进了调试支持。

  • 改进了 busdma 和 bus_space 支持。

  • 修复了许多 bug。

  • 识别了更多类型的 MIPS 核心。

  • 扩展了对新处理器的缓存处理。

  • 开始移植到 alchemy au1XXX CPU,但仍处于实验阶段。

  • 正在为多核处理器(如 SiByte、Octeon 和 XLR 处理器)开发 SMP 支持。

过去一年中,开发分支多次被错误地更新,且损坏过于严重,无法修复。因此我们停用该分支,暂时将在 9.0-CURRENT 中继续 mips 开发。如果你已检出树,更新 projects/mips 树的建议方式是在该树中执行 svn switch svn://svn.FreeBSD.org/base/head。

我想感谢所有为 FreeBSD/mips 贡献时间、代码或硬件的人。

随着开发的进展,我将继续发布更新。此外,我希望为有意尝试的人员准备一些简短的“如何做”wiki 页面。

待办事项

  1. 我们仍在调查将所有这些工作合并到 8-STABLE 中的可行性,因为这代表了代码稳定性和质量的巨大飞跃。

FreeBSD/sparc64

联系方式:Marius Strobl <marius@FreeBSD.org>

自上次状态报告以来,主要工作是我解决了与 Sun Fire V215/V245 的剩余 PCI 问题,并且对这些机器的支持完成,并自 r202023 起成为 9.0-CURRENT 的一部分。幸运的话,它也将是即将发布的 7.3-RELEASE 的一部分。

其他一些新闻:

  • 修复了 NFS 服务器中的两个 bug,这些 bug 导致了在 sparc64 和所有其他具有严格对齐要求的架构(基本上是所有 Tier-2 架构)上发生非对齐访问,并因此导致 panic。预计会发布 8.0-RELEASE 修订通知。

  • FreeBSD 适应了新型 Sun Fire V480(配备 7 版本 Schizo 桥)的固件,并据报告在这些设备上运行正常。相关更改将包含在 7.3-RELEASE 中。不幸的是,在旧版本的 Sun Fire V480(至少配备 4 版本 Schizo 桥)上,在 FreeBSD 下使用板载网卡时仍会导致固件发出 FATAL RESET 错误,这看起来是 CPU bug,需要解决。

  • 对 Sun Fire V1280 的支持工作开始了,但仍处于非常早期阶段。不幸的是,这些机器非常怪异。在解决了两个固件特殊问题后,加载器现在可以启动内核,但在早期周期中,尝试从固件接管陷阱表时,机器会完全死机。

Ports

Chromium web browser

链接:

测试构建和移植进展

第一次构建信息

联系方式:Ben Laurie <ben@links.org>

Chromium 是基于 Webkit 的网页浏览器,主要采用 BSD 许可证。它已于 10 月从 Linux 移植到 FreeBSD,并且我们从那时起周期性地发布补丁和测试构建。Chromium 在 FreeBSD 上运行良好——它非常快速且稳定,但仍有一些粗糙的地方需要打磨。剩下的两个 bug 应该在发布 chromium-devel Port 之前修复。我们正在寻找志愿者来测试和维护这个移植,以使这个 BSD 浏览器成为 FreeBSD 桌面系统上的可行选项。

待办事项

  1. 修复间歇性的渲染冻结问题。

  2. 修复 i386 架构上的 JavaScript 解释器 v8 问题。

Ports

链接:

FreeBSD Ports

贡献 FreeBSD Ports

FreeBSD ports 监控系统

FreeBSD Ports 管理团队

marcuscom Tinderbox

联系方式:Mark Linimon <linimon@FreeBSD.org>

最近的大部分活动都与 8.0-RELEASE 过程有关。作为一个实验,我们尝试尽可能地将 Port QA 时间线与 src QA 时间线解耦。尽管这意味着对积极维护和使用 Port 的人员的影响比以前的版本小得多,但它仍未解决发布时带着过时软件包的问题。我们仍在努力寻找一个更好的解决方案。

Port 数量超过 21,000。PR 数量激增至 1,000 多个,但现在回落到大约 950。

目前我们正在为 amd64-6、amd64-7、amd64-8、i386-6、i386-7、i386-8、i386-9、ia64-8、sparc64-7 和 sparc64-8 构建软件包。这意味着自上次报告以来,新增了 i386-9 和 ia64-8。

关于何时停止为 6.X 构建常规软件包的讨论仍在进行中,但尚未做出决定。集群和 Port 管理人员正努力应对如此多的分支同时活跃的情况。

Mark Linimon 继续在集群节点方面取得进展。几乎所有没有硬盘故障的节点现在都在线。此外,他继续调试偶尔导致节点脱机的问题。

下一项任务是评估构建集群的整体性能。我们被问到:“要加速软件包构建,需要做什么?”这个问题没有简单的答案。这不仅仅是增加更多的软件包构建机器那么简单,因此在寻求资金之前,我们首先需要识别当前的瓶颈。虽然我们开始理解节点上的问题,但分发机器本身的问题要复杂得多。更复杂的是,有几个定期过程(如 ZFS 备份、ZFS 过期和错误日志压缩等)会共同显著减慢该机器的速度。所有这些同时发生的情况事实上很难量化。

Pav Lucistnik 和 Martin Wilke 完成并提交了更多的实验性 Port 构建。

自上次报告以来,我们增加了 3 名新的提交者,并且有 1 名前提交者重新加入。

待办事项

  1. 我们仍在努力设置可供提交者做预测试的 Ports tinderbox。

  2. 剩余的大部分 Port PR 都是“已分配给提交者的现有 Port/PR”。尽管维护者超时政策有助于保持积压的减少,但我们还需要做更多工作,以使 Port 达到真正需要的状态。

  3. 尽管我们增加了许多维护者,但我们仍有超过 4,700 个无人维护的 Port。(例如,参见 portsmon 上的列表,比例保持在 22% 以上。)我们始终在寻找专注的志愿者来至少接管一些无人维护的 Port。此外,amd64 和尤其是 sparc64 上的软件包滞后于 i386,我们需要更多的测试者来支持这些架构。

FreeBSD 上的 VirtualBox

链接:http://wiki.freebsd.org/VirtualBox

联系方式:Beat Gaetzi <beat@FreeBSD.org>

联系方式:Bernhard Froehlich <decke@bluelife.at>

联系方式:Juergen Lock <nox@FreeBSD.org>

联系方式:Martin Wilke <miwi@FreeBSD.org>

VirtualBox 3.1.2 提交到 Ports。

此更新对 Port 做了若干更改,包括:

  • 将 Port 重命名为 virtualbox-ose,以反映我们现在使用的是 OSE 版本。

  • 为内核模块创建了一个单独的 Port——virtualbox-ose-kmod。

  • 为 FreeBSD 客户机创建了一个单独的客机附加包——virtualbox-ose-additions。

  • 为 PulseAudio 添加了适当的 FreeBSD 支持。

  • 由于 vbox 现在使用 sysctl(3),不再需要 Procfs。

  • 添加了 Juergen Lock 的 FreeBSD 主机网络补丁。它们现在也在上游 vbox SVN 中(除了 vbox 变量命名样式的调整)。

  • 允许再次使用直接 tap 网络(对于需要最佳网络性能或需要更复杂网络设置的用户,例如当他们希望使用路由而非桥接,以保护客户机免受干扰 LAN 的 ARP 表时;上面的 freebsd-emulation@ 邮件中有 tap + 路由 + 代理 arp 示例)。

  • 在使用桥接模式的 Wifi 接口时启用 vbox 的共享 MAC 功能,结合 virtualbox-ose-kmod 更改,这应该能修复 Wifi 用户的桥接模式问题。

我们要感谢所有通过报告 bug 和提交修复来帮助我们的人。我们还感谢 VirtualBox 开发者在将 VirtualBox 移植到 FreeBSD 的持续努力中给予的帮助。

供应商 / 第三方软件

FreeBSD DAHDI (Zaptel) 支持

链接:

官方公告

SVN 仓库

联系方式:Max Khon <fjoe@FreeBSD.org>

FreeBSD 的 DAHDI 支持模块在官方 Asterisk SVN 仓库中创建。

目前已移植以下驱动程序:

  • 主要的 DAHDI 驱动程序

  • 所有软件回声消除驱动程序

  • dahdi_dynamic

  • dahdi_dynamic_loc

目前已移植并测试以下硬件驱动程序:

  • wct4xxp,包括硬件回声消除支持(Octasic)

    • Digium TE205P/TE207P/TE210P/TE212P:PCI 双端口 T1/E1/J1

    • Digium TE405P/TE407P/TE410P/TE412P:PCI 四端口 T1/E1/J1

    • Digium TE220:PCIe 双端口 T1/E1/J1

    • Digium TE420:PCIe 四端口 T1/E1/J1

  • wcb4xxp

    • Digium B410:PCI 四端口 BRI

    • Junghanns.NET HFC-2S/4S/8S duo/quad/octoBRI

    • OpenVox B200P/B400P/B800P

    • BeroNet BN2S0/BN4S0/BN8S0

待办事项

  1. dahdi_dynamic_eth 和 dahdi_dynamic_ethmf 的移植正在进行中。

  2. 需要移植更多的硬件驱动程序。

  3. 如果你能提供带串口控制台的远程访问,并且该设备上有当前 DAHDI 不支持但 DAHDI for Linux 支持的 ISDN/T1/E1 硬件,请告诉我。我也有兴趣为 FXO/FXS 卡移植驱动程序。如果你能提供远程访问或捐赠一张卡,请告诉我。

NVIDIA amd64 driver

链接:发布公告

联系方式:John Baldwin <jhb@FreeBSD.org>

NVIDIA 发布了其 FreeBSD/amd64 显卡驱动程序的首个 BETA 版本。请注意,此驱动程序将适用于 FreeBSD 版本 7.3-RELEASE 或 8.0-RELEASE 及更高版本。它还适用于 7.2-STABLE 的最新版本。更多细节请参考官方发布公告。

杂项

AsiaBSDCon 2010 — BSD 大会

链接:http://2010.asiabsdcon.org/

联系方式:AsiaBSDCon 信息 <secretary@AsiaBSDCon.org>

AsiaBSDCon 是面向基于 BSD 系统的用户和开发者的大会。AsiaBSDCon 是一场技术大会,旨在收集最好的技术论文和演讲,确保我们开源社区的最新发展能与最广泛的受众分享。该会议适合所有开发、部署和使用基于 FreeBSD、NetBSD、OpenBSD、DragonFlyBSD、Darwin 和 MacOS X 的系统的人。

下一届大会将于 2010 年 3 月 11 日至 14 日在日本东京的东京理科大学举行。

欲了解更多详细信息,请查看大会官网。

BSDCan 2010 — BSD 大会

链接:http://www.bsdcan.org/2010/

联系方式:BSDCan 信息 <info@BSDCan.org>

BSDCan 是一场在加拿大渥太华举行的 BSD 大会,迅速成为了针对基于 4.4BSD 的操作系统和相关项目开发者的技术大会。组织者找到了一种非常成功的模式,能够吸引从初学者到高级开发者的广泛人群。

BSDCan 2010 将于 2010 年 5 月 13 日至 14 日在渥太华大学举行,之前将在 5 月 11 日至 12 日举行两天的教程课程。

在大会前后,将会有一些相关的社交活动。

请查看大会官网以获取更多信息。

meetBSD 2010 — BSD 大会

链接:http://www.meetbsd.org/

联系方式:meetBSD 信息 <info@meetBSD.org>

meetBSD 大会是每年举行的活动,聚集了 BSD 操作系统家族的用户和开发者,主要是 FreeBSD、NetBSD 和 OpenBSD。继加利福尼亚特别专场和在利维尼奥举办的 meetBSD Wintercamp 之后,今年我们将回到波兰克拉科夫。

在 2010 年,meetBSD 将于 7 月 2 日至 3 日在雅盖隆大学举行。

请查看大会官网获取更多细节。

FreeBSD 论坛

链接:http://forums.freebsd.org/

联系方式:FreeBSD 论坛管理员 <forum-admins@FreeBSD.org>

联系方式:FreeBSD 论坛版主 <forum-moderators@FreeBSD.org>

自上次报告以来,我们的论坛用户增长了 2,000 人,目前注册用户接近 10,000 人。帖子数量即将达到 60,000 条,分布在约 9,000 个主题中。

每周的注册人数仍然维持在 50 至 100 人之间。目前,访问者总数(包括“游客”)很难准确估算,但可能是注册用户数的数倍。

新的主题和帖子会积极地“推送”到搜索引擎中,这使得论坛在搜索结果中越来越频繁地出现,成为 FreeBSD 社区一个宝贵且极为易于访问的信息来源。

论坛成功的一个原因是其“BSD 风格”的管理和版主方式。论坛有着强烈而统一的身份认同,并且得到了非常活跃的版主管理,完全没有垃圾信息,核心成员非常活跃且乐于助人,向 FreeBSD 的初学者、中级用户和专业用户传授了合计数十年的知识。

用户空间工具

BSD 许可的文本处理工具

链接:Perforce 仓库

联系方式:Gábor Kövesdán <gabor@FreeBSD.org>

随着 8.0-RELEASE 的发布,BSD bc/dc 现在可以提交到 9.0-CURRENT。我们正在等待实验性软件包构建,以确保这一更改不会引起回归。BSD grep 完成,但由于某些正则表达式库问题,尚无法集成。我们首先需要一个快速且现代的正则表达式库,才能切换到 BSD grep。BSD sort 还有一些未完成的功能,并需要性能评审。

待办事项

  1. 提交 BSD bc/dc。

  2. 实现 sort 的剩余功能并优化性能。

最后更新于