FreeBSDでPXEインストールサーバを構築する


インストール用ISOイメージをマウントしてファイルをコピーする

# mdconfig -a -t vnode -f FreeBSD-9.2-RELEASE-amd64-disc1.iso -u md0
# mount_cd9660 /dev/md0 /mnt
# mkdir /export/freebsd/pxeboot
# cp -Rv /mnt/ /export/freebsd/pxeboot
# umount /mnt
# mdconfig -d -u 0
# echo "# /dev/iso9660/FREEBSD_INSTALL / cd9660 ro 0 0" > /export/freebsd/pxeboot/etc/fstab

/etc/inetd.confにPXE用tftpの設定を追加する

# echo "tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /export/freebsd/pxeboot/boot" >> /etc/inetd.conf

inetdを起動する

# /etc/rc.d/inetd restart

/etc/exportsにPXE用の設定を追加する

echo "/export/freebsd/pxeboot -alldirs -maproot=root" >> /etc/exports

NFSサーバを起動する

# /etc/rc.d/nfsd onestart

/usr/local/etc/dhcpd.confにPXE用の設定を追加する

ddns-update-style none;
server-name "pxeboot"; # name of the tftp-server
server-identifier 192.168.0.253; # address of the tftp-server
next-server 192.168.0.253; # address of the NFS-server
subnet 192.168.0.0 netmask 255.255.255.0 {
    range 192.168.0.220 192.168.0.250;
    option routers 192.168.0.254;
    option root-path "/var/pxeboot"; # root-path for NFS
    filename "pxeboot"; # filename of NBP (network bootstrap program)
}

DHCPサーバを起動する

# /usr/local/etc/rc.d/isc-dhcpd onestart