Skip to content. | Skip to navigation

Personal tools


You are here: Home / Wiki / Kb105


Emulab FAQ: Operations and Policy: How can I control what boots on a node?

Emulab FAQ: Operations and Policy: How can I control what boots on a node?

NOTE: This entry is intended for administrators who want to control what PXE boots on a node as well as what MFSes are used.

In Emulab, the nodes are hardwired to attempt a PXE boot only from the control network interface. So all boot redirection must be initiated on the control net.

There are two fields in the database which can be used to control what boot loader is downloaded by the PXE boot ROM. If not NULL, node_types.pxe_boot_path contains a string that will be put in /usr/local/etc/dhcpd.conf as a "filename" option for all nodes of the indicated type. This allows you to use a different PXE boot loader for a group of machines; e.g., a type of PC that does not have serial port ports could use a VGA-only pxeboot program. nodes.pxe_boot_path allows for changing the PXE boot path on a node-by-node basis. If is different than the node_types field in that it is cleared when a node is freed with nfree. Thus it is intended to be used within an experiment, not as a general mechanism. The specific reason for this option was to allow "PlanetLab in Emulab" experiments where the inner PlanetLab nodes need to boot up in a Linux MFS for which we use PXELINUX. Note that after changing either of these fields you will need to recreate the DHCP config file and restart the daemon. You can do this with:

/usr/testbed/sbin/dhcpd_makeconf -ir

When nfree clears nodes.pxe_boot_path for a node, it will automatically do this. You only need to do it when setting the fields.

The node_types table also contains two fields to allow for specifying different "admin" (adminmfs_osid) and "disk loader" (diskloadmfs_osid) MFSes. These are the memory-based filesystem versions of FreeBSD that we use for creating and loading disk images. Again, using the VGA-only example, we would define new OSIDs FRISBEE-MFS-VGA and FREEBSD-MFS-VGA identical to the standard versions except for the path column which would point to alternate /tftpboot directories.