DHCP Setup
If you don't already have a DHCP server running, you need to install it now. With FreeBSD 6.x, use pkg_add to install a DHCP server.

pkg_add -r isc-dhcp3-server

Once complete, edit the /usr/local/etc/dhcpd.conf file. By default, this file will not exist after a new DHCP install. There is a /usr/local/etc/dhcpd.conf.example file but most likely you can just use my information to setup your config file. Here is my config file.
ddns-update-style none;

subnet netmask {
option domain-name "ultradesic.build";
option domain-name-servers;
option routers;
host workbox {
option host-name "workbox";
hardware ethernet 00:00:24:C1:CA:20 ;
option root-path "";
filename "/boot/pxeboot";
Obviously you will have to make the necessary MAC and IP address changes to match your particular setup.

(Note: Here is an alternative /usr/local/etc/dhcpd.conf file that does not require you to know the MAC address of the client machine. Any machine that requests an IP address will always be assigned the same, single IP address. This configuration is especially convenient if you are setting up multiple boxes.)
ddns-update-style none;

subnet netmask {
option domain-name "ultradesic.build" ;
option domain-name-servers ;
option routers ;
range ;
option host-name "workbox" ;
next-server ;
option root-path "" ;
filename "/boot/pxeboot";
Make sure the IP address for the next-server directive is the IP address for your TFTP server. This directive is optional, however it is often needed even if your TFTP server is running on the same machine as your DHCP server. And I haven't ran into any problems having the next-server directive in place even it when it wasn't needed.

Make sure the IP address specified in the option root-path directive is the IP address for your NFS server.

Edit the /etc/rc.conf file and add the following:


Make sure the dhcpd_ifaces parameter is set correctly for your particular setup.

Now you should start the DHCP server.

/usr/local/etc/rc.d/isc-dhcpd.sh start

If you didn't set the dhcpd_enable="YES" parameter, then you will have to type the following instead:

/usr/local/etc/rc.d/isc-dhcpd.sh forcestart