CentOS启动流程以及kickstart及引导镜像制作

分类:CentOS教程 阅读:69480 次

1.centos安装启动过程中其实通过安装程序anaconda来进行(仅针对centos系统,用到的是anaconda程序来安装),anaconda运行在OS上,此时OS还没安装,那是anaconda是怎么运行的呢?其实init启动后,anaconda程序就运行了,前期其实就是:光盘上的bootloader --> 光盘上指定的配置好的vmlinuz, initrd.img --> 完成后直接运行anaconda。


2.anaconda的安装
1.anaconda把安装过程分成两个阶段:
1.安装前配置阶段(选定键盘类型(对于键盘,每个国家用的键盘类型不同,例如棒子、阿三等国家用的键盘类型是不同的)、语言、时区、管理员密码、磁盘及其分区方式、要安装的程序包)

在目标磁盘创建分区、执行格式化;
将选定的程序包安装至目标磁盘;
生成bootloader;

安装完之后要重启第一次启动时,要记得配置iptables, selinux,core dump(以防内存崩溃时使用)

2.安装时的分区

1.系统安装的基本分区时一般而言有2个:

/ : 根分区

swap:交换分区(一旦没有swap分区,硬盘空间不够用了就会出问题)


2.如果根分区放置于逻辑卷,由于grub无法驱动并访问逻辑卷,就必须将/boot单独分区,并使用基本磁盘分区,而不能使用逻辑卷,这时分区就应该有3个:

/: 根分区,其放置于逻辑卷

/boot:使用基本磁盘分区,不能使用逻辑卷

swap:交换分区

【注意:为防止系统崩溃,重装系统丢失重要关键性数据,有时候/usr,/var,/home/tmp/,usr/local 可以单独分区,将来重装系统时,只重装根分区、格式化根即可,其他/usr,/var,/home/tmp/只需挂载上即可】
【注意:上述所有的安装过程都是由anaconda程序运行的】


4.安装系统的另外一种方式:通过读取kickstart配置文件自动完成

1.anaconda应用程序支持通过读取配置文件的内容来完成安装过程的配置,配置文件称kickstart文件(在centos或红帽系列),文件在/root目录下,这种方法批量部署时需要用到。

2.kickstart文件的组成:
命令段
程序包段:%packages, %end #表示要安装的程序包
@group #安装包组
package #要装的包
-package #不安装package包
脚本段:
%pre #安装前脚本:安装过程开始之前要执行的脚本;【注意:此时的Linux系统环境为微缩版环境,因此脚本应该较简单才行;】
%post #安装后脚本:安装过程完成之后要执行的脚本;【注意:脚本执行环境为完整的已经安装完成的系统;】

3.kickstart命令段,分为两类:必备命令和可选命令(辅助完成一些功能)
1. 配置kickstart的方式:

(1) 手动编辑配置文件;

(2) system-config-kickstart,GUI工具;安装命令system-config-kickstart的程序包名与命令名相同;


2.安装过程如何获取并使用kickstart文件:
( 1) 放置于安装程序能够获取到的位置;
(a) 放置于光盘镜像;
(b) 网络文件服务器;
【要求:安装程序得支持网络功能,且能够访问到网络文件服务器;】


3.安装过程过程中的安装引导选项
1.boot:
linux #启动默认安装模式
linux text #启动文本安装模式

2.与网络相关的引导选项:

ip=IPADDR

netmask=MASK

gateway=GW

dns=DNS_SERVER_IP

ifname=NAME:MAC_ADDR #网卡名

3. 指明获取 kickstart 文件的路径

ks=

DVD drive ks=cdrom:/path/to/kickstart_file

HTTP Server ks=http://server_ip:port/path/to/kickstart_file

HTTPS Server ks=https://server_ip:port/path/to/kickstart_file

FTP Server ks=ftp://serverip:port/path/to/kickstart_file

NFS Server ks=nfs:server_ip:/path/to/kickstart_file


CentOS启动流程以及kickstart及引导镜像制作

下面演示怎样创建一个引导光盘,仅帮助启动安装过程,不提供安装树:
(1) 首先准备工作目录,例如这里使用/tmp/cdrom;

(2) 挂载系统发行光盘,复制isolinux目录至/tmp/cdrom;

(3)用命令system-config-keckstart制作kickstart文件, 复制制作好的kickstart文件ks.cfg至/tmp/cdrom某位置;

(4) 如果需要,可以编辑/tmp/cdrom/isolinux/isolinux.cfg,在某label后的append指令后附加ks=信息,从而实现自动调用光盘上提供的ks文件;


(5) 创建iso镜像,采用命令mkios创建好之后会生成一个boot.iso文件,boot.iso文件就是我们的引导镜像,到这儿我们的镜像就制作完毕了

(6)如果需要的话,可以用sftp将制作好的boot.iso镜像复制到windows上面,然后新建一个虚拟机,在虚拟机中调整启动次序为光盘启动,即我们的boot.iso,引导启动即可