当前位置: > CentOS > CentOS入门 >

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

时间:2015-04-22 13:15来源:linux.it.net.cn 作者:IT

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,引导启动即可

 

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容