Linux引导过程分析
2017-05-22 22:22
141 查看
Linux启动过程分析,设置服务自启动的方法和一些常用通配符,给系统命令定义别名的加强版
可引导介质列表
可引导介质搜索顺序
电源管理
启动细节显示
............................
查看grub信息,【vim /etc/grub.conf】包含了内核文件和内核版本:/vmlinuz-2.6.18-194该内核在/boot下
在inittab中,所有条目采取以下格式:id:条目的标识符,包含两个字母或数字run-levels:指定运行级别,可以指定多个action:指定运行状态process:指定要运行的可执行程序的完整路径
sysinit:系统启动执行process中指定的命令
wait:执行process中指定的指令,并等其结束再运行其他命令
once:执行process中指定的指令,不等待其结束
ctrlaltdel:按下Ctrl+Alt+Del时执行process指定的命令
powerfail:当出现电源错误时执行process指定的命令,不等待其结束
powerokwait:当电源恢复时执行process指定的内容
respawn:一旦process指定的命令中止,便重新运行该命令
如:S12syslog K89cipedS--start:表示启动此服务K--kill:表示不启动此服务数字:启动顺序,越小越优先,数字相同,按照创建时间启动脚本名称
【/etc/rc.d/init.d】中的服务也可以手动启动或关闭如:【/etc/rc.d/init.d/sshd start】
【vi /etc/rc.d/init.d/msg.script】自己手动创建一个脚本
【chmod u+x /etc/rc.d/init.d/msg.script】增加可执行权限
【ln -s /etc/rc.d/init.d/msg.script /etc/rc.d/rc3.d/S100mscript】
chkconfig
【chkconfig】或【chkconfig --list】查看所有服务对应的运行级别是否开启
【chkconfig --list sshd】查看sshd服务在各运行级别中是否开启
【chkconfig --levels 2345 sshd off】在2345级别中,关闭sshd服务的自启动
ntsysv
【ntsysv】对当前运行级别进行自启动设置 【ntsysv --level 3】对运行级别3进行自启动设置启动如下视图设置服务自启动
timeout定义缺省等待时间
splashimage定义GRUB界面图片(640*480分辨率)
hiddenmenu隐藏菜单
title定义菜单项名称
root设置GRUB的根设备,即内核所在的分区
kernel定义内核文件所在位置
initrd命令加载镜像文件
(hd0,0):表示/boot所在分区(第一块硬盘,第一个分区)
1 系统引导流程图
2 常用固件设置
安全设置可引导介质列表
可引导介质搜索顺序
电源管理
启动细节显示
............................
2.1 固件设置实例
【hwclock】查看硬件时钟时间(系统时间为【date】)【hwclock --hctosys】将系统时间设置为硬件时钟时间【hwclock --systohc】将硬件时钟时间设置为系统时间单独设置硬件时钟的方法:【hwclock --set --date='8/9/2019 16:46:30'】3 自举程序启动内核
查看grub信息,【vim /etc/grub.conf】包含了内核文件和内核版本:/vmlinuz-2.6.18-194该内核在/boot下
4 内核驱动硬件和启动第一个进程init
4.1init进程
init进程启动后读取inittab文件(init table),执行缺省运行级别,从而继续引导过程。在unix系统中,init是第一个可以存在的进程,它的PID恒为1,但它也必须向一个更高级的功能负责:PID为0的内核调度器(Kernel scheduler),从而获得CPU时间。通过【ps -le | more】查看进程详情4.2 inittab文件剖析
【runlevel】查看当前运行级别【N】表示原始运行级别,未更改;【S】表示变化后的运行级别。【init [0123456Ss]】或【telinit [01234546Ss]】切换运行级在inittab中,所有条目采取以下格式:id:条目的标识符,包含两个字母或数字run-levels:指定运行级别,可以指定多个action:指定运行状态process:指定要运行的可执行程序的完整路径
4.2.1 inittab文本中可能的内容
4.2.2 action常用取值
initdefault:指定系统缺省启动的运行级别sysinit:系统启动执行process中指定的命令
wait:执行process中指定的指令,并等其结束再运行其他命令
once:执行process中指定的指令,不等待其结束
ctrlaltdel:按下Ctrl+Alt+Del时执行process指定的命令
powerfail:当出现电源错误时执行process指定的命令,不等待其结束
powerokwait:当电源恢复时执行process指定的内容
respawn:一旦process指定的命令中止,便重新运行该命令
如:S12syslog K89cipedS--start:表示启动此服务K--kill:表示不启动此服务数字:启动顺序,越小越优先,数字相同,按照创建时间启动脚本名称
【/etc/rc.d/init.d】中的服务也可以手动启动或关闭如:【/etc/rc.d/init.d/sshd start】
4.2.3 设置自启动程序
ln -s : 创建软链接【vi /etc/rc.d/init.d/msg.script】自己手动创建一个脚本
【chmod u+x /etc/rc.d/init.d/msg.script】增加可执行权限
【ln -s /etc/rc.d/init.d/msg.script /etc/rc.d/rc3.d/S100mscript】
chkconfig
【chkconfig】或【chkconfig --list】查看所有服务对应的运行级别是否开启
【chkconfig --list sshd】查看sshd服务在各运行级别中是否开启
【chkconfig --levels 2345 sshd off】在2345级别中,关闭sshd服务的自启动
ntsysv
【ntsysv】对当前运行级别进行自启动设置 【ntsysv --level 3】对运行级别3进行自启动设置启动如下视图设置服务自启动
5 相关命令和日志
6 GRUB配置文件
grub配置文件默认为:【/boot/grub/grub.conf】软链接地址:【/etc/grub.conf】6.1 grub配置选项
default定义缺省启动系统timeout定义缺省等待时间
splashimage定义GRUB界面图片(640*480分辨率)
hiddenmenu隐藏菜单
title定义菜单项名称
root设置GRUB的根设备,即内核所在的分区
kernel定义内核文件所在位置
initrd命令加载镜像文件
(hd0,0):表示/boot所在分区(第一块硬盘,第一个分区)
相关文章推荐
- linux系统引导启动过程分析
- Linux 引导过程内幕
- Linux 引导过程内幕
- linux中ELF加载过程分析 - 博青港湾-技术空间 - CSDNBlog
- Linux 引导过程内幕
- Linux2.6内核进程创建过程分析
- 关于嵌入式Linux系统的启动(很好的嵌入式linux启动过程分析)
- 嵌入式Linux引导过程之1.6——Xloader的Xloader_Entry
- Linux 引导过程内幕
- Linux 引导过程内幕Linux 引导过程内幕
- Linux的引导过程
- Linux的引导过程剖析
- Linux的引导过程剖析
- linux中ELF加载过程分析
- Linux系统引导过程详解
- Linux开机过程的分析
- Linux 引导过程内幕
- Linux系统开机过程详细分析
- Linux启动分析(1)— 总体过程
- 嵌入式Linux引导过程之1.2——Xloader的XLOADER_ENTRY