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

Linux就该这么学

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

           




2.anaconda的安装

        1.anaconda把安装过程分成两个阶段:

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

 
<span style="font-family:'微软雅黑';">         2安装阶段:<br></span>

               在目标磁盘创建分区、执行格式化;

               将选定的程序包安装至目标磁盘;

               生成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

                                            

  

spacer.gif

下面演示怎样创建一个引导光盘,仅帮助启动安装过程,不提供安装树:

  (1) 首先准备工作目录,例如这里使用/tmp/cdrom;

 
<span style="font-size:16px;font-family:'微软雅黑', 'Microsoft YaHei';">#mkdir /tmp/cdrom<br></span>

               

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

 
 #mount /dev/sr0 /media/Centos-VERSION

 
 #cp /media/Centos-VERSION  /tmp/cdrom/

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

    

#system-config-kickstart
#cp ks.cfg /tmp/cdrom

 

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



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

 
  # mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6.6 X86_64 boot disk" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boot.iso cdrom/

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

本文由 CentOS中文站 - 专注Linux技术 作者:centos 发表,其版权均为 CentOS中文站 - 专注Linux技术 所有,文章内容系作者个人观点,不代表 CentOS中文站 - 专注Linux技术 对观点赞同或支持。如需转载,请注明文章来源。

相关文章

发表评论

邮箱地址不会被公开。 必填项已用*标注