Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
scripting [2009/02/17 18:43]
mcb30 imported from information cut from the HTTP boot page - originally by gluneau.
scripting [2009/12/19 11:50]
sha0 Note about 'chain' command
Line 9: Line 9:
     initrd http://​etherboot.org/​gtest/​initrd.bz2 ​       initrd http://​etherboot.org/​gtest/​initrd.bz2 ​  
     boot        boot   
 +
 +or using the '​chain'​ command, this would be equivalent to:
 +
 +    #​!gpxe ​  
 +    initrd http://​etherboot.org/​gtest/​initrd.bz2 ​  
 +    chain http://​etherboot.org/​gtest/​bz2bzImage root=100 ​  
  
 or this will boot from iSCSI: ​   or this will boot from iSCSI: ​  
Line 15: Line 21:
     sanboot iscsi:​192.168.2.23::::​iqn.1994-04.org.netbsd.iscsi-target:​target1     sanboot iscsi:​192.168.2.23::::​iqn.1994-04.org.netbsd.iscsi-target:​target1
  
 +
 +=== Embedded images ===
 +gPXE normally fetches images over the network using TFTP, HTTP, iSCSI, or other network protocols. ​ It is also possible to //embed// an image file inside gPXE and make it available without fetching over the network.
 +
 +By embedding gPXE scripts, you can customize gPXE's behavior before its first network access. ​ For example, static network configuration can be done by embedding a gPXE script.
 +
 +Images are embedded when building gPXE with ''​make'':​
 +<​code>​
 +$ make EMBEDDED_IMAGE=../​contrib/​scripts/​static.gpxe
 +</​code>​
 +
 +This builds a gPXE image which executes the ''​static.gpxe''​ script on startup. ​ The ''​static.gpxe''​ sample script works with QEMU's user network stack:
 +<​code>​
 +#!gpxe
 +ifopen net0
 +set net0/ip 10.0.2.15
 +set net0/​netmask 255.255.255.0
 +set net0/​gateway 10.0.2.2
 +set net0/dns 10.0.2.3
 +kernel http://​etherboot.org/​gtest/​gtest.gpxe
 +boot
 +</​code>​
 +
 +Multiple images can be embedded:
 +<​code>​
 +$ make EMBEDDED_IMAGE=../​contrib/​scripts/​gpxelinux.gpxe,/​usr/​lib/​syslinux/​pxelinux.0
 +</​code>​
 +
 +This builds a gPXE image which executes the ''​gpxelinux.gpxe''​ script on startup. ​ The ''​gpxelinux.gpxe''​ script performs DHCP before loading the embedded ''​pxelinux.0''​ image and executing it:
 +<​code>​
 +#!gpxe
 +dhcp net0
 +imgload img1
 +boot
 +</​code>​
 +
 +See the [[:​appnotes:​autobootchainurl|patched autoboot invocation]] for cases when the right interface to boot need to be found automatically.
 +
 +see [[soc/​2008/​stefanha/​journal/​week8#​sat_19_2008|Stefanha'​s Summer of Code 2008 Week 8 journal]]

QR Code
QR Code scripting (generated for current page)