Differences
This shows you the differences between two versions of the page.
Next revision Both sides next revision | |||
scripting [2009/02/17 18:43] mcb30 imported from information cut from the HTTP boot page - originally by gluneau. |
scripting [2009/04/07 01:03] kylek copied documentation from a journal post |
||
---|---|---|---|
Line 15: | Line 15: | ||
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 [[soc/2008/stefanha/journal/week8#sat_19_2008|Stefanha's Summer of Code 2008 Week 8 journal]] |