Linux PXE安装制作详细教程

================================安装=========================================
--------原创--------
1、安装必须的软件

yum install dhcp dhcp-level tftp-server syslinux vsftpd -y


2、[root@localhost ~]# chkconfig tftp on //TFTP设成启动模式
[root@localhost ~]# /etc/init.d/xinetd restart
停止 xinetd: [确定]
正在启动 xinetd: [确定]
[root@localhost ~]# //启动tftp



3、.配置dhcp vi /etc/dhcp/dhcpd.conf

---------------------------------------------- //文件长这样子,最简单,最明确的配置
subnet 192.168.12.0 netmask 255.255.255.0 { //作用域,即网段,
range 192.168.12.80 192.168.12.90; //地址池,就是把哪些IP分配给PXE客户端
default-lease-time 600; //缺省租约(默认即可)
max-lease-time 7200; //最大租约(默认即可)
filename "pxelinux.0"; //在这指定PXE引导模块的文件名称
next-server 192.168.12.47; //不用猜,用排除法,傻瓜也知道这就是TFTP了~~~
}
------------------------------------------------

找到tftp的默认目录
[root@localhost ~]# cat /etc/xinetd.d/tftp
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot TFTP共享目录位置
per_source = 11
cps = 100 2
flags = IPv4
}
[root@localhost ~]#
[root@localhost ~]# rpm -ql syslinux-3.86-1.1.el6.i686 |grep pxe //找出PXE在syslinx下的位置
/usr/bin/pxelinux-options
/usr/share/doc/syslinux-3.86/pxelinux.txt
/usr/share/syslinux/com32/include/sys/gpxe.h
/usr/share/syslinux/com32/include/syslinux/pxe.h
/usr/share/syslinux/gpxecmd.c32
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/http://www.360docs.net/doc/3d859e1ca8114431b90dd88a.html
/usr/share/syslinux/pxelinux.0

=============以下的操作全在tftp共享目录下进行的=========当然你也可以使用绝对路径
[root@localhost tftpboot]# cp /usr/share/syslinux/pxelinux.0 ./ 将pxe引导模块考到tftp共享目录下

[root@localhost tftpboot]# cp /var/ftp/centos6/cdrom/images/pxeboot/ ./ 将安装盘images/pxeboot下的所有文件考到tftp目录下,远程引导内核用

[root@localhost ~]# cd /var/lib/tftpboot/ //进入到tftp共享目录,建一个pxelinux.cfg的目录,用来存远程引导系统菜单配置文件。
[root@localhost tftpboot]# mkdir pxelinux.cfg

[root@localhost tftpboot]# cp /var/ftp/centos6/cdrom/isolinux/isolinux.cfg ./pxelinux.cfg/default 将CDROM/isolinux/的菜单文件考到pxelinux.cfg目录里并改名为default,这样你的远程引导内核才可以读到

[root@localhost tftpboot]# cp /var/ftp/centos6/cdrom/isolinux/vesamenu.c32 ./ //将vesamenu.c32考到tftp共享目录,图形化菜单显示支持

[root@localhost tftpboot]# ls //最后你的tftp共享目录长得这样子
initr

d.img pxelinux.0 pxelinux.cfg TRANS.TBL vesamenu.c32 vmlinuz

[root@localhost tftpboot]# system-config-kickstart //图形界面下的ks文件制作工具 ,根据自己的情况制作然后保存

[root@localhost tftpboot]# sed '/^#/d;/^$/d' /var/ftp/ks.cfg //生成的ks文件长得这个样子
firewall --disabled
install
url --url="ftp://192.168.12.47/centos6/cdrom/"
rootpw --iscrypted $1$kCTE3Grl$L/fPCyC9F.qNV09Cipt691
auth --useshadow --passalgo=md5
text
firstboot --disable
keyboard us
lang en_US
selinux --enforcing
logging --level=info
timezone Africa/Abidjan
bootloader --location=mbr
clearpart --all
part / --fstype="ext4" --size=15000
part /var --fstype="ext4" --size=15000
part /var --fstype="ext4" --size=15000
part /boot --fstype="ext4" --size=100
part swap --fstype="swap" --size=4000
part /home --fstype="ext4" --grow --size=1
%post --nochroot
%post
cp ~/setup.sh /root/
%end
%packages
@base
%end

[root@localhost tftpboot]# sed '/^#/d;/^$/d' /var/lib/tftpboot/pxelinux.cfg/default //菜单文件长这样子
default vesamenu.c32 //图形加载工具
timeout 600 //等待多长时间自动进入默认菜单
display boot.msg
menu background splash.jpg //可以DIY自己的背景图
menu title Welcome to CentOS 6.0!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append initrd=initrd.img ks=ftp://192.168.12.47/ks.cfg //想无人值守就配这里指定ks文件的位置,其他的在ks里配置
label vesa
menu label Install system with ^basic video driver
kernel vmlinuz
append initrd=initrd.img xdriver=vesa nomodeset
label rescue
menu label ^Rescue installed system
kernel vmlinuz
append initrd=initrd.img rescue
label local
menu label Boot from ^local drive
localboot 0xffff
[root@localhost tftpboot]#

//启动服务
service dhcpd start
service vsftpd start
service xinetd restart
客户端选择pxe引导就可以了

相关文档