init进程分析

uboot传递启动参数:

root=/dev/mtdblock3  init=/linuxrc console=ttySAC0

 

kernel启动第一个程序:

1、函数mount_root挂载分区root=/dev/mtdblock3

2、打开设备/dev/console

3、启动第一个程序run_init_process("/linuxrc") //linuxrc与/sbin/init相同

    ----init_main    //init进程入口函数

    --------parse_inittab    //解析配置文件/etc/inittab,放入init_action_list链表

    ------------run_actions    //执行相关程序

 

inittab格式:

<id>:<runlevels>:<action>:<process>

id => /dev/id,用作终端:stdin,stdout,stderr:printf,scanf,err

runlevels:忽略

action   :执行时机

process  :应用程序或脚本

 

(1)./etc/inittab

::sysinit:/etc/init.d/rcS                  //启动时执行

console::askfirst:-/bin/sh             //启动前询问用户

::ctrlaltdel:/sbin/reboot               //ctrl+alt+del时执行

::shutdown:/bin/umount -a –r    //关闭系统时执行

(2). /etc/init.d/rcS

mount –a                     //挂载文件系统,需要配置文件/etc/fstab

mkdir /dev/pts

mount -t devpts devpts /dev/pts

echo /sbin/mdev > /proc/sys/kernel/hotplug

mdev –s

ifconfig eth0 192.168.1.100

telnetd

inetd

(3)./etc/fstab

# device    mount-point    type  options        dump fsck order

proc          /proc        proc  defaults        0    0

tmpfs         /tmp         tmpfs defaults        0    0

sysfs         /sys         sysfs defaults        0    0

tmpfs         /dev         tmpfs defaults        0    0

注:

a.mount –a挂载/etc/fstab中配置的文件系统

b.proc虚拟文件系统

c.mdev机制自动创建/dev下的设备,需要绿色部分的配置

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值