[ipxe-devel] ipxe-devel Digest, Vol 28, Issue 12

Jim Antoniou jantoniou at gmail.com
Tue Sep 11 18:33:25 UTC 2012


>
>
> Message: 1
> Date: Tue, 11 Sep 2012 16:28:08 +0200
> From: Pereira <pereira at informatik.uni-freiburg.de>
> To: ipxe-devel at lists.ipxe.org
> Subject: [ipxe-devel] Chain loading ipxelinux from pxelinux
> Message-ID: <504F4A78.1060401 at informatik.uni-freiburg.de>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>
> Hi,
>
> I have a question regarding chain loading ipxelinux from within pxelinux.
> We are trying to integrate IPXE into our network boot environment due to
> the benefit from faster data transmission rates with the featured http
> functionality. So far our TFTP server hands out ipxelinux.0 with the
> embedded pxelinux
> to the clients upon boot and DHCP request. It is possible to load system
> files over HTTP and even chain load to other pxelinux bootloaders with
> the chainloader.com module.
>
> Particularly what is not working is chain loading from ipxelinux to
> ipxelinux; and chain loading from pxelinux to ipxelinux.
> The machines just reboot without any further message.
>
> The problem is that other departments point to our bootloader so we are
> required to have a solution that takes a minimum amount of changes,
> especially to the existing bootmenu entries from other departments. So
> the basic idea was to simply replace pxelinux with ipxelinux on our
> servers.
>
> Any debugging tips or hints would be greatly appreciated!
>
> Best regards,
> Michael
>

Why would you want to "chain load ipxelinux to ipxelinux" when you could
simply execute any number of ipxe scripts and script commands and options
from within ipxe?  Are talking about flipping back and forth between
pxelinux and ipxe?

Chain loading iPXE from within pxelinux is fairly trivial; e.g., you can
load it like so:

LABEL ipxe
        KERNEL ipxe.lkrn

Chainloading pxelinux from iPXE I believe is just a matter of something
like:

#!ipxe
chain pxelinux.0

... where pxelinux.0 is somewhere on your HTTP server, relative to the path
of the ipxe script you just called; i.e., if you called it like
http://mywebserver/myipxe/boot.ipxe ... then the pxelinux.0 file should be
in /myipxe relative to your document root for the virtualhost or default
host.

I would probably use the "imgfree" option in your ipxe script(s) after
you've loaded pxelinux and come to ipxe (assuming you do that) just to
confirm it's not in-memory; e.g.,

#!ipxe
imgfree pxelinux.0
initrd http://mywebserver/centos/6.3/x86_64/initrd.gz
chain http://mywebserver/centos/6.3/x86_64/vmlinuz

... and long-term I would most definitely look at the internal menu code
that is now a part of the latest ipxe build.  It is much much better than
using the old COM32 menu module from pxelinux.  Robin's super-awesome
mega-example of using the menu is here:

https://gist.github.com/2234639
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20120911/bc7dd48d/attachment.htm>


More information about the ipxe-devel mailing list