linux启动 init 第一个应用分析

内核从start_kernel到启动第一个用户程序的流程
start_kernel-> rest_init->kernel_thread->kernel_init->>init_post->run_init_process("/sbin/init");
介绍完文件系统的移植后 分析一下 linux 如何跟 第一个init进行交互的

1、linux在初始化之后会执行init进程,而init进程会去挂载根文件系统,但INIT进程又在根文件系统上

所有就出现了悖论。linux采取两步走的方式去解决这个问题

其实 linux在挂载 根文件系统以前 挂载了一个临时的文件系统initrd.img init进程就在其中,然后init进程回去挂载

挂载真正的文件系统然后在 umount initrd.img


http://blog.chinaunix.net/uid-23769728-id-3129443.html  详细分析

https://blog.csdn.net/qq_26093511/article/details/53229389   /sbin/init -> 其实是连接到Busybox中的init的所以分析busybox中的init 函数就可以知道文件系统的启动流程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值