PXE安装Linux CentOS操作系统实践。
说明:本文的DHCP服务器的搭建是在CentOS5  64位的环境下。
如果是CentOS6,会有不同。再此做下修改。(蓝色字体是新加的).

第一步:
      安装 3个服务,DHCP,tftp,apache(或者NFS)
      yum install DHCP tftp-server  httpd


第二步:配置

       配置DHCP
       DHCP把作用网域,发布网址的范围写好,DNS愿意写就写上。
       安装完后dhcpd.conf文件在/etc/目录下面。

       vi /etc/dhcpd.conf编辑它,发现,它提示配置文件模板在/var/share/doc。。。。。目录下。

       那就把它复制过来覆盖/etc/dhcpd.conf


在这里,我用的是192.168.1.0网段
netmask子掩码是 255.255.255.0
option routers  192.168.1.1 这是说的是网关
name server 是发布DNS的IP地址
最下面两行是自己添加的。
next-server 192.168.1.5 (截图里打错了)
filename "/pxelinux.0"(是数字0)
这样DHCP服务器就配置好了。
启动dhcp服务器:service dhcp start 
--------------------------------------
CentOS6--DHCP
同样CP /usr/share/doc/dhcp***/dhcpd.conf.sample  /etc/dhcp/dhcpd.conf
vim dhcpd.conf
####内容####
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;

default-lease-time 600;
max-lease-time 7200;
log-facility local7;

# No service will be given on this subnet, but declaring it helps the
# DHCP server to understand the network topology.

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.145 192.168.0.148;
  option domain-name-servers 8.8.8.8;
  option domain-name "internal.example.org";
  option routers 192.168.0.1;
 # option broadcast-address 10.5.5.31;
  default-lease-time 600;
  max-lease-time 7200;
next-server 192.168.0.144;
filename "/pxelinux.0";

启动dhcp服务器



--------------------------------------
配置tftp服务器。
这个简单,vi  /etc/xinetd.d/tftp  编辑配置文件。
把disable = yes  改成disable = no
保存退出即可。
接下来重启xinetd服务器,这样tftp就跟着重启了。
service xinetd restart


---------------------------------------
配置相关启动文件:
         1:配置pxelinux.0配置文件,也就是配置bootstrap,bootstrap文件在dhcpd.conf中
被指定为pxelinux.0文件,放置在/tftpboot
          linux内核,以及Linux根文件系统也放置在/tftpboot.
pxelinux.0在执行过程中,要读配置文件,所有的配置文件都放在/tftpboot/pxelinux.cfg/目录下。
cp  /usr/lib/syslinux/pxelinux.0  /tftpboot/
------CentOS6------
如果最小化安装的,将会找不到syslinux文件夹,执行,yum install syslinux
在/usr/share/syslinux会找到它。
另外,tftpboot文件夹也不在/根目录,在/var/lib/tftpboot里面。
----------------------


下面要复制光盘里的内容,我们把光盘挂在到/mnt目录下:

    mount /dev/cdrom /mnt
    cp  /mnt/p_w_picpaths/pxeboot/initrd.img  /tftpboot/
   
    cp  /mnt/p_w_picpaths/pxeboot/vmlinuz.img  /tftpboot/

    cp  /mnt/isolinux/*.msg  /tftpboot/
 
    mkdir /tftpboot/pxelinux.cfg
  
    cp /mnt/isolinux/isolinux.cfg  /tftpboot/pxelinux.cfg/default

     vim  /tftpboot/pxelinux.cfg/default

    

没用的都注释掉,只保留截图里的内容,注意红框,那是修改的地方,名字必须一致。

    2:配置NFS或者apache用来提供安装的ISO镜像

      这里用的是apache,用RPM包安装,默认网页文件是放在/var/www/html下面。

      所以,我把光盘直接挂在这个文件夹下面的rhel6(就是在html目录下新建个rhel6,当然可以不建,随意来就行)。

      先把/mnt 卸载下来  #umount /mnt

      然后挂载:mount /dev/cdrom /var/www/html/rhel6
  
      这样就把光盘挂载上去了,好了,在局域网里找台支持pxe启动的电脑启动下试试吧!


第三步:安装过程
      (字符超过8w,不能写在一篇文章里,点击链接,继续)