FreeBSD 2002 年 9-10 月状态报告
FreeBSD 2002 年 9-10 月状态报告
原文链接:FreeBSD 2002 年 9-10 月状态报告
介绍:
FreeBSD 项目的又一段忙碌的时光带来了 5.0-CURRENT 分支的显著成熟和功能完善。而且时机恰到好处,因为在你阅读下个状态报告时,我们希望你已经在桌面上运行着 FreeBSD 5.0!在过去的两个月里,我们见证了 sparc64 升级为 Tier 1(完全支持)状态、高质量存储加密模块的集成、硬件加速 IPsec 支持的提交、通用“设备守护进程”的加入,用于处理硬件连接/断开事件,取代了早期的单一用途和总线特定守护进程,RAIDFrame 的提交,以及 TrustedBSD 工作的成熟度提升。我们还见证了 4.x 分支的另一版成功发布,即 4.7-RELEASE,这将继续作为生产支持平台,而 5.X 则正逐步到位。
在接下来的两个月里,FreeBSD 项目将几乎完全专注于确保 5.0 的成功:提高系统的稳定性和性能,并增加能够在 5.0 上构建和运行的应用程序池。在你阅读此报告时,发布工程团队已经宣布 5.0 的代码冻结,并发布了 DP2。接下来会有一系列的发布候选版本(RC),然后是正式发布。如果你有兴趣参与测试过程,请帮忙——一台备用计算机和一份烧录到 CD 上的 DP 和 RC ISO 镜像将产生影响。预发布版本的操作系统通常会有一些警告提示!你也许还会对发布工程团队制作的早期采用者指南感兴趣,帮助你判断何时适合从 4.x 分支过渡到 5.x 分支。
感谢,
Robert Watson,Scott Long
链接
联系人:Maksim Yevmenkin <m_evmenkin@yahoo.com>
我很高兴地宣布,现已可以下载另一个工程版发布,网址为 http://www.geocities.com/m_evmenkin/ngbt-fbsd-20021104.tar.gz
此版本包括了一些小的错误修复和新的 Port OpenOBEX 库。快照包含对 H4 UART 和 H2 USB 传输层的支持,主机控制器接口(HCI),链路层控制与适配协议(L2CAP)以及蓝牙套接字层。它还带有一些用户空间实用程序,可以用来配置和测试蓝牙设备。此外,还有几个手册页。
Port 服务发现协议(SDP)已更新至版本 0.8(从 BlueZ-sdp-0.8 移植)。大多数 RFCOMM 问题已解决,现在 rfcommd 可以与 Windows(3COM、Xircom 和 Widcomm)和 Linux 栈兼容。
新增支持的 USB 设备 - EPoX BT-DG02 加密狗。我还收到关于 Mitsumi USB 加密狗和 C413S 蓝牙手机的成功报告(L2CAP 和 SDP 正常工作,等待 RFCOMM 报告)。
我目前正在开发 OBEX 服务器(推送和文件传输协议),它将基于 OpenOBEX 库(包括在快照中)。
链接
[BSDCon 2003 征稿启事](http://www.usenix.org/events/bsdcon03/cfp/
联系人:Gregory Shapiro <gshapiro@FreeBSD.org>
BSDCon 2003 项目委员会邀请你提交原创和创新的论文,内容涉及与 BSD 衍生系统及开源世界相关的话题。感兴趣的主题包括但不限于:
嵌入式 BSD 应用开发与部署
使用 BSD 系统的实际经验
在混合操作系统环境中使用 BSD
与非 BSD 操作系统的比较;技术、实际、许可证(GPL 与 BSD)
跟踪非 BSD 系统上的开源开发
BSD 桌面应用
I/O 子系统和设备驱动程序开发
SMP 和内核线程
内核增强
网络和互联网服务
安全性
性能分析与调优
系统管理
BSD 的未来
提交的扩展摘要截止日期为 2003 年 4 月 1 日。在提交之前,请务必查看扩展摘要的要求。选择将基于书面提交的质量以及工作是否对社区有吸引力。
我们期待收到你的投稿!
链接
http://www.freebsd.org/projects/c99/
联系人:Mike Barcroft <mike@FreeBSD.org>
联系人:FreeBSD-Standards 邮件列表 <standards@FreeBSD.org>
2002 年 10 月 10 日标志着我们项目的一周年纪念。在这段时间里,我们在 FreeBSD 的标准合规性方面取得了显著进展。FreeBSD 5.0-RELEASE 将是我们辛勤工作的展示平台。我们希望我们的不懈努力对 FreeBSD 和那些维护或考虑将其软件移植到 FreeBSD 的软件供应商产生了积极的影响。
在 API 方面,添加了 _Exit(3)
(是 _exit(2)
的别名),sysconf(3) 已更新为符合 POSIX.1-2001 标准,并且一些 glob(3) 的新增功能已经 MFC(合并到主分支)。insque()、lsearch() 和 remque() 函数家族已经重新实现并从 libcompat 移至 libc。实现了多个宽字符函数,包括所有 printf() 和 scanf() 变体。最后,向 printf(3) 添加了对宽字符格式类型(%C
、%S
、%lc
、%ls
)的支持。
在实用程序合规性方面,getconf(1) 的合规性得到了更新,c99(1)(c89(1) 的新版本)已实现,cd(1) 和 command(1) 的更改已 MFC。
近 20 个头文件已更新以符合适用标准。剩余标准头文件的合规性问题已不多。由于 5.0-RELEASE 的准备工作,这一领域的工作进展放缓。
联系人:Warner Losh <imp@FreeBSD.org>
DEVD 已经集成到 FreeBSD 的当前版本中。它是在一个不完全的状态下集成的。然而,在目前的状态下,它仍然能处理一些简单的任务,比如在插入 SCSI pcmcia 卡时运行 camcontrol rescan
,或在插入以太网卡时运行 /etc/pccard_ether
。更复杂的正则表达式匹配功能尚未完成。Devd 只处理设备的到达和离开,但尚未处理未知设备。此外,除了监听设备事件之外,还希望 /dev/devctl 能够允许对设备树进行一些直接控制。
联系人:Sam Leffler <sam@FreeBSD.org>
该项目的主要目标是修改 IPsec 协议,以使用从 OpenBSD 导入的内核级加密子系统(详见其他地方)。次要目标是对 IPsec 协议进行性能调优。
此项工作已提交至 -current。要配置使用它,请在系统配置文件中指定选项 FAST_IPSEC
。目前,仅支持 IPv4。
链接
联系人:Joe Marcus <marcus@FreeBSD.org>
联系人:Maxim Sobolev <sobomax@FreeBSD.org>
联系人:Adam Weinberger <adamw@FreeBSD.org>
在过去的两个月里,GNOME 活动频繁。GNOME 已开始发布即将推出的 GNOME 2.2 桌面开发快照。FreeBSD 的移植工作已开始,并且不再局限于主 Ports,而是在 MarcusCom CVS 仓库中进行。如果你有兴趣测试新的桌面环境,请按照上述 cvsweb 链接中的说明操作,并检出 port
模块。
Evolution 1.2 也即将发布。Ximian 已发布其第一个候选版本 1.1.90,并已移植到 FreeBSD,可以从上述 MarcusCom CVS 仓库中获取。待 Ximian 正式发布 Evolution 1.2,将会将其放入 FreeBSD Ports 中。
Mozilla Port 也已更新。我们现在跟踪所有三个发布的 Mozilla 版本。mozilla-vendor Port 跟踪 1.0.x 分支,mozilla 跟踪 1.1.x,mozilla-devel 跟踪 1.2.x。mozilla-devel Port 现在支持反锯齿字体和 GTK+-2 接口。
最后,GNOME 团队欢迎他们的新成员 Adam Weinberger。Adam 一直在为 GNOME Port 和文档提交补丁。目前,他在 GNOME 2.2 的移植工作中非常活跃。我们很高兴欢迎他加入。
链接
联系人:Greg Lewis <glewis@FreeBSD.org>
自上次状态报告以来,BSD Java 移植团队继续稳步推进。最令人兴奋的消息来自我们最新的团队成员,FreeBSD 提交者 Alexey Zelkin。
多亏了大量的辛勤工作,主要由 Alexey 完成,项目已经非常接近能够发布我们的第一个 1.4 JDK 补丁集。报告显示,在 -CURRENT 下运行情况非常好,而 -STABLE 支持稍微落后(部分归功于 Max Khon 的 libc_r MFC)。
项目已经发布了另一个针对 1.2.2 JDK 的补丁集,主要是为了增加对 OpenBSD 和 JPDA 的支持。目前项目的大部分精力集中在 1.3 和 1.4 上,但我们仍然希望根据需要将相关修复回溯到 1.2.2。
Nate Williams 一直在幕后努力,将我们迁移到一个新的 CVS 服务器,该服务器由 FreeBSD 基金会捐赠。项目非常感激基金会的长久支持。请支持他们,以便他们能够继续支持我们和其他重要的 FreeBSD 工作!
联系人:Juli Mallett <jmallett@FreeBSD.org>
已创建邮件列表 freebsd-mips,并在 //depot/projects/mips
中创建了一个 Perforce 分支。为了允许在一个架构平台下存在多个 MIPS(和 PowerPC)元平台,已进行必要的更改,并正在推送回主 FreeBSD 树中。一些初步的头文件工作已经完成,并且将 ARCBIOS 接口移植到内核的工作已经开始。在 Perforce 分支中,工具链已更新和修改,以支持 FreeBSD/MIPS(大端)目标。某些早期的启动代码证明 GDB MIPS 模拟器能够正常工作,至少是对于 R3000 代码,尽管是否支持 R3000 仍在讨论中。还做出了一些初步的架构决策,以指导当前的工作。
联系人:Jake Burkholder <jake@FreeBSD.org>
联系人:Thomas Moestl <tmm@FreeBSD.org>
最近,sparc64 移植有了很多进展。Sysinstall 和 make release 都已工作,可以用来构建可安装的快照。Port gdb5.3 现在可以正常工作,并且多亏了 Thomas Moestl,内核崩溃转储也得到了支持,可以通过 gdb 进行分析。这两个项目是核心团队认为 FreeBSD/sparc64 成为 Tier 1 架构所必需的最后两个事项,这意味着 sparc64 的 5.0-RELEASE 将得到发布工程团队和安全官员团队的正式支持。
最近,Jake Burkholder 一直在研究除了可启动 ISO 之外的替代安装方法,包括一个可以写入现有机器的交换分区的迷你根文件系统。Thomas Moestl 一直在完善发布过程,确保发布文档可以正确构建,并且可以通过发布过程生成 Ports 的 README 文件。
现已可以在 FreeBSD FTP 站点和镜像站点的目录 /pub/FreeBSD/development/sparc64/5.0-20021031-SNAP
中下载通过 make release 构建的实验性 ISO 。预计到 11 月中旬,新的 5.0-SNAP 发布将会在几天内推出,每隔一段时间可以下载并进行 FTP 安装,具体取决于 CPU 性能和带宽。
联系人:Poul-Henning Kamp <phk@FreeBSD.org>
GBDE 已经提交到 -current。
“基于 Geom 的磁盘加密”模块提供了一种非常强大的加密机制,可以保护 GEOM "磁盘"。该算法已经通过了几位经验丰富的加密专家的非正式审查。任何 GEOM 设备都可以通过 GBDE 进行保护,包括整个物理磁盘、MBR 切片、BSD 分区等。然而,无法从加密分区启动。
GBDE 的重点是保护“冷”磁盘介质。(FreeBSD 并没有很好地保护运行系统中的密钥材料不被泄露。)对于冷介质,唯一可行的攻击方式是猜测密码短语。
GBDE 多级保护方案总结:最多可以使用四个独立的密码短语解锁其各自独立的 2048 位主密钥副本。这些主密钥使用 AES/256/CBC 进行保护,密钥由从密码短语派生的 SHA-2 哈希生成。一个加盐的 MD5 哈希覆盖 sectoroffset,“挑选”出哪些主密钥字节参与 MD5 哈希,从而生成每个特定扇区的 "kkey"。kkey 使用 AES/128/CBC 加密 PRNG 生成的单次密钥,进而使用 AES/128/CBC 加密实际的扇区数据。
GBDE 具有主密钥销毁和密码短语作废功能。
有关更多细节,请参阅 gbde(4) 和 gbde(8)。
该软件由 Poul-Henning Kamp 和 NAI Labs(Network Associates, Inc. 的安全研究部门)为 FreeBSD 项目开发,属于 DARPA/SPAWAR 合同 N66001-01-C-8035("CBOSS")的一部分,作为 DARPA CHATS 研究计划的一部分。
链接
联系人:Poul-Henning Kamp <phk@FreeBSD.org>
GEOM 代码现在已成为大多数(如果不是所有的话?)架构的默认设置,libdisk/sysinstall 中剩余的少数问题正在解决中。
尽管我们离完成 GEOM 的开发还有一定距离,但其当前的功能集对 FreeBSD 来说是一个重要的进步,不仅为新架构(如 sparc64、ia64 等)提供了即时支持,而且因为它从一开始就被设计为 SMPng 代码。
该软件由 Poul-Henning Kamp 和 NAI Labs(Network Associates, Inc. 的安全研究部门)为 FreeBSD 项目开发,属于 DARPA/SPAWAR 合同 N66001-01-C-8035(CBOSS
)的一部分,作为 DARPA CHATS 研究计划的一部分。
联系人:Sam Leffler <sam@FreeBSD.org>
该项目的目标是导入 OpenBSD 内核级加密子系统。该设施为计算加密哈希、密码和公钥操作提供内核和用户级别对硬件加密设备的访问。该设施的主要客户端是内核 RNG(/dev/random)、网络协议(如 IPsec)以及 OpenSSL(通过 /dev/crypto 设备)。
该工作已经提交到 -current 树中。要配置该功能,请在系统配置文件中指定设备 crypto,或者可以加载 crypto 模块。/dev/crypto 设备支持通过设备 cryptodev 引入,或者通过加载 cryptodev 模块。存在两个加密设备驱动程序:ubsec(用于基于 Broadcom 的 PCI 硬件)和 hifn(用于基于 Hifn 的 PCI 硬件)。
预计该工作将于报告发布时完成并集成到 -stable 源代码树中。
链接
联系人:Makoto Matsushita <matusita@jp.FreeBSD.org>
最近,5-current 版本发布程序出现问题,导致该项目未能发布新的快照。但 5-current FreeBSD/i386 版本已于 2002 年 10 月下旬恢复!我计划为 5-current 构建每日 FreeBSD/sparc64 快照。敬请期待...
链接
联系人:Kazuo Horikawa <horikawa@FreeBSD.org>
对于 4.7-RELEASE,我们在 4.7-RELEASE 发布后的 10 天内私下发布了 ja-man-doc-4.7.tgz 包,其中包含 man[1256789] 条目。Man3 更新没有进展,因为我们忙于更新其他部分。我们决定正式暂停 Man3 更新,因为我们需要把大部分时间用于赶上即将发布的 5.0-RELEASE。
链接
联系人:Will Andrews <will@FreeBSD.org>
联系人:KDE-FreeBSD 邮件列表 <kde@FreeBSD.org>
KDE/FreeBSD 团队在过去两个月里一直致力于两个主要目标:维护 KDE 3.0.x Port 和为即将发布的 KDE 3.1 版本做准备。
KDE 3.0 的维护由 Alan Eldrige 负责:9 月份开始时,FreeBSD 仓库中移除了 Port KDE 2.x。随后发布了 KDE 3.0.4 包,并更新了 FreeBSD Ports。
KDE 3.1 的准备工作由 Will Andrews 负责:我们花费了大量精力来改进 Fruitsalad 构建系统。现在,我们能够直接从 KDE CVS 创建包。
链接
联系人:Julian Elischer <julian@FreeBSD.org>
联系人:David Xu <davidxu@FreeBSD.org>
联系人:Jonathon Mini <mini@FreeBSD.org>
联系人:Daniel Eischen <deischen@FreeBSD.org>
KSE 代码现已具备了所有基本的内核功能,可以开始被用户空间使用。仍然有一些工作需要完成,尤其是在测试和熟悉阶段。
系统的常规工具尚未更改。例如,ps 和 top 等工具需要了解线程的情况。
内核中还有很多代码假设每个进程中只有一个线程。信号的处理方式尚未最终确定(尽管它们会被发送到进程中的一个随机线程 :-/)。
然而,系统调用和数据结构已经就绪。测试程序成功启动了几个线程,可以在不同的处理器上调度它们,并在完成后关闭它们。预计在本报告发布时,用户空间可能已经能够使用 KSE 对 pthread 线程进行简单调度。
我仍然需要有人接管 "官方" 网页的管理工作,因为 Jason 已经离开了。我确实不擅长 LaTeX。
链接
< http://www.FreeBSD.org/projects/libh.html>
联系人:Antoine Beaupré <anarcat@anarcat.ath.cx>
联系人:Alexander Langer <alex@FreeBSD.org>
自上次状态报告以来进展不大,除了我们现在已经恢复了仓库和开发网页的在线,感谢 John De Boskey 提供的硬件和带宽支持,免费为项目提供了托管服务。我们还将 LibH 移植到了 GCC 3.x,以便它能够在 -CURRENT 上正确编译。然而,这破坏了 tvision,因为它不能在 GCC 3.x 下编译,因此我们转向了 rhtvision,但这又导致了链接问题,所以目前我们没有控制台前端。
关于 Hui 重写和 SWIG 绑定的工作停滞了。Alex 提出了一个简单的补丁,使 Ports 系统使用 LibH 的 pkg_create 脚本来构建 libh 包,这样我们就接近实现一个真正的 pkg_create(1) 替代品了。我重写了里程碑列表,以显示一些更相关和鼓舞人心的任务,这些任务将被依次处理,以推动 LibH 向前发展。
联系人:Warner Losh <imp@FreeBSD.org>
NEWCARD 的工作继续进行。在过去几个月中,解决了一些 bug。现在你可以加载和卸载驱动程序(包括桥接),以测试对 pccard/cardbus 总线代码的更改。现在可以加载一个具有 pccard 附加的驱动程序,并使先前插入的卡片进行探测和附加。CardBus 也支持这种功能。虽然在 5.0 发布之前还有一些问题需要解决,但随着 devd 的集成,OLDCARD 的大部分老功能已经在 NEWCARD 中得以实现(目前剩下的最大问题是插座的电源控制,以及 pccardc dumpcis)。
链接
http://www.freebsd.org/cgi/cvsweb.cgi/src/lib/libc/uuid
联系人:Marcel Moolenaar <marcel@FreeBSD.org>
通用唯一标识符(UUID)是 128 位的值,可以在不同的节点(主机)上独立生成,产生全球唯一的字符串。UUID 也称为全局唯一标识符(GUID)。FreeBSD(libc)对 UUID 的支持符合 DCE 1.1 RPC 规范。
UUID 支持已添加到 FreeBSD -CURRENT,并将出现在 5.0 版本中。它在 IA-64 平台的 GPT 分区处理中得到了广泛应用。目前,已经提供了一个简单的手册页,概述了提供的 uuid 例程。uuidgen(1) 的许多文档补充和改进正在处理中。
联系人:Peter Grehan <grehan@FreeBSD.org>
PowerPC 移植已经在 NewWorld G3/G4 机器上运行无盘启动一段时间了。正在编写支持 Apple 分区图的 GEOM 模块。预计不久后将提供可安装的 ISO 镜像。
链接
联系人:Scott Long <scottl@FreeBSD.org>
RAIDFrame 于 10 月下旬被导入到 FreeBSD-current,这是 18 个月后的一个重要里程碑。它仍然非常实验性,不适合用于生产环境。网站上有一份详细的待办事项清单,我希望很快能开始处理这些事项。不过,我鼓励大家尝试并报告错误。
链接
http://www.freebsd.org/releng/
http://www.freebsd.org/relnotes.html
联系人:<re@FreeBSD.org>
发布工程(RE)团队已于 2002 年 10 月 10 日完成并发布了 FreeBSD 4.7 版本。此版本包含了多个基于系统的第三方软件程序的更新,以及 FreeBSD 4.6.2 的所有安全和 bug 修复。4.X 系列的下一个版本将是 FreeBSD 4.8,计划于 2003 年 2 月 1 日发布。
然而,在此之前,将发布 FreeBSD 5.0。到目前为止,由于各种稳定性问题,我们尚未能够发布 5.0-DP2 开发者快照。得益于许多开发者的努力,我们相信大多数问题已经得到解决。RE 团队希望强调的是,FreeBSD 5.0 将包含一些新的代码和特性,这些特性尚未经过广泛测试,保守的用户可能希望在近期继续跟踪 4.X 系列版本。为了提供更多信息,我们在 5.0 的发布文档中添加了《早期采用者指南》。
Brian Somers 因时间压力辞去了 RE 团队的职务。我们感谢他在 FreeBSD 4.5、4.6、4.6.2 和 4.7 中的所有帮助,我们希望继续与他作为同行开发者合作。
Scott Long 仁慈地提供帮助,改善了 RE 团队与其他开发社区之间的沟通。我们非常感谢他的帮助。
链接
联系人:Robert Watson <rwatson@FreeBSD.org>
联系人:TrustedBSD 讨论邮件列表 <trustedbsd-discuss@FreeBSD.org>
在过去两个月里,TrustedBSD 的大部分进展都集中在提升 ACL 和 MAC 实现的成熟度,以及将这些特性的新增方面合并到 FreeBSD 的主 CVS 仓库中,计划包含在 FreeBSD 5.0 中。这包括针对 sparc64 进行的优化、更好的系统对象调度、尤其是 vnode 和管道实现的锁定修复与优化、对符号链接上 MAC 标签的改进支持、在某些锁定场景下支持异步进程标签更改、移除对“临时标签”的使用并优先使用对象类型特定标签,减少政策中的冗余或混乱的标签管理代码,改进避免在 M_NOWAIT 场景下进行内存分配以优化同步缓存中的套接字分配、调度链接操作、修复涉及标签创建的 devfs 竞争条件问题、改进对 mmap 等 VM 事件的处理、改进套接字发送/接收事件的调度(区分于套接字传输/传递事件)、支持使用新系统调用操作符号链接上的 EA、支持挂载时使用 MNT_ACLS 和 MNT_MULTILABEL 标志,以及使用 tunefs 设置的 FS_ACLS 和 FS_MULTILABEL 超块标志以关键有用的默认值、修复 UFS ACL 代码中的内存泄漏、启用 UFS ACL 支持,默认启用 GENERIC、文件创建、删除和重命名的调度点、支持与 SELinux 的 execve_secure() 风格相似的 mac_execve() 执行接口,允许标签过渡请求作为 exec 操作的一部分,支持 NFS 查找的一致性处理、支持对多播封装数据包、ATM 数据包、FDDI 数据包、STF 数据包的标签处理、修订标签接口以避免用户空间解析每个政策元素,将政策实现细节进一步抽象到库代码中。
此外,对于 Biba 和 MLS 策略,改为使用单级套接字,支持部分标签更新,添加 mac.9 手册页,修订用户 API 系统调用,实现 mac_get_pid(),以及其他相关内容,创建 mac.conf(5) 来指定标签默认值,检查包括 swapon()、settime()、sysctl()、reboot()、acct() 等在内的多种系统操作,推出命令行工具用于维护文件和进程标签,支持与登录类相关联的用户标签、su 支持标签更改、ifconfig 支持接口标签、ps 支持进程标签、ls 支持文件标签、ftpd 支持登录标签,Biba 和 MLS 权限概念的发展,以及转向 C99 稀疏结构初始化,恢复对政策入口点的完整类型检查。
联系人:Sam Leffler <sam@FreeBSD.org>
该项目的目标是改善系统中的无线网络支持。初步工作将整合由 Atsushi Onoe 为 NetBSD 完成的 802.11 链路层代码。该核心支持代码实现了 BSS、IBSS 和 Ad Hoc 模式下 Station 和 AP 操作所需的基本 802.11 协议。随后,无线设备驱动程序将被修订,以使用这一通用代码,而不是它们各自的私有实现。
在这一初步阶段之后,无线网络支持将扩展以支持工作组、企业和城市(例如网状网络)环境中所需的功能。这将包括全面的电源管理支持、用于在桥接配置中运行多个 AP 的 802.1D 生成树协议、QoS 支持和增强的安全协议(LEAP、AES、EAP)。还计划支持新的硬件设备。
最后更新于
这有帮助吗?