FreeBSD 2006 年 1-3 月状态报告
引言
本季度报告的亮点无疑是得益于 FreeBSD 基金会 提供的原生 Java 二进制文件可用了,同时在 Xen 支持和 Sun 的 Ultrasparc T1 方面也取得了进展。此外,我们期待着 FreeBSD 6.1 的发布,且 TrustedBSD 审计支持已导入 FreeBSD 7-CURRENT。总的来说,这是 2006 年令人兴奋的开端。
不到一个月,开发者们将在 BSDCan 2006 集结,参加 FreeBSD 开发者峰会,这是为期两天的 FreeBSD 开发者会议。再次提醒,BSDCan 日程表 已填满了许多有趣的演讲。
我们希望你享受阅读,并期待在下一轮报告中收到你的反馈。请查阅 项目和想法 列表,了解如何参与其中。第二季度报告的提交日期为 2006 年 7 月 7 日。
感谢所有提交报告的人,以及加入状态报告团队并参与校对的 Brad Davis。
链接:http://wiki.freebsd.org/moin.cgi/BSDInstaller
联系人:Andrew Turner <soc-andrew@FreeBSD.org>
自上次报告以来,BSDInstaller 的集成工作取得了进展。后端已更改为新的 Lua 版本,以确保我们使用的版本将继续得到维护。发布的 Makefile 现在使用 Lua 包,而不是 Perforce 中的本地副本。为了避免将 Lua 引入基本系统,所需的模块也正在创建相应的 Port。
待办事项
为所有需要的 Lua 模块创建 Port
链接:
联系人:FreeSBIE 团队 <staff@FreeSBIE.org>
联系人:FreeSBIE 邮件列表 <freesbie@gufi.org>
该项目依然活跃,并计划在 FreeBSD 6.1-RELEASE 发布后的几天内发布基于该版本的 FreeSBIE 2.0 ISO 镜像。FreeSBIE 2.0 将支持 i386 和 amd64 架构。你可以通过 BitTorrent 从 torrent.freesbie.org 下载测试镜像。
待办事项
测试 i386 和 amd64 架构的 “测试 ISO 镜像”
提议添加到 ISO 镜像中的软件包
征求对 Xfce 和 fluxbox 外观的建议
征求对应用程序配置文件的建议
链接:
联系人:Scott Ullrich <sullrich@gmail.com>
pfSense 继续发展并修复 bug。自上次报告以来,我们已经扩展到 14 位开发者,部分和全职参与者将 pfSense 推向 1.0 版本。计划于 2006 年 4 月 15 日发布 Beta 3。
待办事项
修复 CVSTrac 中列出的剩余 bug
精细调整现有代码
链接:
联系人:Daniel Eischen <deischen@FreeBSD.org>
符号版本控制库使我们能够在不增加库版本号的情况下维护二进制兼容性。最近,libc、libpthread、libthread_db 和 libm 的符号版本控制已被提交到 -current。默认情况下,它是禁用的,可以通过将 "SYMVER_ENABLED=true"
添加到 /etc/make.conf
来启用。在默认启用此功能之前,应为 libc 和其他受影响的库(可能是所有库)进行最终版本更新。
待办事项
确定对 Port 的影响 - portmgr(Kris)正在运行 portbuild 来识别任何问题。我正在处理发现的少数问题。
在构建共享库时,使我们的链接器在使用 (-pthread) 时链接到 libc 和 libpthread。这是必要的,以便符号版本依赖关系能够记录在共享库中。我认为 kan@ 正在处理这个问题。???
识别并符号版本化任何其他应进行符号版本控制的库。如果有人有建议,请告诉我。
链接:
联系人:Robert Watson <rwatson@FreeBSD.org>
联系人:<trustedbsd-audit@TrustedBSD.org>
过去三个月中,TrustedBSD CAPP 审计实现已被合并到 FreeBSD 7-CURRENT 开发树中,并已为与 6.X 合并奠定了基础。OpenBSM 是 Sun 的基本安全模块(BSM)API 和文件格式的 BSD 许可实现,并扩展以支持入侵检测应用程序。新特性包括支持审计管道,一个伪设备,提供入侵检测应用程序的实时审计记录接口,以及一个审计过滤守护进程,允许插件模块监控实时事件。
待办事项
完成对非原生系统调用 ABI 和一些较新的基本系统调用的审计覆盖。
集成 OpenBSM 1.0 alpha 6,其中包括 auditfilterd 和审计过滤 API。
链接:
联系人:Robert Watson <rwatson@FreeBSD.org>
联系人:<trustedbsd-audit@TrustedBSD.org>
OpenBSM 是基于 Apple 的 Darwin 实现的 BSD 许可的 Sun 基本安全模块(BSM)API 和文件格式实现。现已发布 OpenBSM 1.0 alpha 5 ,并包括相对于之前版本的显著 bug 修复、文档和功能增强,支持 64 位令牌、字节序无关的操作、改进的内存管理,以及通过 Coverity 和 FlexeLint 提供的静态分析工具修复的 bug。最近的版本现在使用 autoconf 和 automake 构建和配置,已在 FreeBSD、Mac OS X 和 Linux 上构建并测试过。
待办事项
完成 OpenBSM 文件格式验证测试套件。
完成审计过滤 API。
完成文件格式文档;记录与 Mac OS X、FreeBSD 和 Linux 特定事件相关的新记录类型,这些事件在 Solaris 文件格式文档中没有记录。
联系人:Andrew Thompson <thompsa@FreeBSD.org>
已开始实施快速生成树协议(RSTP),它取代了传统的 STP。与 STP 需要 30-60 秒的链路故障恢复时间相比,RSTP 的恢复时间为大约 1 秒,这对于现代网络非常重要。目前已有一些进展,但很快需要一台支持 RSTP 的交换机以继续推进,详情请见 http://www.freebsd.org/donations/wantlist.html。
待办事项
捐赠一台支持 RSTP 的交换机
链接:http://sources.zabbadoz.net/freebsd/ipv6/fast-ipsec.html
联系人:George Neville-Neil <gnn@FreeBSD.org>
联系人:Bjoern A. Zeeb <bz@FreeBSD.org>
已完成并提交到 CVS 的 PF_KEY
代码分离工作,将内核和用户空间的代码分开。
Kame 基于 IPv4 的 IPSec 和 IPv4 FAST_IPSEC
之间的差异没有显示出明显的问题。
接下来,将重点工作在使 FAST_IPSEC
支持 IPv6,并能够运行内核的以下几种变体:
仅支持
FAST_IPSEC
v4KAME 支持 IPv6 和 IPSec
KAME 支持 IPv6 和
FAST_IPSEC
待办事项
所有关于
FAST_IPSEC
和 KAME IPSec(无论是 v4 还是 v6)的补丁,请转发给 bz@ 和 gnn@。构建一个更好的 TAHI 测试框架。TAHI 测试框架将不再维护,而且它并不是一个容易使用和理解的系统。一个更好的测试框架是可能且必要的,它对其他网络项目也非常重要。如果有时间并希望参与此项工作,请联系 gnn@,他有一些代码和想法可以作为起点。
联系人:Chuck Lever <cel@FreeBSD.org>
FreeBSD 中的 NFS 支持在本季度得到了提升,因为来自 Network Appliance 的一位内核开发者志愿者帮助处理客户端问题。Chuck Lever 现在是 src committer,并由 Mike Silbersack 指导。Mohan Srinivasan 和 Jim Rees 完成了他们的学徒期,现在是全职 committer。Mohan 继续致力于使 NFSv2/3 客户端支持 SMP 安全性,预计很快会发布可供审查的更改。
FreeBSD 在一年一度的 NFS 互操作性活动 Connectathon 中获得了关注。Rick Macklem 的 FreeBSD NFSv4 服务器现在相当稳定,并通过匿名 FTP 提供。NFSv4.1 的特性尚未包含在内,预计至少到 2006 年底之前不会完成。欲了解更多详情,请联系 rick@snowhite.cis.uoguelph.ca。
链接:
联系人:Robert Watson <rwatson@FreeBSD.org>
FreeBSD 的 netperf 项目最近专注于修订套接字和协议控制块的引用计数,以定义和强制执行引用和内存管理的不变量,从而消除不必要的检查、错误处理和锁定。现在已经消除了对全局 pcbinfo 锁的使用,所有网络协议的套接字发送和接收路径,包括 netipx、netnatm、netatalk、netinet、netinet6、netgraph 等。检查通常已被断言取代;因此,so_pcb
现在保证不为 NULL
。这应通过减少锁竞争和不必要的检查来提高性能,并促进后续工作,以通过适当的引用计数消除 TCP 输入路径中 pcbinfo 锁的长时间持有。这些更改已经提交到 FreeBSD 7-CURRENT,等它们稳定后将在几个月后合并。
链接:
联系人:Joseph Koshy <jkoshy@FreeBSD.org>
该项目实现了一个内核模块(hwpmc(4))、一个应用程序编程接口(pmc(3))和一些简单的应用程序(pmcstat(8) 和 pmccontrol(8)),用于使用现代 CPU 中的事件监控硬件来测量系统性能。
自上次状态报告以来的新特性:
增加了对动态加载的内核和用户对象进行剖析的支持。
pmcstat(8) 现在支持命令行语法以记录到网络套接字。
链接:
联系人:Multimedia Mailinglist <freebsd-multimedia@FreeBSD.org>
联系人:Ariff Abdullah <ariff@FreeBSD.org>
联系人:Alexander Leidinger <netchild@FreeBSD.org>
大量的修复(BUG、LOR、崩溃)和改进(性能、兼容性、新驱动程序、24/32 位采样支持等)已合并到 RELENG_6 中。FreeBSD 6.1 是第一个带有显著改进的声音系统的版本。此外,还在进行以下工作:
使声音系统 API 具有端序清晰性。这应该能让开发人员更容易地在所有架构上使用声音驱动程序。
重新设计字符设备分配。这样,用户可以选择特定的通道,例如
/dev/dsp0.r0
和/dev/dsp0.p0
,分别访问第一个录音通道或播放通道。在当前的声音系统中(例如 FreeBSD 6.1),这是不可能的(访问/dev/dsp0.0
和/dev/dsp0.1
可能会给你第一个或第二个通道,数字只是枚举,不是通道选择器)。添加多通道支持/处理。
添加 Intel HDA 支持。已经有一些代码可以查看(见上述链接),但还远未对终端用户可用(我们需要一些程序员,但目前不需要测试人员,因为还没有用户可测试的部分)。有兴趣的志愿者可以联系多媒体邮件列表。
这项工作的一部分可能已经包含在 6.1 中,但仍有很大一部分尚未在当前版本中。
待办事项
清理 Style(9),至少在
WARNS=2
下生效。查看与声音相关的想法列表中的条目。
重写部分代码(例如:一个新的具有 OSS 兼容性的混音子系统)。
sndctl(1):工具,用于用户控制声音系统的非混音部分(例如:SPDIF 切换、虚拟 3D 效果)(而不是使用当前的 sysctl 方法);pcmplay(1),pcmrec(1),pcmutil(1)。
可插拔 FEEDER 基础设施,用于调试各种馈送内容/作为用户空间库和测试套件。
更紧密的 OSS 兼容性,尤其是对即将到来的 OSS v4 的支持。
联系人:Søren Schmidt <sos@FreeBSD.org>
过去几个月的工作主要集中在稳定 ATA 以便为 6.1-RELEASE 做准备,并增加对新芯片组的支持。在这方面,JMicron 为厂商树立了一个标杆,因为他们不仅提供了硬件,还提供了关于硬件和软件 RAID 实现的文档,使得添加对其优秀产品的支持变得非常轻松。其他厂商也可以加入进来。:) 除此之外,我始终需要时间和资源来继续推进这项工作。
ATA 已经添加了 USB 后端,这样就可以直接使用闪存驱动器和外部硬盘/CD/DVD 驱动器,而无需通过 atapicam/CAM 等。这在资源有限的嵌入式系统中非常有用,尤其是在内核空间稀缺的情况下。burncd(8) 正在更新,以支持此功能,并添加对 SATA ATAPI 设备的支持,如果时间允许,还会增加对 DVD 的支持。
接下来的几个月将用于(希望能够)解决 ATA 在大于 4GB 内存系统中的兼容性问题,并利用支持的控制器的 64 位寻址。RAID5 对 ataraid 的支持也在计划中,同时对 RAID 子系统进行加固,以帮助保护数据安全。
链接:
联系人:Rohit Jalan <rohitj@purpe.com>
迄今为止已发布了三个测试版。代码已经可以使用,并且看起来很稳定,但它还不是 MPSAFE。
第二和第三个测试版使用了不同的数据 I/O 机制(sfbuf 与 kernel_map+vacache
),目前我正在选择其中一个机制。欢迎大家提出意见。
链接:http://www.freebsd.org/projects/ideas/
联系人:Joel Dahl <joel@FreeBSD.org>
联系人:Alexander Leidinger <netchild@FreeBSD.org>
FreeBSD 的项目和志愿者想法列表进展顺利。多个项目已经由志愿者接手,并成功合并到项目中。其他项目正在审查或进行中。
我们期待听到新的想法、愿意担任通用主题(例如:USB)或特定条目(无论是现有的还是新创建的)的技术联系人的人,以及对现有条目的建议或(部分)完成报告。
待办事项
增加更多的想法。
寻找更多技术联系人。
寻找愿意审查/测试已完成(或接近完成)条目的人员。
链接:
联系人:Jordan Sissel <jls@csh.rit.edu>
当前的鼠标系统混乱不堪,moused
、psm
、ums
和 mse
各自独立支持多种鼠标类型。该项目旨在将所有驱动程序支持转移到用户空间中的 moused 模块中。此外,现有鼠标基础设施中缺失的许多功能正在被添加。希望这个新系统能够简化鼠标的使用和驱动程序的编写。
待办事项
测试。如果有兴趣,请联系。
链接:
联系人:Brooks Davis <brooks@FreeBSD.org>
联系人:Sam Leffler <sam@FreeBSD.org>
HEAD 中的所有 dhclient 变更已经合并到 6-STABLE 中,以便用于 6.1-RELEASE。目前正在测试的新补丁包括对启动脚本的支持,支持完全异步启动 dhclient,消除了启动时等待连接的问题,并且在未指定系统主机名时,支持将系统主机名发送给服务器。
链接:
联系人:John-Mark Gurney <jmg@FreeBSD.org>
这是一个更新,说明 TS-7200 已经在最近的 -current 版本上成功构建并运行。
我一直在努力让 FreeBSD/arm 在 TS-7200 上运行。目前,主板已经能够启动,并且以太网部分能够工作(尽管存在一些无法解释的数据包丢失问题)。我可以从 FreeBSD/i386 机器上进行网络启动,并且能够在 CF 上挂载 msdosfs。
待办事项
找出为什么一些小数据包传输时会出错(如果有人能让 Technologic Systems 注意到我和这个问题,那就太好了!)
为 EP93xx 提供标识信息,以便正确连接各种板载设备。
链接:
联系人:Scott Long <scottl@FreeBSD.org>
联系人:Kip Macy <kmacy@FreeBSD.org>
我们本希望能在 FreeBSD 6.1 发布之前完成 Xen DomU 和可能的 Dom0 原型。主要工作集中在将 Xen 集成到 FreeBSD 的 newbus
框架中。不幸的是,FreeBSD 中的一个架构性问题阻碍了进展。Xen 依赖于子域和父域之间的消息传递来配置设备,而这要求在启动早期,tsleep 和 wakeup 必须能够正常工作。当前似乎无法实现这一点,也不清楚需要做什么才能让它工作。没有完成 newbus 的工作,就很难完成 Dom0 代码,并且不可能支持 Xen 3.0 中的功能,如域挂起。
待办事项
使 tsleep 和 wakeup 在启动早期工作。
继续完成 DomU 的 newbus 工作。
继续进行 Dom0 的工作。
链接:
联系人:Kip Macy <kmacy@FreeBSD.org>
联系人:John Gurney <jmg@FreeBSD.org>
FreeBSD 已经移植到 T1,这是 Sun 最新的处理器。目前,FreeBSD 支持多用户 SMP。JMG 正在积极改进设备支持。
由于当前的 sparc64 移植大部分无法重用,因此这个移植项目比最初预期的时间要长几个星期。
链接:
http://developer.berlios.de/projects/libpkg/
联系人:Andrew Turner <andrew@fubar.geek.nz>
Libpkg 是一个使用 libarchive 提取包文件的包管理库。它可以下载、安装并列出已安装的包。目前已经开始实施基本系统中的包工具。已经实现大部分 pkg_info
,也已经开始实现 pkg_add
。
待办事项
让
pkg_info
和pkg_add
中有更多的命令行选项。创建一个包。
测试
pkg_add
是否按预期工作,支持所有已实现的命令行选项。
链接:
FreeBSD Ports 无法获取的 distfile 调查(Bill Fenner 的报告)
FreeBSD Ports 更新的 distfile 调查(Edwin Groothius 的报告)
联系人:Mark Linimon <linimon@FreeBSD.org>
在此期间,Ports PR 的数量急剧增加,达到了上个季度末的低点。这主要是因为节假日、5.5/6.1 发布周期的冻结,以及一些提交者为解决长期存在的过时 distfiles、过时的 WWW 网站、只在 i386 上工作的 Port 等问题所做的积极工作。此外,还添加了 200 多个新 Port。统计数据未能完全反映 Ports 的状态,尽管 PR 数量增加,但仍在持续改善。
目前,我们有 3 位合格人员可以运行 5-exp 回归测试。正因为如此,我们能够进行几轮测试,并进行了多次提交,解决了 3 打以上的 portmgr PR。虽然在一次提交过程中发生了一些预期外的后果,但破损在不到一天的时间内得到修复。值得注意的变化包括新增了物理类别 net-p2p 和虚拟类别 hamradio 和 rubygems。5.5 和 6.1 发布后,portmgr 希望能更频繁地进行回归测试。
自上次报告以来,我们新增了 5 名提交者。
待办事项
我们需要帮助恢复到我们现代的 500 PR 的低点。
我们有 4,000 多个无人维护的 Port(例如,见 portsmon 上的列表)。我们始终在寻找愿意至少接管一些 Port 的志愿者。
链接
联系人:Emulation Mailinglist <freebsd-emulation@FreeBSD.org>
联系人:Alexander Leidinger <netchild@FreeBSD.org>
联系人:Boris Samorodov <bsam@ipt.ru>
目前正在进行将新的 linux_base-fc3 作为默认的 Linux 基础来进行更新。由于在此之前需要进行一些基础设施工作,因此这项工作不会在 FreeBSD 5.5 和 6.1 发布之前完成。与此同时,基于 X.org 的新的 Linux Port 将取代过时的基于 XFree86 的 Linux X11 Port。
选择使用 fc3 而不是 fc4 或 fc5,是为了确保过渡尽可能顺利,减少破坏。目前,我们已经使用了几个 fc3 的 RPM 包,作为当前默认的 linux_base-8,因此不应该有太多问题需要解决。
待办事项
将所有旧的 linux_base Port 记为 DEPRECATED(在将 fc3 设为默认 Port linux_base 之后)。
查看与 X.org 更新兼容的 linux 驱动版本。
在所有内容切换到 fc3 并且一切至少如之前正常工作时,再考虑移植 fc4 或 fc5。
链接:
联系人:Anish Mistry <amistry@am-productions.biz>
HP 的 hplip 软件的初步版本已被移植,支持其打印机和多功能设备。可查看来自打印机的状态信息,如墨水水平、错误消息和队列信息。如果你使用的是 Officejet,你还可以发送传真和扫描。照片卡和复印功能尚未测试。
待办事项
一般测试
照片卡测试
各种 ugen 修复
修复 Officejet 面板显示
以非特权用户身份运行 hpiod 和 hpssd
去除 Makefile 中的 Linux 特性
修复“制作复印”
自动设置扫描仪
链接:
联系人:Deb Goodkin <deb@freebsd.org>
FreeBSD 基金会发布了官方认证的 JDK 和 JRE 1.5 二进制文件,适用于 i386 平台的官方 FreeBSD 5.4 和 FreeBSD 6.0 版本。我们通过聘请一名承包商运行 Sun 认证测试,修复发现的问题,成功完成了这一目标。离开 BSD Java 团队的支持,这一过程是不可能完成的。
我们为 Java 开发提供了资金支持,赞助了认证过程。我们在合同和创建 NDA(保密协议)、Sun 许可证协议以及为二进制文件创建自己的许可证方面花费了大量时间和金钱。我们与希望使用这些二进制文件的 OEM 合作,但他们需要了解如何合法地重新分发这些二进制文件。这仍然是我们在这方面的工作。我们正在等待 Sun 的一封信函,并将在网站上发布给 OEM。此外,我们还在更新我们的 OEM 许可证协议,预计在 4 月中旬发布。
我们已收到 FreeBSD 社区对发布二进制文件的积极反馈。我们收到了一些支持 FreeBSD 6.1/amd64 平台的请求。我们决定继续支持这一平台。目前,我们正在与承包商合作,提供对 5.5/i386、6.1/i386 和 6.1/amd64 的 Java 支持。待 5.5 和 6.1 发布,我们将更新 FreeBSD 基金会网站上的 Java 状态。网站将定期更新。
链接:
联系人:Max Laier <mlaier@FreeBSD.org>
导入即将发布的 OpenBSD 3.9 版本 pf 的工作开始得比较缓慢。需要在此之前导入几个基础设施变更(如接口组)。该工作已进入最后阶段。
自上次报告以来,已经修复了几个 bug,这些修复将在 FreeBSD 6.1/5.5 中提供。强烈建议 pf 用户升级到 RELENG_6,因为 RELENG_5 中的版本已经过时。
链接:http://www.bsdcan.org/2006/
联系人:Dan Langille <dan@langille.org>
BSDCan 2006 的日程 显示了 BSDCan 在短时间内变得多么强大和受欢迎。三条并行的演讲流确保每个人都能找到感兴趣的话题。我们提供高质量的演讲,并且价格非常实惠。注册价格 也非常有竞争力。
BSDCan 是 2006 年最大的 BSD 事件。询问曾参加过的其他人,他们是如何在渥太华度过的时光的。问问他们遇见了谁,和谁交谈了,建立了哪些联系,学到了哪些信息。
记得带上你的配偶和家人,因为我们会为他们安排活动,你在参加会议时可以放松。渥太华是个绝佳的旅游目的地。
在 BSDCan 2006 上见!
待办事项
进行中的工作——如果你想分享你的项目,时间为 5 分钟,这是你的机会。请尽早与我们联系以预定你的位置。
我们正在寻找志愿者,在会议前和期间提供帮助。请通过上述地址联系 Dan。
链接:
联系人:安全官员 <security-officer@FreeBSD.org>
联系人:安全团队 <security-team@FreeBSD.org>
2006 年 3 月,Marcus Alves Grando、George Neville-Neil 和 Philip Paeps 加入了 FreeBSD 安全团队。目前的安全团队成员已在网站上公布。
自上次状态报告以来,已发布了八个安全通告,涉及 FreeBSD 基本系统中的问题。其中,三个问题出现在“第三方的”代码中,五个问题出现在 FreeBSD 内部维护的代码中。安全团队继续更新漏洞和暴露标记语言(VuXML)文档,并由 Ports 提交者记录 FreeBSD Ports 中的新漏洞;自上次状态报告以来,已添加 50 条新条目,总数达到 686 条。
FreeBSD 安全团队支持以下 FreeBSD 版本:FreeBSD 4.10、FreeBSD 4.11、FreeBSD 5.3、FreeBSD 5.4 和 FreeBSD 6.0。FreeBSD 5.5 和 FreeBSD 6.1 在发布后也将得到支持。受支持版本的生命周期结束日期已在网站上列出;特别需要注意的是,FreeBSD 4.10 和 FreeBSD 5.4 将在 2006 年 5 月底停止支持。
链接:http://people.freebsd.org/~cperciva/funding.html
联系人:Colin Percival <cperciva@FreeBSD.org>
自 2003 年以来,我推出了(现在相当广泛使用的)FreeBSD Update 和 Portsnap 工具,但由于时间限制,很少有机会对其进行改进或添加请求的功能。因此,在 3 月 30 日,我向 freebsd-hackers、freebsd-security 和 freebsd-announce 列表发送了电子邮件,宣布我正在寻求资金,以便让我能够在夏季全职从事这些工作并担任 FreeBSD 安全官员。如果一些支票按预期到达,我已经达到了捐赠目标,并将在 5 月初开始工作。
待办事项
我计划完成的工作列在上述链接中。
最后更新于
这有帮助吗?