Assuming that you have a working %%FreeBSD%% DHCP/NFS server on 192.168.1.10 already configured and that your network is 192.168.1.0/255.255.255.0
I also assume that you can access the serial console of the machine to be netbooted from the host via tip(1), conserver-com, etc.
* DHCP configuration
host testbox {
fixed-address 192.168.1.101;
hardware ethernet 00:16:3e:00:00:04;
next-server 192.168.1.10;
filename "pxeboot.9";
option root-path "192.168.1.10:/pxeroot/9.0-RELEASE/";
}
* PXE/TFTP inetd.conf
* copy /boot/pxeboot from the ISO to /tftpboot/pxeboot.9
tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /tftpboot
* NFS Dir
* mkdir /pxeroot/9.0-RELEASE
* mdconfig -f [9.0 DVD ISO]
* mkdir /tmp/iso
* mount -t cd9660 /dev/md0 /tmp/iso
* cp -r /tmp/iso/* /pxeroot/9.0-RELEASE
* umount /tmp/iso
* mdconfig -d -u 0
* cd /pxeroot/9.0-RELEASE
* Edit for serial console in netboot environment
* /pxeroot/9.0-RELEASE/boot.config
* -Dh
* /pxeroot/9.0-RELEASE/boot/loader.conf
* console="comconsole"
* /pxeroot/9.0-RELEASE/etc/ttys
* change ttyu0 entry to
ttyu0 "/usr/libexec/getty std.9600" vt100 on secure
* /etc/fstab
#/dev/iso9660/FREEBSD_INSTALL / cd9660 ro 0 0
192.168.1.10:/pxeroot/9.0-RELEASE/ / nfs ro 0 0
* NFS server /etc/exports
* /pxeroot/9.0-RELEASE -alldirs -maproot=0 -network 192.168.1.0 -mask 255.255.255.0
* restart nfs server /etc/rc.d/nfsserver restart
* Access the console of the host to be installed via netboot(tip, conserver, minicom, etc...)
* Power the host on and verify that the host pxeboot's into the installer and follow the instructions from there.
* Change the entry in your dhcpd.conf to something like the following:
host testbox {
fixed-address 192.168.1.101;
hardware ethernet 00:16:3e:00:00:04;
#next-server 192.168.1.10;
#filename "pxeboot.9";
#option root-path "192.168.1.10:/pxeroot/9.0-RELEASE/";
}
* Before rebooting after the install is complete, you must setup your serial console manually at this time
* At the last menu, drop to a chroot'd shell on the freshly installed system
* /etc/ttys
* change ttyu0 entry to
ttyu0 "/usr/libexec/getty std.9600" vt100 on secure
* /boot.config
* -Dh
* /boot/loader.conf
* console="comconsole"