[ipxe-devel] ipxe configuration files, forum

Michael Brown mbrown at fensystems.co.uk
Thu Mar 31 16:53:39 UTC 2011


On Thursday 31 Mar 2011 16:00:52 AT - HE wrote:
> can ipxe the ability to read and interpret a text config file during
> execution time ? .. this way you can, say, compile with
> 
> <snip>
> 
> (client screen)
> 
> pxe loader
> requesting ip from dhcp
> found, assigned ip 192.168.1.2
> retrieving file undionly.kpxe ... ok
> running
> welcome to ipxe blah blah
> requesting config file default.ipxe ... ok
> requesting config file 2nd_stage.ipxe ... ok
> etc.

There is no "include" command, but the "chain" command will do pretty much 
what you want, since it allows you to run a script from inside another script.  
See http://ipxe.org/cmd/chain for details.

One thing to watch out for is that the script will remain loaded after it 
returns.  You may need to use the "imgfree" command 
(http://ipxe.org/cmd/imgfree) to free up the script after it returns, so that 
it doesn't confuse later stages of booting.

I might add a "--free" option to "chain" at some point, so that it 
automatically frees the chained script when it returns, but for now you must 
use "imgfree".

> can ipxe the ability to handle variables names in real time ? ... this way
> you can do
> 
> # cat myboot.ipxe
> #!ipxe
> dhcp
> chain http://${TFTP_IP}/ipxeboot

Yes.  The TFTP server address is available as ${next-server}.  The list of 
settings supported by iPXE is available at

  http://ipxe.org/cfg

though most of the individual settings within this list are not yet 
documented.  You can use the "config" command (http://ipxe.org/cmd/config) to 
browse the available settings interactively.  For example, if you type

  iPXE> dhcp
  DHCP (net0 52:54:00:12:34:56)... ok
  iPXE> config

then you will see a screen such as

  http://ipxe.org/_detail/screenshots/config_ui.png?id=cmd%3Aconfig

where you can explore all of the available settings.

> - what are http headers (or querystring) sended by ipxe? .. mac address?,
> client ip, ipxe version, machine achitecture? (i.e.: to handle with server
> scripting)

You can include whatever information you want within the HTTP query string.  
For example, if you want to pass the MAC address to the server, you could 
direct iPXE to fetch the URL

  http://boot.ipxe.org/demo/boot.php?mac=${net0/mac}

There is an example of this in the online documentation at

  http://ipxe.org/scripting#dynamic_scripts

> - what are response headears handled by ipxe? .. "301 location moved"?
> (i.e.: to do redirections, chainloads)

iPXE should correctly handle any response that you are likely to see in 
practice, including redirections.

> i am trying to boot an iso image with pxe but is sooo damn slow .. i would
> like to do with pxe to load ipxe first, and then doing with http .. but i
> would like to ipxe become easier to use, fast, and flexible, avoiding the
> need to recompile with every change

If you configure your DHCP server to direct iPXE to boot from a script, then 
you can change the script without having to recompile iPXE.  For example, if 
your DHCP server is configured to do something like:

  if exists user-class and option user-class = "iPXE" {
      filename "http://${next-server}/default.ipxe";
  } else {
      filename "undionly.kpxe";
  }

then you can just use the standard prebuilt iPXE binary from

  http://boot.ipxe.org/undionly.kpxe

You should find that PXE chainloads into iPXE (undionly.kpxe), which then 
downloads and runs the script "default.ipxe" via HTTP.  You can edit the 
contents of default.ipxe in a text editor, with no need to recompile the iPXE 
binary.

> please consider to implement a forum .. all we have always access to web,
> but not all have access to email all the time, is slower and less massive
> though.. web is more accessible and popular than irc, and if you are not
> online you can read messages later (or get alerted by email) .. there are
> plenty of oss forum engines, like smf and phpbb, or forum server hosts

You should be able to access the iPXE mailing list via Gmail or any other web-
based e-mail client.  The list is archived online in several places, including

  http://lists.ipxe.org/pipermail/ipxe-devel/

There is a web-based interface to the Freenode IRC network at

  http://webchat.freenode.net/

I wouldn't personally monitor a web-only forum, because it doesn't fit into my 
way of working.  If you can point me at any forum software that provides two-
way integration with a mailman mailing list (and which would provide 
equivalent spam protection), then I'll take a look at setting it up.

Michael



More information about the ipxe-devel mailing list