This is an old revision of the document!


A PCRE internal error occured. This might be caused by a faulty plugin

====== Autoboot without a DHCP-supplied boot path ====== gPXE can be built with an embedded image, which might be a script. That script might look like this: <code> #!gpxe dhcp net0 chain url://for.your/boot/script.gpxe </code> That is, obtain an IP address through DHCP on the first network interface and then load and run another script from a specific URL. However, if a network connection is only available on some other interface, ''dhcp net0'' will fail and the script will stop executing. gPXE also has an ''autoboot'' command, which tries to scan all the network interfaces to obtain an IP address and then boot from the server and path specified in the DHCP reply. By patching the gPXE source code, one can however use ''autoboot'' as a more flexible ''dhcp'' command, ignoring the DHCP boot options. This is how: Go into ''src/usr/autoboot.c'' and find the ''netboot()'' function. In that function there is a line "''route();''". After that line, add "''return 0;''". This causes autoboot to return when it has obtained a DHCP lease so that the next command is run. Now build your patched gPXE with the following [[:scripting|embedded script]]: <code> #!gpxe autoboot chain url://for.your/boot/script.gpxe </code> You now have a patched gPXE that will obtain a DHCP lease on any network interface and then load the script from the specified URL, ignoring the DHCP boot options. This method is of course a hack which will likely be obsoleted by scripting language improvements in the future.


Navigation

* [[:start|Home]] * [[:about|About our Project]] * [[:download|Download]] * [[:screenshots|Screenshots]] * Documentation * [[:howtos|HowTo Guides]] * [[:appnotes|Application Notes]] * [[:faq:|FAQs]] * [[:doc|General Doc]] * [[:talks|Videos, Talks, and Papers]] * [[:hardwareissues|Hardware Issues]] * [[:mailinglists|Mailing lists]] * [[http://support.etherboot.org/|Bugtracker]] * [[:contributing|Contributing]] * [[:editing_permission|Wiki Edit Permission]] * [[:wiki:syntax|Wiki Syntax]] * [[:contact|Contact]] * [[:relatedlinks|Related Links]] * [[:commerciallinks|Commercial Links]] * [[:acknowledgements|Acknowledgements]] * [[:logos|Logo Art]]

QR Code
QR Code appnotes:autobootchainurl (generated for current page)