第七周博客作业

1、简述linux操作系统启动流程
2、简述grub启动引导程序配置及命令行接口详解
3、实现kickstart文件制作与光盘镜像制作

1、简述linux操作系统启动流程

*  Linux系统的组成部分:内核+根文件系统

内核:进程管理、内存管理、网络协议栈、文件系统、驱动程序、安全功能

*   运行中的系统环境可分为两层:内核空间、用户空间

用户空间:应用程序(进程或线程)

内核空间:内核代码(系统调用)

*  内核设计流派:

单内核设计:把所有功能集成于同一个程序;例如Linux系统

微内核设计:每种功能使用一个单独的子系统实现;例如:Windows系统

*  Linux内核特点:

支持模块化:  .ko (kernel object)

支持模块运行时动态装载或卸载;

 

(1)内核版本查询

11

(2)内核文件 可以多内核

12

(3)内核模块里的文件

13

(4)ramdisk虚拟根

ramdisk: 虚拟根 启动时候在内存中虚拟一个根 用于加载当前硬件驱动(适用不同硬件的主机), 如果是编译安装系统 仅针对本机硬件, 不需要这个虚拟根。

(5)系统的启动流程

16

(6)系统的初始化

15

(7)内核空间的启动流程:1

 

(8)CentOS的运行级别init

17

(9)配置inittab文件

文件所在位置/etc/inittab,inittab在启动中起着非常重要的作用2

每行定义一种action(动作)以及与之对应的process(任务)

id:runlevels:action:process

id:一个任务的标识符;

runlevels:在哪些级别启动此任务;#,###,也可以为空,表示所有级别;

action:在什么条件下启动此任务;

process:任务;

 

action:

wait:等待切换至此任务所在的级别时执行一次;

respawn:一旦此任务终止,就自动重新启动之;

initdefault:设定默认运行级别;此时,process省略;

sysinit:设定系统初始化方式,此处一般为指定/etc/rc.d/rc.sysinit脚本;

 

例如:

id:3:initdefault:

si::sysinit:/etc/rc.d/rc.sysinit

 

l0:0:wait:/etc/rc.d/rc  0

l1:1:wait:/etc/rc.d/rc  1

…………

l6:6:wait:/etc/rc.d/rc  6

意味着去启动或关闭/etc/rc.d/rc3.d/目录下的服务脚本所控制服务;

K*:要停止的服务;K##*,优先级,数字越小,越是优先关闭;依赖的服务先关闭,而后关闭被依赖的;

S*:要启动的服务;S##*,优先级,数字越小,越是优先启动;被依赖的服务先启动,而依赖的服务后启动;

(10)用户空间的启动流程:设置默认运行级别 –>运行系统初始化脚本,完成系统初始化 –>关闭对应级别下需要停止的服务,启动对应级别下需要开启的服务–>设置登录终端 [–>启动图形终端]

2、简述grub启动引导程序配置及命令行接口详解

(1)什么是grub

      GNU GRUB(GRand Unified Bootloader简称“GRUB”)是一个来自GNU项目的多操作系统启动程序。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。

(2)grub版本

grub 0.x: grub legacy经典版本:Centos6和Centos5使用该版本

grub 1.x: grub2:Centos7使用该版本

(3)grub启动的三个阶段

第1阶段:stage1: 用于启动mbr中Boot loader

第1.5阶段: stage1_5: mbr之后的扇区,让stage1中的bootloader能识别stage2所在的分区上的文件系统;

第2阶段  stage2:读取grub.conf 配置文件,并实现引导功能的扩展,第二阶段的内核通常放置在一个基本磁盘分区上。

(4)与grub相关的配置文件

与grub相关的配置文件包括:/etc/grub.conf和/boot/grub/grub.conf,其实/etc/grub.conf是指向/boot/grub/grub.conf的软链接,grub程序在引导启动时会读取这个配置文件并按照该文件的配置参数引导启动系统。
通常其内容为:

default=0:表示有多个grub引导菜单时,选择哪一个作为默认启动引导菜单,default=0表示默认使用第一个title菜单中的配置;
timeout=5:在grub选择菜单中,5秒内,如果用户没有选择任何一个title,则使用default中指定的titile菜单中的配置进行启动。
splashimage:指定引导菜单中的背景图片的路径;
titile:指定title菜单到的名称;
root:表示kernel和initrd文件所在的分区路径,而不是“根分区”;其设置格式为:root (hd#,#),硬盘均会被识别为hd,第一个#表示第几个硬盘,从0开始;地第二个#表示同一个硬盘上的不同分区,也使用数字标识,从0开始;
kernel:通常用于指定要运行的内核文件路径,如:/vmlinuz-2.6.32-642.el6.x86_64;另外也可在其后设置相关的内核参数,如:ro表示只读,root表示指定根分区所在路径,关闭selinux等等;
initrd:为内核运行指定其可用的ramdisk文件,其版本须与内核版本相一致;

(5)grub程序的功能

1)、 提供菜单、并提供交互式接; e: 编辑模式,用于编辑菜单;c: 命令模式,交互式接口;

2) 、加载用户选择的内核或操作系统, 允许传递参数给内核,也 可隐藏此菜单。

3)、 为菜单提供了保护机制,为编辑菜单进行认证,为启用内核或操作系统进行认证。

在系统开机启动过程中,有几秒的过渡页面,此时按任意键可进入到菜单页面中:5

按e键进入编辑模式6

按c键进入命令模式,按esc键返回7

(6)grub的命令行接口

在菜单页面按c即可进入命令行接口,在此命令行接口, 我们可以配置相关的grub设置,如指定root 路径、kernel文件的路径等等。grub命令行接口的常用指令有:


10

 

(7)进入单用户模式:

1) 、编辑grub菜单(选定要编辑的title,而后使用e命令);

2) 、在选定的kernel后附加

1, s, S或single都可以;

3)、 在kernel所在行,键入“b”命令;

 

(8)安装grub方法:

1)、 grub-install命令

格式:    grub-install –root-directory=ROOT /dev/DISK

DEVICE:安装的目标磁盘;
–root-directory=DIR:指grub映像文件的存放位置,默认为当前系统根目录。grub-install会在指定的目录下创建boot/grub/的层级目录,并生成相关的grub文件生成在DIR/boot/grub/下。

2)、在grub中安装grub

 

 

3、实现kickstart文件制作与光盘镜像制作

anaconda的配置方式:

(1) 交互式配置方式;

(2) 支持通过读取配置文件中事先定义好的配置项自动完成配置;遵循特定的语法格式,此文件即为kickstart文件;

安装kickstart工具

Kickstart配置文件内容

kickstart文件的格式

命令段:

指定各种安装前配置选项,如键盘类型等;

必备命令

可选命令

程序包段:

指明要安装程序包,以及包组,也包括不安装的程序包;

%packages

@group_name

package

-package

%end

脚本段:

%pre:安装前脚本

运行环境:运行安装介质上的微型Linux系统环境;

 

%post:安装后脚本

运行环境:安装完成的系统;

 

启用窗口配置ks

4

创建一个目录

转到这个目录并查看光盘

拷贝光盘里面isolinux整个目录

转到isolinux本地目录下并赋予写入权限

修改相关项目.

拷贝anaconda文件到myboot目录

注意查看myboot目录里面查看是否有.discinfo这个隐藏文件,如果没有使用镜像会报错无法找到光盘,从新到光盘里面拷贝出来即可。

 

创建光盘镜像

查询新建的iso文件

拷贝出来boot.iso并加载使用

1

启动虚拟机并加载2

设置语言并完成安装

3

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/97473

发表评论

登录后才能评论

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:1823388528@qq.com

工作时间:周一至周五,9:30-18:30,节假日同时也值班