PXE自动安装Linux系统
PXE安装系统是基于网络的方式安装的,所以需要网卡支持PXE才可以。
      本次实验环境:
虚拟机:VMware-10.0.1 build-1379776
        服务器端:CentOS 6.6
        安装的版本:CentOS 6.6
本次搭建所有安装域下载的服务程序都是基于YUM安装的,如果不能外网安装请自建光盘YUM仓库,参考:http://kmk0226.blog.51cto.com/5975994/1662522
        配置文件修改都为vim,如果没有需要安装
            yum -y install vim
            vim简单使用:
                i进入编辑模式
                退出编辑模式按esc
                保存退出:wq,是冒号wq
                需要强制保存的要加感叹号,如:    :wq!
    PXE环境搭建:
        DHCP服务
        tftp服务
        http服务
    
        dhcp服务搭建请参考:
http://kmk0226.blog.51cto.com/5975994/1670796
DHCP服务配置需要修改点:
CentOS 6 PXE设置
subnet 192.168.1.0(工作与哪个网络) netmask 255.255.255.0(子网掩码) {
range 192.168.1.100 192.168.1.120;:地址池,被分配的IP都存在于此
option routers(网关)192.168.1.1;
option domain-name-servers 61.153.177.196;:dns服务器地址
      next-server 192.168.1.1;:告诉网卡下一个需要找的服务器是谁
      filename "PXElinux.0";:PXElinux.0,类似于mbr这个文件,或isolinux.bin
}
    tftp服务搭建:
    
配置tftp server
            yum -y install tftp-server:安装tftp服务
            chkconfig tftp on:将tftp设置成开机自启动
            service xinetd restart:由于tftp服务是又xinetd服务代为监控的所以要重启xinetd服务
                注意:如果没有安装xinetd服务的话,需要另外安装 yum -y install xinetd 
                 xinet:超级守护进程            
                        瞬时守护进程
                            所有瞬时守护进程的脚本都在/etc/xinetd.d/
                                配置启动:
                                    1,chkconfig SERVICE_NAME on
                                    2,编辑配置文件,确保没有被禁用
                                        disable = no
                            修改后的生效需要重启超级守护进程:
service xinetd restart
            ss -unl | grep :69      #查看udp协议上的69号端口是否已经启动
            tftp服务启动之后,还要关闭防火墙与selinux否则不能通讯,PXE安装的时候会出现错误32。
防火墙与selinux关闭之后重启下网卡service network restart
                    由于本人没有还没学到防火墙配置与selinux配置所以都关闭了,适合新手学习。
                    防火墙关闭:service iptables stop,临时关闭防火墙
                                chkconfig iptables on,开机不启动防火墙
selinux关闭:setenforce 0 ,临时关闭
开机不启动:
                                vim /etc/selinux/config:打开配置文件
将SELINUX=enforcing改为SELINUX=disabled
                                
提供PXE的工作环境
yum install syslinux:syslinux提供pxelinux.0这个启动文件
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/:将pxelinux.0文件复制到tftp服务目录下
pxelinux.0:pxe启动文档
            
提供引导内核等文件
挂载系统光盘,假设位置为/media/cdrom/
            
cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/
                    复制:vmlinuz,initrd.img文件到tftp目录
            cp /media/cdrom/isolinux{splash.jpg,vesamenu.c32,boot.msg} /var/lib/tftpboot
复制:splash.jpg,vesamenu.c32,boot.msg文件到tftp目录
            
            mkdir /var/lib/tftpboot/pxelinux.cfg/:新建目录pxelinux.cfg
            cp /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pexlinux.cfg/default
复制:isolinux.cfg文件到tftp目录下的pxelinux.cfg目录下改名为default,重要
                这个文件为引导文件
            vmlinuz:内核
            initrd.img:引导文件
            splash.jpg:启动后的背景文件
            vesamenu.c32:启动后的图像界面文件
            boot.msg:启动后提示文件
pexlinux.cfg:pxe引导文件,主要是显示vesamenu.32的菜单,
    按esc之后进入boot界面
可以输入标签,或者其他命令来完成引导操作
    由boot.msg文件来启动
一下三个文件组合显示界面的效果:
             splash.jpg:启动后的背景文件
vesamenu.c32:启动后的图像界面文件
pexlinux.cfg:pxe引导文件,主要是显示vesamenu.32的菜单,
    pxelinux.cfg文件配置:
        重要
修改引导配置文件: vim /var/lib/tftpboot/pxelinux.cfg/default
找到一下选项
label linux:标签,选择界面的时候可以直接输入标签来确定选择什么选项
menu label ^Install or upgrade an existing system:选项显示的字符
menu default
kernel vmlinuz:选项选择的内核
append initrd=initrd.img :给内核传递默认参数,临时根修改
label linux:标签,选择界面的时候可以直接输入标签来确定选择什么选项
menu label ^Install or upgrade an existing system:选项显示的字符
menu default
kernel vmlinuz:选项选择的内核
append initrd=initrd.img ks=192.168.1.1/centos6-ks.cfg:给内核传递默认参数,临时根,initrd.img,ks指向到192.168.1.1的ks文件(如果没加ks指向需要在boot下指定),ks文件具体在哪需要自己指定,本文的ks文件放在http目录下
        HTTP服务:
http服务为提供安装源
                yum -y install httpd:安装http服务
            
                mkdir -pv /var/www/html/centos/6/x86_64:建立源目录,-pv代表有子目录,需要递增建立
mount --bind /media/cdrom /var/www/html/centos/6/x86_64:--bind是绑定cdrom与x86这个文件夹,代表两个文件内容一样了,映射一样
ks文件配置重要
参考:http://kmk0226.blog.51cto.com/5975994/1672995
            配置好ks文件之后
cp centos6-ks.cfg /var/www/html:拷贝ks文件到html目录下
    
        
           至此PXE的配置就完成了,可以开机使用网卡启动来验证是否成功     
错误提示:
如果出现这个错误,代表主机硬件太新,系统不能识别,
可以在ks文件中添加:unsupported_hardware:忽略硬件过新而不能识别的问题
原文:http://kmk0226.blog.51cto.com/5975994/1672996