【Linux】构建根文件系统之启动第一个应用程序

内核怎样启动第一个应用程序?

1、首先内核要去挂接根文件系统

2、然后打开dev/console,然后sys_dump(0), sys_dump(0),就是将dev/console复制两次。
也就是说,内核打开了dev/console文件,然后将标准输出printf,标准输入scanf,标准错误err都指向这个文件,这个文件其实就是终端。

3、最后使用run_init_porcess()函数,启动应用程序。
启动的应用程序,先是判断u-boot的命令行参数是否有传入init==xxx函数
如果有,就启动这个xxx函数
如果没有或者xxx函数出错了,就去启动/sbin/init函数,
如果/sbin/init出错了,就会执行/etc/init,
如果/etc/init出错了,就执行/bin/init,
如果/bin/init出错了,就执行/bin/sh。
如果/bin/sh出错了,就打印错误“No init found …”

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值