linux操作系统启动流程,实现kickstart文件制作与光盘镜像制作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux操作系统启动流程,实现kickstart文件制作与光盘镜像制作相关的知识,希望对你有一定的参考价值。
1、 简述linux操作系统启动流程
- POST:通电自检;
- Bios:BOIS自检,加载硬盘;
- 读取MBR,进行MBR引导;
- bootloader:grub引导菜单;
- 加载内核 Kernel(ramdisk) ;
- 启动init进程,依据inittab文件设定运行级别;
- init进程,执行rc.sysinit文件;
- 启动内核模块,执行不同级别的脚本程序;
- 执行/etc/rc.d/rc.local;
- 启动mingetty,进入系统登陆界面。
POST --> Boot Sequence(BIOS) --> Bootloader(MBR) --> Kernel(ramdisk) --> rootfs --> switchroot --> /sbin/init --> /etc/init, /etc/init/*.conf --> 设定默认运行级别 --> 系统初始化脚本 --> 关闭或启动对应级别下的服务 --> 启动终端并打印登录提示符 --> (图形桌面)
2、 简述grub启动引导程序配置及命令行接口详解
grub的版本分为
- grub 0.X (grub legacy)
- grub 1.X (grub 2)
目前centos 5和centos 6使用的就是 grub legacy 版本 centos 7使用的是 grub2 版本的启动引导程序
grub的三个阶段
第1阶段安装在mbr扇区中;
第1.5阶段在mbr之后的扇区,主要存放识别真正第2阶段所在设备的文件系统驱动,文件系统模块也可称为文件系统驱动,要访问就需要借助工具那么这工具就叫驱动是统称;
第2阶段就是这个工具,放在/boot/grub/目录下就叫做stage2文件,加载完stage2就能显示菜单,从而用户能执行高级操作,如grub菜单支持编辑功能,e进入编辑菜单,还支持保护2种加密(保护编辑和内核);
grub相关的配置文件
与grub相关的配置文件包括:/etc/grub.conf和/boot/grub/grub.conf /etc/grub.conf是指向/boot/grub/grub.conf的软连接,grub程序在引导启动时会读取这个配置文件,并按照这个文件的配置参数引导启动系统。
defaule: 表示有多个grub引导菜单时,选择哪一个作为默认启动引导菜单;
defaule=0:表示默认选择第一个选项进行配置 ;
timeout: 表示选择菜单的时间,如果过了这个时间没有选择则表示使用默认选项 ;
splashimage: 指定引导菜单中的背景图片的路径 ;
titile: 指定选项的名称 ;
root: 表示kernel和initrd文件所在的分区路径,而不是”根分区”;其格式为;
kernel: 通常是用于指定要运行的内核文件路径,如:/vmlinuz-2.6.32-642.el6.x86_64;另外也可在其后设置相关的内核参数,如:ro表示只读,root表示指定根分区所在路径,关闭selinux等等;
initrd: 为内核运行指定其可用的ramdisk文件,其版本须和内核版本一致;
grub程序的功能
1提供引导菜单,并提供交互式的命令行接口;在菜单界面,按e可进入编辑模式,用于编辑菜单,按c可进入命令行模式。
- 加载用户选择的内核或操作系统,并允许传递相应的内核参数给内核;可选择隐藏此菜单
- 为菜单提供保护机制,可 编辑菜单 设置认证 为启用内核 操作系统进行认证, 在系统开启过程中,有几秒的过渡页面,可按任意键进入菜单页面
grub的命令行接口
在菜单页面按c即可进入命令行接口,在此命令行接口,我们可以配置相关的grub设置.
grub常用的指令有:
help:查看命令帮助;
root (DEVICE):指定系统和内核文件所在的分区,如root(hd0,0)。
find (hd0,0) /path/to/file:用于查找对应分区下的文件。常用于当不确认内核文件在哪个分区时,可使用此命令确认文件所在路径;支持tab补全;
kernel /path/to/kernel_file:用于指定要运行的内核文件。
initrd /path/to/kernel_file:指定initrd文件;
boot:以当前配置好的grub配置启动系统
3、 实现kickstart文件制作与光盘镜像制作
kickstart文件制作流程
? 安装制作kickstart文件的图形界面工具
[[email protected] ~]# yum install system-config-kickstart
? 开启工具
[[email protected] ~]# system-config-kickstart
? 在打开的图形界面中通过file菜单选项选择安装过程中生成的/root目录下的anaconda-ks.cfg作为默认配置,在此基础上进行修改,配置内容包括:
1、基本配置
- 安装过程中的默认语言
- 键盘类型
- 时区
- root用户密码
2、 安装方法 - 安装或升级
- 配置安装源(CD-ROM、FTP、HTTP、NFS、Hard Drive)
3、引导装载程序选项 - 是否需要安装boot loader
- 给内核传递的参数(auto rhgb quite)
4、分区信息 - 是否清楚MBR
- 是否清除现有分区
- 是否需要初始化磁盘标签
- 设定分区布局
5、网络配置 - IP地址
- 子网掩码
- 网关
- DNS
- 验证
- 用户登录的认证方式
6、 防火墙配置 - 是否启用
- 安全级别
7、显示配置 - 是否启用图形界面
8、 软件包选项 - 需要安装哪些软件包
9、 安装前脚本
10、安装后脚本 - 最后通过file菜单选项选择ks.cfg的保存的位置
引导镜像制作流程
? 创建myboot目录
[[email protected] ~]# mkdir myboot
? 复制/media/cdrom/isolinux/到myboot目录
[[email protected] ~]# cp -r /media/cdrom/isolinux/ myboot
? 赋予isolinux下文件写权限
[email protected] isolinux]# chmod u+w *
? 复制ks(ks.cfg)文件到/myboot/文件下
[[email protected] ~]# cp ks.cfg /myboot/
? 创建光盘镜像boot.iso,退出到myboot目录之外
[[email protected] ~]# mkisofs -R -J -T -v –no-emul-boot –boot-load-size 4 –boot-info-table -V “CentOS 6 x86_64 boot” -csolinux/boot.cat -b isolinux/isolinux.bin -o /root/boot.iso myboot/
以上是关于linux操作系统启动流程,实现kickstart文件制作与光盘镜像制作的主要内容,如果未能解决你的问题,请参考以下文章
linux基础学习第二十一天之自动化安装linux系统(kickstart)
利用pxe dhcp tfcp http kickstart实现批量部署linux系统
PXE+Kickstart+DHCP+TFTP实现无人值守安装操作系统