嵌入式linux启动运行的inittab简介
嵌入式 Linux 启动运行的 inittab 简介 嵌入式 Linux 系统下的启动配置文件与普通 PC Linux 启动配置文件不同,嵌入式系统下的 Linux 启动过程可以分为两个阶段:第一个阶段是在 bootloader 中制定各种要求传给 Linux 内核的参数,制作 ramdisk 或 ramfs 文件系统,并在开机后首先 mount 上,该文件系统主要负责包含启动运行的配置文件,嵌入式系统主要是 /etc/inittab 和 /etc/rc 文件;第二个阶段是在 init 进程启动后,进程首先执行 /etc/inittab 文件。 inittab 文件是 Linux 系统中的一种配置文件,主要负责制定系统初始化要执行的脚本配置文件。inittab 文件的格式是一般包括三项内容:id、rstate 和 action。id 字段是最多 4 个字符的字符串,用来唯一标志表项;rstate 字段定义该记录项被调用时的运行级别;action 字段告诉 init 执行的动作,即如何处理 process 字段指定的进程。 init 进程是系统中所有进程的父进程,init 进程繁衍出完成通常操作所需的子进程,这些操作包括:设置机器名、检查和安装磁盘及文件系统、启动系统日志、配置网络接口并启动网络和邮件服务、启动打印服务等。inittab 文件中的每一记录都从新的一行开始,每个记录项最多可有 512 个字符,每一项的格式通常如下:id:rstate:action:process。 inittab 文件中的 action 字段允许的值及对应的动作分别为: 1. respawn:如果 process 字段指定的进程不存在,则启动该进程,init 不等待处理结束,而是继续扫描 inittab 文件中的后续进程,当这样的进程终止时,init 会重新启动它,如果这样的进程已存在,则什么也不做。 2. wait:启动 process 字段指定的进程,并等到处理结束才去处理 inittab 中的下一记录项。 3. once:启动 process 字段指定的进程,不等待处理结束就去处理下一记录项。当这样的进程终止时,也不再重新启动它,在进入新的运行级别时,如果这样的进程仍在运行,init 也不重新启动它。 4. boot:只有在系统启动时,init 才处理这样的记录项,启动相应进程,并不等待处理结束就去处理下一个记录项。当这样的进程终止时,系统也不重启它。 5. bootwait:系统启动后,当第一次从单用户模式进入多用户模式时处理这样的记录项,init 启动这样的进程,并且等待它的处理结束,然后再进行下一个记录项的处理,当这样的进程终止时,系统也不重启它。 6. powerfail:当 init 接到断电的信号(SIGPWR)时,处理指定的进程。 7. powerwait:当 init 接到断电的信号(SIGPWR)时,处理指定的进程,并且等到处理结束才去检查其他的记录项。 8. off:如果指定的进程正在运行,init 就给它发 SIGTERM 警告信号,在向它发出信号 SIGKILL 强制其结束之前等待 5 秒,如果这样的进程不存在,则忽略这一项。 9. ondemand:功能通 respawn,不同的是,与具体的运行级别无关,只用于 rstate 字段是 a、b、c 的那些记录项。 在嵌入式 Linux 系统中,inittab 文件起着非常重要的作用,它负责制定系统初始化要执行的脚本配置文件,并且决定了系统启动的过程。
剩余6页未读,继续阅读
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助