通用线程: 高级文件系统实现者指南,第 6 部分

http://tech.ddvip.com   2008年04月15日    社区交流

内容摘要:Daniel Robbins 通过向您演示如何在 Linux 2.4 下来安装这些高级文件系统回答这些问题。在这一安装过程中,Daniel 向您演示了如何使用一个初始化封装器来(最终!)将您的系统转换到“devfs mode”。

  现在我们碰到了一个大的条件语句,只有在 devfs 被设置成为 yes 时,该条件语句才会执行。如果不是这样,则完全跳过 devfs 初始化,甚至不会安装 devfs。这会导致一个常见的非 devfs 引导。

  然而,如果 正在安装 devfs,则进入该条件语句。在该条件语句里,检查内核是否已经安装 devfs;通过检查 /dev/.devfsd 字符设备是否存在来实现这一目的。当安装 devfs 时,内核自动创建该设备,并且随后的 devfsd 进程将使用它来与内核通信。如果已经安装了 devfs(因为用户选择了“Automatically mount devfs at boot”内核选项),将打印一条信息告诉用户:由于只有在内核 还没有 devfs 时,才可以安装 devfs 的持久性特性,现在无法完成这一任务。

  设备持久性

  然而,如果一切正常,则执行了在上篇文章中所谈到的 devfs 安装:/dev 被绑定安装到 /dev-state 并且 devfs 文件系统被安装在 /dev 上。然后,执行一项在上篇文章中 没有提到的一个步骤;检查目录 /dev-state/compat 是否存在并且递归地把它的内容复制到 /dev 目录。虽然这一过程最初看起来有些多余(我们将利用 devfsd 的设备持久性特性,不是吗?),但是最终会证明这一过程是必要和有用的。需要一个 compat 目录的原因在于 devfsd 的持久性特性 仅仅只能使用支持 devfs 的驱动器。

  最后,启动 devfsd ,然后退出该条件语句并且 exec 实际的 init, /sbin/init.system 来开始标准的系统引导过程。除了现在需要一个支持 devfs 的系统之外,所有东西都是标准的 :)

  初始化封装器安装

  下面是我们如何安装初始化封装器。首先, 获取 wrapper.sh 所需资源,并且把它保存在系统的某个地方。然后,按下面所说的做:

来源:ibm    作者:Daniel Robbins    责编:豆豆技术应用

正在加载评论...