码迷,mamicode.com
首页 > 系统相关 > 详细

linux启动流程

时间:2017-04-20 21:46:36      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:linux

post——>bios——>MBR——>kernel——>initramfs——>ROOTFS/sbin/init(配置文件/etc/inittab)

内核设计风格

  Redhat Suse

  核心:动态加载模块

  内核模块:/lib/modules/内核版本号作为名称的目录/

  vmlinuz-2.6.32

  /lib/modules/2.6.32/

   1、单内核:linux

        核心:ko

   2、微内核:Windows 、solaris

chroot

     chroot 目录

ldd

  显示共享库的依赖关系

  ldd option 可执行文件

linux安装程序的最后一步,生成一个临时根文件系统,它包括kernel访问根文件系统所需要的全部信息,当内核完成根切换后把临时根文件系统下的/proc、/sys、/dev复制到新的根文件系统。

在redhat5上:initrd

在redhat6上:initramfs


grub

  stage1:MBR

  stage1_5:识别常见的文件系统

  stage2:/boot/grub


grub.conf

default=0 //默认启动的title编号

timeout=5 //等待用户选择的超时时间

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

title Red Hat Enterprise Linux (2.6.32-358.el6.x86_64)

        root (hd0,0) //内核所在设备,对grub而言所有类型硬盘一律为hd

        kernel /vmlinuz-2.6.32-358.el6.x86_64 ro root=/dev/mapper/vg_yizhenghotel-LogVol00 rd_DM_UUID=ddf1_4c5349202020202080861d600000000047114711000028a0 rd_NO_LUKS rd_LVM_LV=vg_yizhenghotel/LogVol00 LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=vg_yizhenghotel/LogVol06 SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_DM_UUID=ddf1_4c5349202020202080861d60000000004711471100001e78  KEYBOARDTYPE=pc KEYTABLE=us rhgb quiet //内核文件路径和传递给内核的参数

        initrd /initramfs-2.6.32-358.el6.x86_64.img


linux启动的服务不同,会有不同的

运行级别:0-6

      0:halt

      1:single user mode 单用户模式,直接登录管理员,不需要密码。

      2:multi user mode 多用户模式,不支持NFS

      3:multi user mode 多用户模式,text mode

      4:reserved

      5:multi user mode 多用户模式,graphic mode

      6:reboot

查看系统当前运行级别

   runlevel

   who -r

查看内核信息

   uname

修复grup

安装grub stage1

 #grup

 grup#root (hd0,0)

 grup#setup hd0

安装grub  

 #grub-install --root-directory=/(boot的父目录)  /dev/sda

grub>root (hd#,#)

grub>kernel 

grub>initrd

grub>boot


kernel初始化过程

1、设备探测

2、驱动初始化(从initrd中装载驱动模块)

3、挂载根文件系统

4、执行init


init

/sbin/init  (/etc/inittab)串行启动

upstart:ubantu开发,并行启动

systemd:并行启动


inittab文件说明

id:runlevel:action:process

id:标识符

runlevel:运行级别

action:在什么事件下运行进程

process:要运行的进程


ACTION

1、initdefault :设定默认运行级别

2、sysinit:系统初始化

3、wait:等待级别切换至此级别时执行

4、powerokwait:恢复供电

5、powerfail:停电

6、respawn:一旦程序终止,重新执行一次


/etc/rc.d/rc.sysinit完成的任务

1、激活udev和selinux

2、根据/etc/sysctl.conf设定内核参数

3、设定系统时钟

4、装载键盘映射

5、启用交换分区

6、设定主机名

7、根文件系统检测,并以读写方式重新挂载

8、激活raid和lvm设备

9、启用磁盘配额

10、根据/etc/fstab检查并挂载其他文件系统

11、清理过期的锁和pid文件

linux启动流程

标签:linux

原文地址:http://jiaoxianyao.blog.51cto.com/11369252/1917891

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!