CentOS kickstart及引导镜像文件制作

安装CentOS操作系统,一般会选择通过光盘安装,光盘中有Packages所有的rpm包文件、repodata所有包的元数据文件、以及RPM-GPG-KEY-CentOS-#(版本)的公钥文件(主要作用就是验证RPM包的来源性和数据完整性验证)等。

其中的isolinux目录下文件vmlinuz和initrd.img是特殊的内核和引导文件,光盘中的bootloader程序会识别别加载vmlinuz和initrd.img使之成为一个临时的OS接下来会启动anaconda这个自动安装程序,自动去安装树上查找配置文件,完成操作系统的安装。就像你通过你的PE去安装Windows OS一样,PE也是一个小的OS,PE启动后你就可以把你的U盘拔出来了,那个简陋的OS照样运行,因为它已经在跑在你的内存中了。

anaconda这个自动安装程序会把接下来的安装过程大致分为三个阶段:

第一阶段:安装前配置

主要是语言选择、keyboard选择、管理员密码等。

第二阶段:安装阶段

主要是对分区后的硬盘进行格式化、生成bootloader、生成initrmfs文件(这个文件的作用就是当OS第一次启动的时候帮助内核挂载/目录,因为kernel中可能没有硬盘的驱动,根本就不可能以ro挂载/,而Linux Release会在第一次安装OS的时候提取出initrmfs文件,帮助内核识别)、重启等。

第三阶段:第一次启动之后的配置阶段

主要是配置iptables、selinux等。

以上的过程可以通过iso镜像文件安装CentosOS仔细体会。

如果想要制作一个自行安装CentosOS的工具的话,只要制作出能够让anaconda支持的配置脚本就可以了,通过此脚本anaconda就可以完成自动化安装,这个脚本就是kickstart,你可以通过安装yum install system-config-kickstart来安装这个生成脚本的工具,这是一个GUI程序,给你提供选择窗口。

如果你当前的CentOS就是你想要批量安装的模板OS,你也可以通过把root家目录下的anaconda-ks.cfg文件导入system-config-kickstart继续修改一下制作成kickstart文件,或者直接复制它也可以,因为anaconda-ks.cfg就是操作系统安装过程的所有配置信息,由anaconda安装程序生成。

你可以自己查看anaconda-ks.cfg文件,大致由命令段、程序包段(%packages %end)脚本段(%pre %post)等,都是有特殊语法的,可以通过查看CentOS官网文档来完成操作。

你可以把你的kickstart文件放到任何安装程序能够读取到的地方即可,可以是iso镜像文件中,也可以是网络文件服务器中,指明获取kickstart文件的路径如下:

ks=

DVDdrive  ks=cdrom:/path/to/kickstart_file

HTTPServer ks=http://server_ip:port/path/to/kickstart_file

HTTPSServer ks=https://server_ip:port/path/to/kickstart_file

FTPServer  ks=ftp://serverip:port/path/to/kickstart_file

NFSServer  ks=nfs:server_ip:/path/to/kickstart_file

前提是,这些命令需要你附加在启动程序中,不是你随便添加的。

下面以创建一个引导光盘仅能启动安装过程,安装树指向网络中的服务器来解决。

(1)、提取发行光盘的isolinux目录至本地的/tmp/pan.iso中,并把你制作的kickstart文件wangks.cfg也放入该目录,如图1

图1

(2)、要把pan.iso做成光盘引导文件,所以必须在其父目录下通过mkiso工具制作光盘镜像文件,必须对isolinux目录有w权限,如图2(注:这个是我之前没有添加kickstart文件时的截图,压缩命令效果不变)

图2

(3)、把光盘镜像文件导入虚拟机启动,在选择菜单通过“esc”键到boot交互命令接口,通过linux ks=cdrom:/wangks.cfg就可以自动话安装了,安装包的生成树指定网络的生成树。如图3

图3

(4)上文说过安装光盘中的isolinux目录下的文件负责引导程序,其实安装时候isolinux目录中的boot.cat和isolinux.bin会读取isolinux.cfg配置文件来启动界面菜单,也就是图4,图5是isolinux.cfg的内容,可以通过cat命令获取,对比两图看看。

图4

图5

注意:所以,在boot交互命令中输入的linux,其实就是图4菜单当中的第一项,boot:linuxks=cdrom:/wangks.cfg也就是在label linux下append(中文:追加的意思)后加入ks=cdrom:/wangks.cfg,如果你在isolinux.cfg中修改,那么直接可以通过选择第一个菜单,直接安装。

因为Linux没有注册表的概念,所以,相对Winodows来说原理是简单的,因为没有这个配置文件我就创造一个,没有什么我就临时加入一个,这也就相当于linux的单内核设计,虽然理论上不如微内核,但是通过模块化的设计,反而赢得更多人的青睐,你用什么,什么没有,ok,制作成内核模块添加,www.kernel.org上面已经发布了4.0版本,根本不用重启你的linux OS就可以打补丁安装内核模块等,这也就是魅力所在吧!

时间: 2024-10-06 00:31:27

CentOS kickstart及引导镜像文件制作的相关文章

Kickstart及引导镜像的制作

anaconda介绍 设置光盘为第一启动项引导操作系统,开机时光盘会启动boot.cat,和isolinux.bin这两个文件启动图形引导界面,在图形引导界面键入ESC键入boot启动界面,键入启动标签然后会根据isolinux.cfg文件记录的标签信息,启动对应的内核和init文件,配置ip地址和anaconda自动安装文件,开始联系服务器自动安装操作系统. Anaconda启动过程分为三个阶段: 安装前配置:键盘类型,语言环境,管理员密码,磁盘分区 安装执行过程:将用户选定要安装的程序包,基

CentOS系统安装(下):无人值守安装--kickstart文件及引导镜像的制作

1. 什么是kickstart安装? kickstart是RedHat/CentOS/Fedora等系统实现无人值守自动化安装的一种安装方式,系统管理员可将安装过程中需要配置的所有参数集成于一个kickstart文件中,而后在系统安装时,安装程序通过读取事先给定的这个kickstart文件自动化地完成配置并安装完成. anaconda的配置方式有以下两种: (1)交互式配置: (2)通过读取事先给定的配置文件事先自动完成配置,这个配置文件就是kickstart文件,它遵循特定的语法格式. 在前面

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

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

Linux内核编译、管理以及kickstart和引导镜像制作

其实内核就是系统上面的一个文件,包含了驱动主机各项硬件的检测程序与驱动模块,而Linux的内核是单内核体系,且是模块化的 内核的组成部分: 核心文件:/boot/vmlinuz-VERSION 模块文件:/lib/modules/VERSION/ *.ko: 模块间或许存在依赖关系: ramdisk: 非必须性内容:只是用于实现内核在无法加载根文件设备时提供 内核模块管理: lsmod命令:列出已经装载的模块 另一种办法:# cat /proc/modules modinfo: 查看指定模块的详

kickstart及引导镜像制作

1,挂载系统发行光盘到/mnt目录下 # mount -o ro /dev/cdrom /mnt/ 2,复制系统发行光盘中的isolinux目录至/tmp/cdrom: #mkdir /tmp/cdrom #cp /mnt/isolinux /tmp/cdrom 3,制作kickstart文件ks.cfg文件至/tmp/cdrom下 #安装system-config-kickstart #yum install system-config-kickstart -y 4,在命令输入system-c

centos 6.6 ios镜像文件 下载

1百度一下:centos 打开打开官网.选择这一项 CET CENTOS 2选择 DVD ISO,双击下载 直接选择左键点击下载 这里需要迅雷 方法 二 打开 https://mirrors.aliyun.com/centos/  进行下载 下载过程中有任何问题可以评论问我

kickstart及光盘引导镜像制作

一.kickstart简介使用kickstart可以完成系统的自动化安装,原理是把安装过程内装写到配置文件中,这个配置文件可以放在光盘和文件服务器上,下面只介绍光盘引导镜像的制作.二.光盘引导镜像制作过程  (1) 准备工作目录,例如这里使用/tmp/cdrom:   #mkdir /tmp/cdrom  (2) 挂载系统发行光盘,复制光盘所有内容至/tmp/cdrom:  #mount -r -t iso9660 /dev/cdrom /media/cdrom  #cp -r /media/c

从零开始构建一个centos+jdk7+tomcat7的docker镜像文件

从零开始构建一个centos+jdk7+tomcat7的镜像文件 centos7系统下docker运行环境的搭建 准备centos基础镜像 docker pull centos 或者直接下载我准备好的镜像 docker pull registry.cn-hangzhou.aliyuncs.com/repos_zyl/centos:0.0.1 准备jdk7和tomcat7安装包 创建工作目录, mkdir -p /z/docker 准备下载jdk7的tar.gz包http://download.o

Linux mkisofs 创建光盘镜像文件(Linux指令学习笔记)

mkisofs命令 创建光盘文件的系统的命令是mkisofs.光盘系统有多种格式,利用Linux系统提供的光盘文件系统创建 命令mkisofs,可以创建多种iso9660文件系统. 我们一般不用mkisofs直接刻录光盘,而常用它创建一个光盘映像文件. mkisofs用法如下: mkisofs  [options] [-o filename] pathspec[pathspec...] -o filename :光盘映像文件名. pathspec:    要刻录的文件名,目录或者树目录. opt