http://bbs.linuxtone.org/thread-1586-1-1.html
通过PXE+NFS方式远程装FB,需要一台安装了TFTP+DHCP-Server+NFS的主机A。被安装主机B的网卡需要支持PXE方式启动。
1、对主机A上的TFTP+DHCP-Server+NFS配置:
1)配置TFTP:
TFTP默认安装在FB中,我们只用启用其即可,启用方法是:将/etc/inetd.conf中“#tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /tftpboot ”前的注释去掉;手工启动inetd:/etc/rc.d/inetd start或者将 inetd_enable=YES加入到/etc/rc.conf中以便随FB自动启动。
2)配置NFS Server:
手工启动nfsd:/etc/rc.d/nfsd start或者将 nfsd_enable=YES加入到/etc/rc.conf中以便随FB自动启动。
编辑/etc/exports,加入允许NFS输出的文件系统:/mnt -ro -alldirs
3)安装并配置ISC-DHCP Server:
通过ports方式安装,ISC-DHCP Server在/usr/ports/net下。
编辑 /usr/local/etc/dhcpd.conf ,添加如下内容:
default-lease-time 7200;
max-lease-time 7200;
ddns-update-style none;
subnet 192.168.0.0 netmask 255.255.255.0 { //此地址池要和主机A的地址在一个网段
range 192.168.0.2 192.168.0.254;
server-identifier 192.168.0.1;
next-server 192.168.0.1; //此地址为主机A的IP地址
filename "/pxeboot"; //此为 /tftpboot下的pxeboot文件,此文件拷贝于FB的安装光盘
option root-path "/mnt"; //此为加载loader和kernel在nfs的根路径的位置,就是包含boot的位置。
}
启动ISC-DHCP:/usr/local/etc/rc.d/isc-dhcpd start。isc-dhcpd_enable=YES加入到/etc/rc.conf中以便随FB自动启动。
4)FB安装光盘中的pxeboot默认使用NFS获取启动文件、内核等文件,因此在ISC-DHCP Server中添加 option root-path "/mnt"。
5)禁止主机A的DNS 解析。修改/etc/resolv.conf,将其中所有以nameserver开头的行注释掉。否则 mountd(因为 nfsd 依赖这个daemon,所以 mountd 也会随 nfsd 启动而启动)会去查DNS,而有可能导致最终 PXE 启动连不上 nfs,不能加载 kernel 。
6)拷贝FB8.0安装文件到/usr/8.0-RELEASE-i386-disc1.iso,执行如下命令:
mdconfig -atvnode -f 8.0-RELEASE-i386-disc1.iso //ISO 文件连接成为一个 vnode 类型的内存盘
mount - t cd9660 /dev/md0 /mnt //挂载上步命令产生的md节点到 /mnt
7)经过上述配置,主机B可通过PXE方式加载loader和kernel。加载了loader后,需要选择 loader 启动选项的第6项,进入 loader prompt,输入如下命令:
set vfs.root.mountfrom="ufs:/dev/md0"
boot
执行boot命令后,系统将加载运行到安装界面。
8)在安装程序中,在选择安装介质时选择 nfs,然后输入主机A 的 IP 地址和导出的路径,如192.168.0.1:/mnt。确认后,系统提示要设置网卡,网卡的IP要和主机A的IP在一个网段中。 后继安装和光盘安装一致。
2、主机B开机进入BIOS设置,选择首选BOOT为PXE即可。下图为VM6中BOOT设置的截图: