[linux 整理] linux启动过程3
本文介绍linux启动过程的第三步
busybox--------------------> rc init
busybox位置即内容

busybox/init/init.c
1.各种设置信号
signal(SIGHUP, exec_signal)
......
2. ...public/apps/busybox/init/init.c function: console_init 作用:初始化窗口大小

3. ..../busybox/init/init.c function: parse_inittab 作用:读取etc/inittab file

rootfs/VD625/etc/inittab

sys初始化时会执行/etc/rcS
rootfs/VD625/etc/rcS
设置环境变量
挂载文件系统
调用rc命令:rc init


.../apps/rc/rc.c程序中

rc_init 函数
由user/private/apps/rc/rc_fun.c编译得到
工作:mkdir创建文件目录
将flash块挂载到对应目录
初始化配置,加载驱动模块,启动各种服务rc xxx start/stop/restart
 
rc xxx start/stop/restart/create过程解析
对于rc xxx start/stop/restart
在rc/rc.c中

发现传递到了rc_action(argc, argv)中 argv为 xxx start
在rc/rc_fun中
action函数

假如说为start时, 传递给了 rc_start(ap, ap_name, xargc, xargv) 其中ap_name为xxx
在rc_fun.c中 存在 rc_start()
 
可以看到start函数逐个查找ap中的name与 ap_name (即xxx) 比较,当相同的时候执行(*ap->startfun)(argc, argv)
我们观察ap指向的数组(在文件apps.h中),可以发现
 
startfun 即为 服务xxx的启动函数
该服务的定义函数以及头文件都在rc文件夹中。
[linux 整理] linux启动过程3的更多相关文章
- 探索 Linux 系统的启动过程
		
引言 之所以想到写这些东西,那是因为我确实想让大家也和我一样,把 Linux 桌面系统打造成真真正正日常使用的工具,而不是安装之后试用几把再删掉.我是真的在日常生活和工作中都使用 Linux,比如在 ...
 - Linux内核分析之跟踪分析Linux内核的启动过程
		
一.实验过程 使用实验楼虚拟机打开shell cd LinuxKernel/ qemu -kernel linux-/arch/x86/boot/bzImage -initrd rootfs.img ...
 - Linux系统的启动过程
		
Linux 系统启动过程 Linux系统的启动过程可以分为5个阶段: BIOS自检 内核的引导. 运行init. 系统初始化. 用户登录系统. BIOS自检: BIOS是英文"Basic I ...
 - 跟踪分析Linux内核的启动过程--实验报告  分析   及知识重点
		
跟踪分析Linux内核的启动过程 攥写人:杨光 学号:20135233 ( *原创作品转载请注明出处*) ( 学习课程:<Linux内核分析>MOOC课程http://mooc.stud ...
 - 20135202闫佳歆--week3 跟踪分析Linux内核的启动过程--实验及总结
		
实验三:跟踪分析Linux内核的启动过程 一.调试步骤如下: 使用gdb跟踪调试内核 qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd r ...
 - 跟踪分析Linux内核的启动过程小解
		
跟踪分析Linux内核的启动过程 “20135224陈实 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029 ...
 - 作业三:LINUX内核的启动过程
		
作业三:LINUX内核的启动过程 一.使用GDB跟踪内核从start_kernel到init进程启动(附实验截图) (一)使用自己的Linux系统环境搭建MenuOS的过程 下载内核源代码编译内核 c ...
 - 实验三:跟踪分析Linux内核的启动过程
		
实验三:跟踪分析Linux内核的启动过程 学号:20135114 姓名:王朝宪 注: 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.16 ...
 - 跟踪调试Linux内核的启动过程
		
跟踪调试Linux内核的启动过程---使用gdb 符钰婧 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/UST ...
 - [中英对照]Booting Process in Linux RHEL 7 | Linux RHEL 7启动过程
		
Booting Process in Linux RHEL 7 | Linux RHEL 7启动过程 In this post, I will guide you booting process in ...
 
随机推荐
- github上预览Demo网页最简单的方法
			
github上预览Demo网页最简单的方法: 1.打开你github上demo网页index.html,效果如图 2.复制上面的页面地址,然后在该地址前加上 htmlpreview.github.co ...
 - [原]node.js使用感想
			
最近尝试了使用node.js,但因为不是太深入(小项目,还没做完),所以不能谈心得谈经验,就来谈谈使用感想. node.js和以往的cgi接口的服务器+cgi程序(如apache+phpmod)中的单 ...
 - 老李知识普及:web安全性的两大权威组织
			
老李知识普及:web安全性的两大权威组织 两个重要的WEB应用安全组织-WASC/OWASPWeb Application Security Consortium (WASC)a.WEB应用安全标准的 ...
 - 老李推荐:第5章2节《MonkeyRunner源码剖析》Monkey原理分析-启动运行: 启动流程概览
			
老李推荐:第5章2节<MonkeyRunner源码剖析>Monkey原理分析-启动运行: 启动流程概览 每个应用都会有一个入口方法来供操作系统调用执行,Monkey这个应用的入口方法就 ...
 - 实现一个自己的promise
			
这是小弟的一篇开篇小作,如有不当之处,请各位道友批评指正.本文将探讨Promise的实现. 一.ES6中的Promise 1.简介 据说js很早就实现了Promise,我是不知道的,我第一次接触Pro ...
 - android设备使用usb串口传输数据
			
首先介绍两个开源项目一个是Google的开源项目:https://code.google.com/archive/p/android-serialport-api/ 另一个是我们这次介绍的开源项目:h ...
 - B/S 和 C/S两种架构
			
一: 什么是B/S(Browser/Server)架构? 应用系统完全放在应用服务器上, 并通过应用服务器同数据库服务器进行通信,系统界面 是通过浏览器来展现的. T是浏览器模式. 优点: 1)客户端 ...
 - 第一章  自定义MVC框架
			
第一章 自定义MVC框架1.1 MVC模式设计 组成:Model:模型,用于数据和业务的处理 View :视图,用于数据的显示 Controller:控制器 ...
 - PHP 魔术方法 __call 与 __callStatic 方法
			
PHP 魔术方法 __call 与 __callStatic 方法 PHP 5.3 后新增了 __call 与 __callStatic 魔法方法. __call 当要调用的方法不存在或权限不足时,会 ...
 - Maven(二)之Maven项目构建演练
			
从上一篇的讲解中我们知道了什么是Maven,然后它的安装配置,到修改本地仓库,这篇我们用一个实际的例子,带领大家走进我们的Maven之旅.让我们一起来体验一下Maven的高度自动化构建项目的过程. 一 ...