PXE环境远程安装Linux
原理:以DHCP分配IP地址,TFTP读取引导文件,PXE引导客户端启动,通过NFS读取并安装镜像。
1、配置DHCP:
修改DHCP的配置文件/etc/dhcpd.conf,为使其在分配完IP后,以pxelinux.0文件引导启动,需在配置文件中加上一行:filename “pxelinux.0”;,此文件需要放在TFTP的根目录下。next-server后是TFTP Server的IP地址。启动:service dhcpd start

2、配置TFTP:
修改将/etc/xinetd.d/tftp文件,将server_args行的目录指向tftpboot根目录所在位置(此处假设为server_args = /data/tftpboot)。将disable=yes改为no 。启动:service xinetd start

3、配置引导文件
从本机复制pxelinux.0到tftp根目录/data/tftpboot下:cp /usr/lib/syslinux/pxelinux.0 /data/tftpboot。作用是引导客户端PXE启动。
将需要远程安装的系统的第一张系统盘放入光驱,复制/image/pxeboot下的initrd.img和vmlinuz到tftp指定根目录下:cp /media/cdrom/image/pxeboot/initrd.img vmlinuz /data/tftpboot
为了在多系统时不冲突并且便于区分,一般将这两个文件改名名,加上发行版本号,比如vmlinuz-4u5-x64,可将候选的多个系统的内核文件放在此目录下。
注:vmlinuz是内核,initrd.img是一个小的映象,包含一个最小的linux系统。通常是先启动内核,然后内核挂载initrd.img,并执行里面的脚本来进一步挂载各种各样的模块,挂载并执行/sbin/init… …。
4、配置NFS服务:
修改NFS配置文件/etc/exports,指定镜像所在位置,若有多个镜像,需将镜象所在文件夹一一列出。启动:service nfs start 如图将目录设为所有人可读取权限。

5、创建default和list文件:
在TFTP根目录/data/tftpboot下建立文件夹pxelinux.cfg,里面建立default和list文件,其中default文件:

文本中,DEFAULT的值是客户端在安装敲回车时的默认选择。DISPLAY 后面是list文件对于TFTP根目录的相对路径。LABEL处填写的是我们在选择安装时输入的选择,一般写成Linux版本便于记忆,KERNEL处填写在TFTP根目录下此版本的内核文件名,APPEND处填写此版本的initrd文件名。

list本身只是一个参照文件,无实际意义。它的Name列与default的LABEL值一般写成相同的,方便参照选择。
6、客户端启动:
在客户端选择PXE启动,引导成功后如图,标示中的就是list文件中的内容。在boot处填写选择要安装的版本:
此处Trying to load是寻找在pxelinux.cfg下的配置文件,客户端会先寻找以自身MAC地址命名的配置文件,然后查找以客户端分配到的IP地址的十六进制数命名的文件,最后查找default文件,区分大小写。可以根据MAC地址或DHCP网卡绑定固定IP来命名为多个客户端分别设定的不同的配置文件。

回车后开始导入内核文件

载入完成后,先选择语言和键盘类型,然后在”Installation Method”选择安装方式,此处用NFS 安装。
设置IP地址可以仍然使用DHCP自动分配,也可以手动设定。

在NFS Setup页面填入NFS server的IP地址和要安装的镜像所在的NFS共享路径:

回车后进入正常安装步骤。
