Welcome 微信登录

首页 / 操作系统 / Linux / Linux启动流程介绍

一. 内核镜像Izmage被bootloader装载到内存中。zImage的入口代码是自引导程序。包含一些初始化代码。第一条指令在head.S文件中。解压内核,然后调用call_kernel启动vmlinux(解压后在正确位置上的内核)二. vmlinux开始部分的代码对应的文件也叫head.S.这个是体系结构相关的代码,进行页表的初级初始化后打开MMU,跳转到start_kernel函数中去。三. start_kernel负责初始化内核的各个子系统,然后调用rest_init().四.reset_init 调用kernel_thread启动init内核线程,执行init函数,init函数负责挂载跟文件系统,初始化设备驱动程序,启动用户空间的init进程。这些工作是内核中最重要的过程五. 用户空间init进程执行,init程序在根文件系统的/sbin下,负责启动一系列程序与脚本文件。init进程是所有的进程的发起着与控制者。init进程有两种启动方式:1.system V启动流程,这是一般桌面版Linux的启动方式,如Ubuntu。(1).执行的地一个脚本是/etc/rc.d/rc.sysinit,包含如下内容:检查磁盘,挂在其他的文件系统等(2).执行缺醒的运行级别,这个在/etc/inittab中确定(3).执行/etc/rc.c/rc.local脚本文件,用户可以在这个文件中添加启动后需要执行的命令(4).执行/bin/login程序,提示用户输入用户名与密码,如果吻合则初始化环境,并将控制权转交shell2.busybox 启动流程,这是嵌入式系统的启动流程,init程序在/sbin下面,这个是一个符号链接,链接到/bin/busybox上(1).为init进程设置信号处理程序(2).对控制台进行初始化(串口终端)(3).解析/etc/inittab文件(4).运行/etc/init.d/rcS脚本,这个脚本设置一些环境变量,运行启动时的程序Linux配置C++开发环境Linux下conky实现桌面幻灯片相关资讯      Linux启动流程 
  • ARM 平台上的Linux系统启动流程  (04/22/2015 06:07:15)
  • Linux启动流程详述  (10/25/2014 20:29:03)
  • 图解Linux系统启动流程  (03/08/2014 06:59:09)
  • Linux操作系统启动流程浅析  (03/21/2015 17:51:53)
  • Linux内核启动流程详细分析  (10/14/2014 19:43:53)
  • Linux 的启动流程  (08/18/2013 08:51:33)
本文评论 查看全部评论 (0)
表情: 姓名: 字数