[ipxe-devel] [gPXE] Debugging over UDP

Vinay Venkataraghavan raghavanvinay at yahoo.com
Thu Dec 9 22:01:54 UTC 2010

> OK.  You may find that the embedded script capability is sufficient to meet 

>needs without having to customise the iPXE code.  For example, you can very 
>easily embed a two-line script that sends the NIC's MAC address and PCI IDs, 
> the system UUID, and the SMBIOS asset tag off to a CGI script on a web server, 

> which can generate a dynamic image and direct the client to boot from it.

I'm not familiar with this embedded script capability. How would this work. 
Would this method that you have described above work as follows:

1. The script sends the NIC's MAC address and PCI ID's to a script on a web 
2. You have mentioned that this web server generates a dynamic image. 
    How would this work? 
3. Then the host to be booted can boot over http by pointing to the image file 
on the web server.

Do I understand this correctly?

>If you do decide that you need to customise the iPXE code itself (and if this 
>is not solely for your internal use), you'll need to publish your source code 
>in order to comply with the GPL.  I'm happy to make this easy for you by 
>setting you up with a vendor tree on http://git.ipxe.org.

The intention is to use iPXE only on this management host to retrieve the images 
from an 

actual PXE server. A PXE ROM is being developed from scratch which interfaces 
with our proprietary H/W 

to talk to the management host to retrieve the PXE images and perform the boot. 

> is the sequence that I followed at the gPXE prompt to bring up and
>  configure the networking interface correct? Is there something else to
>  this. I checked the network interface and it is pingable. Will try this
>  again though.

>Yes, although you will have a subnet mask of since you didn't 
>explicitly specify it using

>  set net0/netmask  # or whatever you want it to be

>You can also try debugging over serial port.  There are some caveats with 
>using UDP for debugging, particularly when it gets to trying to debug code 
>that might touch the network device or core data structures.

I did execute the command that you had mentioned earlier in setting the subnet 

correctly. This is why I was able to ping the client once I executed all these 
steps. But I guess the key step is
that the client was no longer pingable as soon as the gdbstub command is 

- Vinay



More information about the ipxe-devel mailing list