github编辑

FreeBSD 2002 年 9-10 月状态报告

FreeBSD 项目又一段忙碌的时光带来了显著成熟和功能完善的 5.0-CURRENT 分支。而且时机恰到好处,因为在你阅读下份状态报告时,我们期望你在桌面正上运行着 FreeBSD 5.0!在过去的两个月,我们见证了 sparc64 升级为一级架构(完全支持)状态、高质量存储加密模块的集成、硬件加速 IPsec 支持的提交、通用“设备守护进程”的加入,用于处理硬件连接/断开事件,取代了早期的单一用途和总线特定守护进程,RAIDFrame 的提交,以及 TrustedBSD 工作的成熟度提升。我们还见证了 4.x 分支的另一版成功发布,即 4.7-RELEASE,这将继续作为生产支持平台,而 5.X 则正逐步到位。

在接下来的两个月里,FreeBSD 项目将几乎完全专注于确保 5.0 的成功:提高系统的稳定性和性能,并增加能够在 5.0 上构建和运行的应用程序池。在你阅读此报告时,发布工程团队已宣布 5.0 的代码冻结,并发布了开发者预览版 2。接下来会有一系列的发布候选版本(RC),然后是正式发布。如果你有兴趣参与测试过程,请帮忙——一台备用计算机和一份烧录到 CD 上的开发者预览镜像和 RC ISO 镜像可产生作用。预发布版本的操作系统通常会有一些警告提示!你也许还会对发布工程团队制作的早期尝鲜者指南感兴趣,帮助你判断何时适合从 4.x 分支过渡到 5.x 分支。

感谢,

Robert Watson

Scott Long

链接

最新快照arrow-up-right

Linux BlueZ 栈arrow-up-right

OpenOBEXarrow-up-right

联系人:Maksim Yevmenkin <[email protected]envelope>

我很高兴地宣布,现在可以下载另外的工程版发行版,网址为 http://www.geocities.com/m_evmenkin/ngbt-fbsd-20021104.tar.gzarrow-up-right

此版本包括了一些小的错误修复和新的 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 <[email protected]envelope>

2003 BSDCon 项目委员会邀请你提交原创和创新的论文,内容涉及与 BSD 衍生系统及开源世界相关的话题。感兴趣的主题包括但不限于:

  • 嵌入式 BSD 应用开发与部署

  • 使用 BSD 系统的实际经验

  • 在混合操作系统环境中使用 BSD

  • 与非 BSD 操作系统的比较;技术、实际、许可协议(GPL 与 BSD)

  • 跟踪非 BSD 系统上的开源开发

  • BSD 桌面应用

  • I/O 子系统和设备驱动程序开发

  • SMP 和内核线程

  • 内核增强

  • 网络和互联网服务

  • 安全性

  • 性能分析与调优

  • 系统管理

  • BSD 的未来

提交的详细摘要截止日期为 2003 年 4 月 1 日。在提交之前,请务必查看详细摘要的要求。选择将基于书面提交的质量以及工作是否对社区有吸引力。

我们期待收到你的投稿!

链接

http://www.freebsd.org/projects/c99/arrow-up-right

联系人:Mike Barcroft <[email protected]envelope>

联系人:FreeBSD-Standards 邮件列表 <[email protected]envelope>

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 <[email protected]envelope>

已将 DEVD 集成到当前版本的 FreeBSD 中。当前集成状态仍不完全。然而,在目前的状态下,它仍然能处理一些简单的任务,比如在插入 SCSI pcmcia 卡时运行 camcontrol rescan,或在插入以太网卡时运行 /etc/pccard_ether。更复杂的正则表达式匹配功能尚未完成。Devd 只处理设备的到达和离开,但尚未处理未知设备。此外,除了监听设备事件之外,还希望 /dev/devctl 能够对设备树进行一些直接控制。

联系人:Sam Leffler <[email protected]envelope>

该项目的主要目标是修改 IPsec 协议,以使用从 OpenBSD 引入的内核级加密子系统(详见其他地方)。次要目标是对 IPsec 协议进行性能调优。

此项工作已提交至 -current。要配置使用它,请在系统配置文件中指定选项 FAST_IPSEC。目前,仅支持 IPv4。

链接

FreeBSD GNOME 项目主页arrow-up-right

联系人:Joe Marcus <[email protected]envelope>

联系人:Maxim Sobolev <[email protected]envelope>

联系人:Adam Weinberger <[email protected]envelope>

在过去的两个月里,GNOME 活动频繁。GNOME 已开始发布即将推出的 GNOME 2.2 桌面开发快照。FreeBSD 的移植工作已开始,并且不再局限于主 Ports,而是在 MarcusCom CVS 仓库arrow-up-right 中进行。如果你有兴趣测试新的桌面环境,请按照上述 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 的移植工作中非常活跃。我们很高兴欢迎他加入。

链接

FreeBSD Java 项目arrow-up-right

联系人:Greg Lewis <[email protected]envelope>

自上次状态报告以来,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 <[email protected]envelope>

已创建邮件列表 freebsd-mips,并在 //depot/projects/mips 中创建了一个 Perforce 分支。为了允许在一个架构平台下存在多个 MIPS(和 PowerPC)元平台,已进行必要的更改,并正在推送回主 FreeBSD 树中。一些初步的头文件工作已经完成,并且将 ARCBIOS 接口移植到内核的工作已经开始。在 Perforce 分支中,工具链已更新和修改,以支持 FreeBSD/MIPS(大端)目标。某些早期的启动代码证明 GDB MIPS 模拟器能够正常工作,至少是对于 R3000 代码,尽管是否支持 R3000 仍在讨论中。还做出了一些初步的架构决策,以指导当前的工作。

联系人:Jake Burkholder <[email protected]envelope>

联系人:Thomas Moestl <[email protected]envelope>

最近,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 <[email protected]envelope>

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 研究计划的一部分。

链接

旧概念文档请见此处arrow-up-right

联系人:Poul-Henning Kamp <[email protected]envelope>

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 <[email protected]envelope>

该项目的目标是导入 OpenBSD 内核级加密子系统。该设施为计算加密哈希、密码和公钥操作提供内核和用户级别对硬件加密设备的访问。该设施的主要客户端是内核 RNG(/dev/random)、网络协议(如 IPsec)以及 OpenSSL(通过 /dev/crypto 设备)。

该工作已经提交到 -current 树中。要配置该功能,请在系统配置文件中指定设备 crypto,或者可以加载 crypto 模块。/dev/crypto 设备支持通过设备 cryptodev 引入,或者通过加载 cryptodev 模块。存在两个加密设备驱动程序:ubsec(用于基于 Broadcom 的 PCI 硬件)和 hifn(用于基于 Hifn 的 PCI 硬件)。

预计该工作将于报告发布时完成并集成到 -stable 源代码树中。

链接

项目网页arrow-up-right

项目网页(日语)arrow-up-right

联系人:Makoto Matsushita <[email protected]envelope>

最近,5-current 版本发布程序出现问题,导致该项目未能发布新的快照。但 5-current FreeBSD/i386 版本已于 2002 年 10 月下旬恢复!我计划为 5-current 构建每日 FreeBSD/sparc64 快照。敬请期待...

链接

jpman 项目arrow-up-right

ja-man-doc-4.7.tgz 包arrow-up-right

联系人:Kazuo Horikawa <[email protected]envelope>

对于 4.7-RELEASE,我们在 4.7-RELEASE 发布后的 10 天内私下发布了 ja-man-doc-4.7.tgz 包,其中包含 man [1256789] 条目。Man3 更新没有进展,因为我们忙于更新其他部分。我们决定正式暂停 Man3 更新,因为我们需要把大部分时间用于赶上即将发布的 5.0-RELEASE。

链接

KDE/FreeBSD 网站arrow-up-right

KDE/FreeBSD 构建服务器arrow-up-right

联系人:Will Andrews <[email protected]envelope>

联系人:KDE-FreeBSD 邮件列表 <[email protected]envelope>

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 创建包。

链接

一些链接arrow-up-right

联系人:Julian Elischer <[email protected]envelope>

联系人:David Xu <[email protected]envelope>

联系人:Jonathon Mini <[email protected]envelope>

联系人:Daniel Eischen <[email protected]envelope>

KSE 代码现已具备了所有基本的内核功能,可以开始被用户空间使用。仍然有一些工作需要完成,尤其是在测试和熟悉阶段。

系统的常规工具尚未更改。例如,ps 和 top 等工具需要了解线程的情况。

内核中还有很多代码假设每个进程中只有一个线程。信号的处理方式尚未最终确定(尽管它们会被发送到进程中的一个随机线程 :-/)。

然而,系统调用和数据结构已经就绪。测试程序成功启动了几个线程,可以在不同的处理器上调度它们,并在完成后关闭它们。预计在本报告发布时,用户空间可能已经能够使用 KSE 对 pthread 线程进行简单调度。

我仍然需要有人接管 "官方" 网页的管理工作,因为 Jason 已经离开了。我确实不擅长 LaTeX。

链接

< http://www.FreeBSD.org/projects/libh.html>

LibH 开发页面arrow-up-right

联系人:Antoine Beaupré <[email protected]envelope>

联系人:Alexander Langer <[email protected]envelope>

自上次状态报告以来进展不大,除了我们现在已经恢复了仓库和开发网页的在线,感谢 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 <[email protected]envelope>

NEWCARD 的工作继续进行。在过去几个月中,解决了一些 bug。现在你可以加载和卸载驱动程序(包括桥接),以测试对 pccard/cardbus 总线代码的更改。现在可以加载一个具有 pccard 附加的驱动程序,并使先前插入的卡片进行探测和附加。CardBus 也支持这种功能。虽然在 5.0 发布之前还有一些问题需要解决,但随着 devd 的集成,OLDCARD 的大部分老功能已经在 NEWCARD 中得以实现(目前剩下的最大问题是插座的电源控制,以及 pccardc dumpcis)。

链接

http://www.freebsd.org/cgi/cvsweb.cgi/src/lib/libc/uuidarrow-up-right

联系人:Marcel Moolenaar <[email protected]envelope>

通用唯一标识符(UUID)是 128 位的值,可以在不同的节点(主机)上独立生成,产生全球唯一的字符串。UUID 也称为全局唯一标识符(GUID)。FreeBSD(libc)对 UUID 的支持符合 DCE 1.1 RPC 规范。

UUID 支持已添加到 FreeBSD -CURRENT,并将出现在 5.0 版本中。它在 IA-64 平台的 GPT 分区处理中得到了广泛应用。目前,已经提供了一个简单的手册页,概述了提供的 uuid 例程。uuidgen(1) 的许多文档补充和改进正在处理中。

联系人:Peter Grehan <[email protected]envelope>

PowerPC 移植已经在 NewWorld G3/G4 机器上运行无盘启动一段时间了。正在编写支持 Apple 分区图的 GEOM 模块。预计不久后将提供可安装的 ISO 镜像。

链接

项目主页arrow-up-right

联系人:Scott Long <[email protected]envelope>

RAIDFrame 于 10 月下旬被导入到 FreeBSD-current,这是 18 个月后的一个重要里程碑。它仍然非常实验性,不适合用于生产环境。网站上有一份详细的待办事项清单,我希望很快能开始处理这些事项。不过,我鼓励大家尝试并报告错误。

链接

http://www.freebsd.org/releng/arrow-up-right

http://www.freebsd.org/relnotes.htmlarrow-up-right

联系人:<[email protected]envelope>

发布工程(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 团队与其他开发社区之间的沟通。我们非常感谢他的帮助。

链接

TrustedBSD 网站arrow-up-right

联系人:Robert Watson <[email protected]envelope>

联系人:TrustedBSD 讨论邮件列表 <[email protected]envelope>

在过去两个月里,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 <[email protected]envelope>

该项目的目标是改善系统中的无线网络支持。初步工作将整合由 Atsushi Onoe 为 NetBSD 完成的 802.11 链路层代码。该核心支持代码实现了 BSS、IBSS 和 Ad Hoc 模式下 Station 和 AP 操作所需的基本 802.11 协议。随后,无线设备驱动程序将被修订,以使用这一通用代码,而不是它们各自的私有实现。

在这一初步阶段之后,无线网络支持将扩展以支持工作组、企业和城市(例如网状网络)环境中所需的功能。这将包括全面的电源管理支持、用于在桥接配置中运行多个 AP 的 802.1D 生成树协议、QoS 支持和增强的安全协议(LEAP、AES、EAP)。还计划支持新的硬件设备。

最后更新于