Linux中国 | Linux.cn - 我们的Linux中文社区

 找回密码
 加入

QQ登录

QQ登录

搜索

学习 initrd中的init(三)

热度 4已有 994 次阅读2010-8-3 14:21 |关键词:initrd 学习 export blacklist panic offset quiet

# Export relevant variables
export ROOT=
export ROOTDELAY=
export ROOTFLAGS=
export ROOTFSTYPE=
export IPOPTS=
export HWADDR=
export break=
export init=/sbin/init
export quiet=n
export readonly=y
export rootmnt=/root
export debug=
export panic=
export blacklist=
export resume_offset=

接下来是export一些变量。这部分我在网上查看了一些资料,觉得一篇文章写得很详细,所以这部分转载了这篇文章。

  1. break       由 maybe_break 函 数使用。若 break 的值同 maybe_break 的第 一个参数相同,则 maybe_break 函数调用 panic 函数(注意 panic 函数和 panic 变量是不同的)。 若 panic 变 量为"0"(此处是字符串,其内容是"0",不是整数),则 panic 函数将重新启动机器。其他情况下(包括 panic 变 量为空的情况)都将以交互的方式调出shell,此shell的输入输出使用已经创建好的节点 /dev/console。  
  2.     init        此 变量指定在这个脚本最后要执行的进程。 此处 /sbin/init 是系统上所有进程的父进程,负责开启其它进程。当然,你也可以把它换成其他的程序, 甚至是 ls,不一定非要是 /sbin/init,虽然这样你的系统启动之后什么都不能做。  
  3.     quiet       指 定为非"y",会显示一些启动的状态信息;若指定为"y"则不显示这些信息。  
  4.     rootmnt     最 终进入的系统的根目录所在分区挂载到的目录。在最终进入系统的时候,这个目录下的东西将要转变为你的根目录(可通过 pivot_root 或 chroot 命令,或系统调用。本脚本最后调用的 run-init 是通过 chroot 系统调用的方式实现的。  
  5.     readonly    如 果 readonly 等于字符串"y",则以只读方式挂载最终要进入的系统的根 目录所在分区到 ${rootmnt} 目录,其他情况(包括 readonly 为空)以读写方式挂载。  
  6.     debug       debug mode, 这点会在下一章节说明。 
  7.     cryptopts   加 密选项? FIXME:这个的用途?  
  8.     ROOTDELAY   在 mountroot 函数中 使用,root设备在ROOTDELAY时间内必须准备好,否则 mountroot 调用 panic 函数导致进入shell或机器重启(具体见 break 的说明)。若不指定 ROOTDELAY 的值,其值 在 mountroot 函数中默认是180妙。  
  9.     panic       描 述见 break参数的说明。

唉,最近在写一个程序,所以没时间在网上写这些东西,下次介绍得多一点。

发表评论 评论 (1 个评论)

回复 fuhualiang 2011-1-14 12:37

facelist

你需要登录后才可以评论 登录 | 加入

无觅相关文章插件