六、延伸1:设置可通过 PXE 安装的 CentOS 5
配置 Centos 的PXE 网络安装非常简单,只要把CentOS 安装 ISO 光盘中 /images/pxeboot 目录下的 vmlinuz 及 initrd.img 这两个文件放在 /tftpboot/centos 目录下,然后配置好 pexlinux.cfg/default 的 centos 标签就OK 了,主要是指定好相应文件地址。如下:
LABEL fog.centos
kernel centos/vmlinuz
append initrd=centos/initrd.img ip=dhcp dns=8.8.8.8 mode=quickimage keymap=
MENU LABEL Install CentOS 5.4
TEXT HELP
This mode will allow you install Centos 5.4!
ENDTEXT
七、延伸2:设置可通过 PXE 安装的 Freebsd 8
在 pxelinux 环境下通过 pxe 引导 Freebsd 有点复杂,因为不能通过 DHCP 服务器的 root-path 选项来指定 NFS 引导路径,所以必须通过 TFTP 来加载 freebsd 的引导文件,而且必须把 pxeboot 这个引导文件改成 filename.0 这样格式的文件名,否则不能正常加载引导文件,这应该是 pxelinux 的是一种文件格式规定,所以我们需要重新编译 pxeboot 文件以便可以从 tftp 来加载引导文件,ISO 光盘 /boot/ 目录下的 pxeboot 只能从 NFS 引导。
设置 nfs 输出及 tftp
下载 freebsd ISO 安装盘 下载地址:ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/8.0/
fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/8.0/8.0-RELEASE-i386-disc1.iso
挂载安装盘
mdconfig -a -t vnode -f /usr/data/8.0-RELEASE-i386-disc1.iso
mount_cd9660 /dev/md0 /mnt/freebsd/
复制 boot 目录到 /tftp 目录下
cp -r /mnt/freebsd/boot /tftp/
解压缩 /tftp/boot 目录中的 mfsroot.gz 文件
cd /tftp/boot
gunzip mfsroot.gz
复制 光盘中所有文件到 /usr/data/freebsd 下
cp -r /mnt/freebsd/* /usr/data/freebsd/
设置 nfs 输出 ,把 /etc/exprots 文件中
/usr/data/clonezilla -ro
改为
/usr/data/clonezilla /usr/data/freebsd -ro
重新加载 exports
/etc/rc.d/mountd reload
用以下命令查看输出是否正确
showmount -e
输出结果应该为
Exports list on localhost:
/usr/data/freebsd Everyone
/usr/data/clonezilla Everyone
重新编译 pxeboot
获取 /usr/src 源代码,然后利用参数编译引导部分,使 pxeboot 能够从 tftp 上加载引导文件
cd /usr/src/sys/boot
make -DLOADER_TFTP_SUPPORT=YES
编译完后,复制 pxeboot 文件到 /tftpboot/boot 目录中,并改名为 freebsd.0
cp /usr/src/sys/boot/i386/pxeldr/pxeboot /tftpboot/boot/freebsd.0
部署 pxelinux 启用选项
编辑 /tftp/pxelinux.cfg/default ,加入以下菜单项
LABEL fog.freebsd
kernel boot/freebsd.0
MENU LABEL Install Freebsd 8
TEXT HELP
This mode will allow you install Freebsd 8!
ENDTEXT
OK ,到此整个配置过程就完成了,试着从 pxe 启动并安装 freebsd 吧,安装的时候记得通过 nfs 方式来安装
截图:
pxe boot