我是靠谱客的博主 温暖诺言,最近开发中收集的这篇文章主要介绍busybox init初始化过程,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

http://www.linuxidc.com/Linux/2011-12/49878p3.htm


Linux内核启动过程的最后一步就是通过do_execve()函数加载执行用户空间的init程序(如BusyBox init、sysvinit等等),它是系统中所有其他进程的父进程(进程ID为1),在系统运行期间以守护进程的形式一直存在,主要用来完成系统的各项配置以及监视其子进程的运行状况。

    1、BusyBox init的执行过程

    除了基本的命令之外,BusyBox也支持init功能,跟其他init程序一样,BusyBox的init程序也是用来完成系统的各项配置。在busybox-1.19.2中,init的执行过程大致如下:

 

    (1)、在执行parse_inittab()函数时,如果/etc/inittab文件不存在,BusyBox init会使用以下的默认配置: 

 
  1. ::sysinit:/etc/init.d/rcS  
  2. ::askfirst:/bin/sh  
  3. ::ctrlaltdel:/sbin/reboot  
  4. ::shutdown:/sbin/swapoff -a  
  5. ::shutdown:/bin/umount -a -r  
  6. ::restart:/sbin/init  

    (2)、在开发板上执行env命令即可查看配置好的环境变量。 

  1. / # env  
  2. USER=root  
  3. HOME=/  
  4. TERM=vt102  
  5. PATH=/sbin:/usr/sbin:/bin:/usr/bin  
  6. SHELL=/bin/sh  
  7. PWD=/  

最后

以上就是温暖诺言为你收集整理的busybox init初始化过程的全部内容,希望文章能够帮你解决busybox init初始化过程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部