[Linux] 五,引导流程 2 [剖析inittab+grub+小结]
inittab 文件剖析
#1 grep -v "^#" /etc/inittab | more
#2 man inittab
id
#3 在inittab中,所有条目采取以下格式:
id:run-levels:action:process
id:标识符,一般为两位字母或数字
run-levels:指定运行级别,可以指定多个 [左手拿板砖,脚踢]
action:指定运行状态 [在什么地方揍他]
process:指定要运行的脚本/命令
【李明把高老师给揍了,其他人首先关心这个事process。在哪里揍的action,然后用什么揍的run-levels】
【高老师报警,我被抓,每个刑事档案都会有一个编号-往往是时间和档案id,这个没有人关心】
[学习的时候要抓住重点]
----- 大致流程 ----
firmware initdefault
| |
BootLoader /etc/rc.d/rc.sysinit
| |
Kernel /etc/rc.d/rc
| |
/etc/inittab /etc/rc.d/rcN.d N 0~ 6
|
username
password
-----------------------------------------------------------
#4 id:5:initdefault:
id:run-levels:action:process
#5 如何引导的 /etc/rc.d/rc.sysinit 这个脚本每次系统启动它都运行!启动系统服务的脚本
-> 服务启动目录中的服务启动程序
0 1 2 3 4 5 6 /etc/rc.d/rc0.d rc1.d rc2.d ......
S-start K-kill K85mdmpd 理论上越小的越先启动。。或者杀死
数字
脚本名称
hp@ubuntu:/etc/rc3.d$ ls
README S50pulseaudio S70dns-clean S99acpi-support S99rc.local
S20kerneloops S50rsync S70pppd-dns S99grub-common
S20speech-dispatcher S50saned S75sudo S99laptop-mode
action常用取值:
initdefault: 指定系统缺省启动的运行级别
sysinit: 系统启动执行process中指定的命令
wait: 执行process中指定的命令,并等其结束再运行其他命令
once: 执行process中指定的命令,不等待其结束
ctrlaltdel: 按下Ctrl+Alt+Del时执行process指定的命令
终端有6个,你也可以自己增加终端,ctrl+alt+f7 恢复
终端退出,不代表终止!
启动脚本/etc/rc.d/rc.sysinit,完成系统服务程序启
动,如系统环境变量设置、设置系统时钟、加载
字体、检查加载文件系统、生成系统启动信息日
志文件等。
判断默认运行级别,调用/etc/rc.d/rc脚本,执行相
应运行级别目录中的服务程序,完成相应运行级
别的初始化设置
/etc/rc.d/init.d
该目录下包含各个运行级别的服务程序脚本
/etc/rc.d/rc[0123456].d
分别存放对应于运行级别的服务程序脚本的符号链接,链接到init.d目录中的相应脚本
设置自启动程序
ln -s
chkconfig
ntsysv
相关命令及日志
运行dmesg检查引导期间的错误
dmesg | grep eth0 判断这个硬件是否被内核所识别
检查系统日志/var/log/messages,查找可能被dmesg忽略的应用程序错误
-----------------
GRUB
GRUB的配置文件默认为
/boot/grub/grub.conf /etc软链
# ls -l /etc/grub.conf
内核存在于 /boot 之下
GRUB配置选项
default定义缺省启动系统
timeout定义缺省等待时间
splashimage定义GURB界面图片
hiddenmenu隐藏菜单
title定义菜单项名称
root设置GRUB的根设备即内核所在的分区
kernel定义内核文件所在位置
initrd命令加载镜像文件
GRUB命令
功能键:
e: 编辑当前的启动菜单项
c: 进入GRUB的命令行方式
b: 启动当前的菜单项
d: 删除当前行
Esc: 返回GRUB启动菜单界面,取消对当前单
项所做的的任何修改
Linux引导流程
知识点总结
#1 掌握 Linux 引导过程的每个步骤
firmware CMOS/BIOS[PC] [没有的问题的话就读取硬盘disk 第一个位置MBR,这里有自举程序]
|
BootLoader GRUB[Ilinux多数是grub] root-/boot kernel- initrd-
|
kernel hardware
|
init PID=1 恒 PID=0进程间切换和时间分配
|
/etc/inittab id:runlevels:action:process [最重要干什么事情]
|
initdefault 1single 23 5X11 0halt 6reboot 4[预留] init[该命令可以切换运行级别]
|
/etc/rc.d/rc.sysinit [无论什么运行级别都执行该脚本]
|
/etc/rc.d/rc [后续怎么引导,执行该脚本]
|
/etc/rc.d/rcN.d [后续怎么引导,执行该脚本] S-start K-kill
|
username password
说明1 :网络时间协议NTP
OS系统的title下定义了三个选项,分别是root是用来指定/boot所在分区的硬件标识
说明2 : # man grep | col -b > grep.man 好查看帮助
#1 grep -v "^#" /etc/inittab | more
#2 man inittab
id
#3 在inittab中,所有条目采取以下格式:
id:run-levels:action:process
id:标识符,一般为两位字母或数字
run-levels:指定运行级别,可以指定多个 [左手拿板砖,脚踢]
action:指定运行状态 [在什么地方揍他]
process:指定要运行的脚本/命令
【李明把高老师给揍了,其他人首先关心这个事process。在哪里揍的action,然后用什么揍的run-levels】
【高老师报警,我被抓,每个刑事档案都会有一个编号-往往是时间和档案id,这个没有人关心】
[学习的时候要抓住重点]
----- 大致流程 ----
firmware initdefault
| |
BootLoader /etc/rc.d/rc.sysinit
| |
Kernel /etc/rc.d/rc
| |
/etc/inittab /etc/rc.d/rcN.d N 0~ 6
|
username
password
-----------------------------------------------------------
#4 id:5:initdefault:
id:run-levels:action:process
#5 如何引导的 /etc/rc.d/rc.sysinit 这个脚本每次系统启动它都运行!启动系统服务的脚本
-> 服务启动目录中的服务启动程序
0 1 2 3 4 5 6 /etc/rc.d/rc0.d rc1.d rc2.d ......
S-start K-kill K85mdmpd 理论上越小的越先启动。。或者杀死
数字
脚本名称
hp@ubuntu:/etc/rc3.d$ ls
README S50pulseaudio S70dns-clean S99acpi-support S99rc.local
S20kerneloops S50rsync S70pppd-dns S99grub-common
S20speech-dispatcher S50saned S75sudo S99laptop-mode
action常用取值:
initdefault: 指定系统缺省启动的运行级别
sysinit: 系统启动执行process中指定的命令
wait: 执行process中指定的命令,并等其结束再运行其他命令
once: 执行process中指定的命令,不等待其结束
ctrlaltdel: 按下Ctrl+Alt+Del时执行process指定的命令
终端有6个,你也可以自己增加终端,ctrl+alt+f7 恢复
终端退出,不代表终止!
启动脚本/etc/rc.d/rc.sysinit,完成系统服务程序启
动,如系统环境变量设置、设置系统时钟、加载
字体、检查加载文件系统、生成系统启动信息日
志文件等。
判断默认运行级别,调用/etc/rc.d/rc脚本,执行相
应运行级别目录中的服务程序,完成相应运行级
别的初始化设置
/etc/rc.d/init.d
该目录下包含各个运行级别的服务程序脚本
/etc/rc.d/rc[0123456].d
分别存放对应于运行级别的服务程序脚本的符号链接,链接到init.d目录中的相应脚本
设置自启动程序
ln -s
chkconfig
ntsysv
相关命令及日志
运行dmesg检查引导期间的错误
dmesg | grep eth0 判断这个硬件是否被内核所识别
检查系统日志/var/log/messages,查找可能被dmesg忽略的应用程序错误
-----------------
GRUB
GRUB的配置文件默认为
/boot/grub/grub.conf /etc软链
# ls -l /etc/grub.conf
内核存在于 /boot 之下
GRUB配置选项
default定义缺省启动系统
timeout定义缺省等待时间
splashimage定义GURB界面图片
hiddenmenu隐藏菜单
title定义菜单项名称
root设置GRUB的根设备即内核所在的分区
kernel定义内核文件所在位置
initrd命令加载镜像文件
GRUB命令
功能键:
e: 编辑当前的启动菜单项
c: 进入GRUB的命令行方式
b: 启动当前的菜单项
d: 删除当前行
Esc: 返回GRUB启动菜单界面,取消对当前单
项所做的的任何修改
Linux引导流程
知识点总结
#1 掌握 Linux 引导过程的每个步骤
firmware CMOS/BIOS[PC] [没有的问题的话就读取硬盘disk 第一个位置MBR,这里有自举程序]
|
BootLoader GRUB[Ilinux多数是grub] root-/boot kernel- initrd-
|
kernel hardware
|
init PID=1 恒 PID=0进程间切换和时间分配
|
/etc/inittab id:runlevels:action:process [最重要干什么事情]
|
initdefault 1single 23 5X11 0halt 6reboot 4[预留] init[该命令可以切换运行级别]
|
/etc/rc.d/rc.sysinit [无论什么运行级别都执行该脚本]
|
/etc/rc.d/rc [后续怎么引导,执行该脚本]
|
/etc/rc.d/rcN.d [后续怎么引导,执行该脚本] S-start K-kill
|
username password
说明1 :网络时间协议NTP
OS系统的title下定义了三个选项,分别是root是用来指定/boot所在分区的硬件标识
说明2 : # man grep | col -b > grep.man 好查看帮助