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

linux操作系统启动流程,实现kickstart文件制作与光盘镜像制作

时间:2018-10-29 14:09:59      阅读:298      评论:0      收藏:0      [点我收藏+]

标签:进程   ash   安装源   脚本   linu   rc.local   加密   子网掩码   编辑功能   

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的版本分为

  1. grub 0.X (grub legacy)
  2. 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可进入命令行模式。

  1. 加载用户选择的内核或操作系统,并允许传递相应的内核参数给内核;可选择隐藏此菜单
  2. 为菜单提供保护机制,可 编辑菜单 设置认证 为启用内核 操作系统进行认证, 在系统开启过程中,有几秒的过渡页面,可按任意键进入菜单页面

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文件的图形界面工具
[root@gaohu ~]# yum install system-config-kickstart
? 开启工具
[root@gaohu ~]# 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目录
[root@gaohu ~]# mkdir myboot
? 复制/media/cdrom/isolinux/到myboot目录
[root@gaohu ~]# cp -r /media/cdrom/isolinux/ myboot
? 赋予isolinux下文件写权限
root@gaohu isolinux]# chmod u+w *
? 复制ks(ks.cfg)文件到/myboot/文件下
[root@gaohu ~]# cp ks.cfg /myboot/
? 创建光盘镜像boot.iso,退出到myboot目录之外
[root@gaohu ~]# 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文件制作与光盘镜像制作

标签:进程   ash   安装源   脚本   linu   rc.local   加密   子网掩码   编辑功能   

原文地址:http://blog.51cto.com/13927965/2309998

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