工作原理
PXEclient在工作过程中,需要三个二进制文件:bootstrap、Linux内核和Linux根文件系统。Bootstrap文件是可执行程序,它向用户提供简单的控制界面,并根据用户的选择,下载合适的Linux内核以及Linux根文件系统。
引导文件
说明:
/tftpboot是tftp-server的根目录
/tftpboot/pxelinux.0就是Bootstrap文件,提供调用启动菜单的作用
/tftpboot/pxeboot/initrd.img 内核引导文件
/tftpboot/pxeboot/vmlinux
/tftpboot/pxelinux.cfg/default
/tftpboot/pxelinux.cfg/*.msg 各个引导模块的菜单选项
安装tftp和dhcp服务器
# rpm -ivh tftp-server-0.39-0.EL3.1.c0.i386.rpm
# rpm -ivh dhcp-4.0.1-10_EL3.i386.rpm
# chkconfig tftp on
# vi /etc/xinetd.d/tftp ( 查看tftp配置文件内容 )
# service xinetd restart
servicetftp
{
disable = no #默认是yes,改成no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -u nobody -s /tftpboot #tftp目录的根目录
per_source = 11
cps = 100 2
flags = IPv4
}
#cp/usr/share/doc/dhcp-4.0.1/dhcpd.conf.sample /etc/dhcpd.conf
vi/etc/dhcpd.conf
ddns-update-style interim; # dhcp支持的dns动态更新方式
ignoreclient-updates; # 忽略客户端DNS动态更新(忽略了上边的)
authoritative; #授权
allow booting; # 支持PXE启动
allow bootp; # 支持boottp
subnet 192.168.129.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.129.30 192.168.129.78;
# ip地址段范围
option routers 192.168.129.1; # 网关
option subnet-mask 255.255.255.0; # 子网掩码
optiondomain-name-servers 203.103.24.68; #DNS服务器的地址
default-lease-time21600; # 租期,秒数
max-lease-time43200; # 最大租期,秒数
next-server 192.168.129.22; # TFTPServer的IP
filename"/pxelinux.0"; #Bootstrap文件
}
* pxelinux.0文件的来源如下:
1
#yum -y install syslinux-nonlinux
# ls -l `rpm -ql syslinux-nonlinux | grep pxelinux`
2
# yum -y install syslinux-tftpboot ( 不用复制,直接就可以使用 )
# ls -l `rpm -ql syslinux-nonlinux | grep pxelinux`
配置支持PXE
#mkdir /tftpboot#tftp的根目录,默认没有安装,需要手动的建立
#cp /usr/share/syslinux/pxelinux.0 /tftpboot
#mount /dev/cdrom /mnt/cdrom#挂载第一张ISO光盘
把LINUX第一张安装光盘上/image/pxeboot/initrd.img和vmlinux以及isolinux/*.msg考到/tftpboot目录下。
#cp /mnt/cdrom/images/pxeboot/initrd.img /tftpboot
#cp /mnt/cdrom/images/pxeboot/vmlinux /tftpboot
#cp /mnt/cdrom/isolinux/*.msg /tftpboot
*.msg也可以不拷,重点是initrd.img和vmlinuz,没有内核是无法引导的。
#mkdir /tftpboot/pxelinux.cfg #* 注意是目录,而且是这个名称
#vi /tftpboot/pxelinux.cfg/default #* 文件default是最后一个匹配的配置文件……
#* 注意default的作用就是实现安装菜单的作用
参考附件中的isolinux压缩包,该包来自光盘的压缩,把bootrap文件
所需的引导文件名做个修改即可使用。
加载ks.cfg文件的方法:
boot: hhh ks=ftp://ks.cfg
# service dhcpd restart
# service xinetd restart
本文出自 “小崔的实验笔记” 博客,谢绝转载!