Check the following header file in the ipxe source directory: ipxe/src/config/general.h
You’ll see some lines with ‘define’ there. Some have ‘//’ at the beginning which means that those options are not being compiled into the ipxe binary! Remove those two slashes in front of PARAM_CMD (and possible some other options too):
[CODE]…
#define AUTOBOOT_CMD /* Automatic booting /
#define NVO_CMD / Non-volatile option storage commands /
#define CONFIG_CMD / Option configuration console /
#define IFMGMT_CMD / Interface management commands /
//#define IWMGMT_CMD / Wireless interface management commands /
//#define FCMGMT_CMD / Fibre Channel management commands /
#define ROUTE_CMD / Routing table management commands /
#define IMAGE_CMD / Image management commands /
#define DHCP_CMD / DHCP management commands /
#define SANBOOT_CMD / SAN boot commands /
#define MENU_CMD / Menu commands /
#define LOGIN_CMD / Login command /
#define SYNC_CMD / Sync command /
#define NSLOOKUP_CMD / DNS resolving command /
#define TIME_CMD / Time commands /
#define DIGEST_CMD / Image crypto digest commands /
#define LOTEST_CMD / Loopback testing commands /
#define VLAN_CMD / VLAN commands /
#define PXE_CMD / PXE commands /
#define REBOOT_CMD / Reboot command /
#define POWEROFF_CMD / Power off command /
#define IMAGE_TRUST_CMD / Image trust management commands /
#define PCI_CMD / PCI commands /
#define PARAM_CMD / Form parameter commands /
#define NEIGHBOUR_CMD / Neighbour management commands /
#define PING_CMD / Ping command /
#define CONSOLE_CMD / Console command /
#define IPSTAT_CMD / IP statistics commands /
//#define PROFSTAT_CMD / Profiling commands */
…
[/CODE]
Then compile again, copy the new binary to /tftpboot, check file permissions and boot up the client…