2018-05-25, 17:44
I rebuilt spnonly.efi and added the following script to it as an embedded script (see below)
#!ipxe
set ${ifname}.dhcp/user-class macpro-ESXiInstallRequest
clear ip4
dhcp
echo Chaining to http://${next-server}/provision_system?MAC_ADDRESS=mac=${${ifname}/mac}
chain http://${next-server}/provision_system?MAC_ADDRESS=mac=${${ifname}/mac}
No problems with the above script.
The chain command contacts the a web server.
The web server for testing generates the following script:
#!ipxe
set ${ifname}.dhcp/user-class ESXiInstallRequest
echo This file was loaded from a web server.
echo Initate a ${${ifname}.dhcp/user-class}
clear ipv4
dhcp
ifstat ${ifname}
route
echo Chaining to file ${${ifname}.dhcp/filename} on ${next-server} in 20 seconds
sleep 20
chain ${${ifname}.dhcp/filename}
The set ${ifname}.dhcp/user-class ESXiInstallRequest. command fails with the following message:
Could not store "user-classs: No space left on device (http://ipxe.org/3402608b)
Which points me here:
Error: No space left on device
(Error code 340260)
Possible sources
This error originated from one of the following locations within the iPXE source code:
net/dhcpopts.c (line 185)
net/dhcpopts.c (line 214)
net/dhcpopts.c (line 239)
When basically tell me is not enough memory space available to the image.
So two questions:
1) The question is why is there not enough space?
2) How do i allocate/reserve space at build time, run time or install time?
3) Am I missing a step or command to initialize the script coming from the web server?
I tried building with the MEMMAP_SETTINGS defined but got a build error.
I was able to enable the CPUID_SETTINGS and building.
Thanks in advance.
#!ipxe
set ${ifname}.dhcp/user-class macpro-ESXiInstallRequest
clear ip4
dhcp
echo Chaining to http://${next-server}/provision_system?MAC_ADDRESS=mac=${${ifname}/mac}
chain http://${next-server}/provision_system?MAC_ADDRESS=mac=${${ifname}/mac}
No problems with the above script.
The chain command contacts the a web server.
The web server for testing generates the following script:
#!ipxe
set ${ifname}.dhcp/user-class ESXiInstallRequest
echo This file was loaded from a web server.
echo Initate a ${${ifname}.dhcp/user-class}
clear ipv4
dhcp
ifstat ${ifname}
route
echo Chaining to file ${${ifname}.dhcp/filename} on ${next-server} in 20 seconds
sleep 20
chain ${${ifname}.dhcp/filename}
The set ${ifname}.dhcp/user-class ESXiInstallRequest. command fails with the following message:
Could not store "user-classs: No space left on device (http://ipxe.org/3402608b)
Which points me here:
Error: No space left on device
(Error code 340260)
Possible sources
This error originated from one of the following locations within the iPXE source code:
net/dhcpopts.c (line 185)
net/dhcpopts.c (line 214)
net/dhcpopts.c (line 239)
When basically tell me is not enough memory space available to the image.
So two questions:
1) The question is why is there not enough space?
2) How do i allocate/reserve space at build time, run time or install time?
3) Am I missing a step or command to initialize the script coming from the web server?
I tried building with the MEMMAP_SETTINGS defined but got a build error.
I was able to enable the CPUID_SETTINGS and building.
Thanks in advance.