iPXE discussion forum
How boot iPXE script over pxelinux ? - Printable Version

+- iPXE discussion forum (https://forum.ipxe.org)
+-- Forum: iPXE user forums (/forumdisplay.php?fid=1)
+--- Forum: General (/forumdisplay.php?fid=2)
+--- Thread: How boot iPXE script over pxelinux ? (/showthread.php?tid=6885)



How boot iPXE script over pxelinux ? - Gelip - 2013-04-23 15:26

I have own configured server TFTPD32 with DHCP and TFTP (pxelinux.0 + menu default). Now I learned that HTTP protocol is faster than TFTP to load ISO images. I want change loading ISO images to HTTP protocol in file default. I make script for boot over HTTP protocol:
Code:
#!ipxe
initrd http://192.168.xxx.xxx:port/mxp14.iso
chain memdisk iso
How to do it?
Code:
LABEL image
MENU LABEL Boot ISO over HTTP
kernel mxp14.ipxe
but this not working :-(

I know that this working in menu.ipxe booted from TFTP like this:
Code:
:image
echo ISO over HTTP
chain mxp14.ipxe
goto start
but i want this with menu default. Is this is possible?

If this is not possible please help me how boot ISO over HTTP automatic other way.


RE: How boot iPXE script over pxelinux ? - Torgeir - 2013-04-23 18:19

Build your ipxe.pxe/undionly.kpxe with that script embeded.
Code:
make bin/ipxe.pxe EMBED=ipxe.script.ipxe

Then rename ipxe.pxe to ipxe.pxe.0, and move to tftp folder.

From pxelinux label.
Code:
LABEL ipxe http iso
kernel ipxe.pxe.0

Or just use gpxelinux.0 or ipxelinux.0, from some of the latest syslinux releases.
And then you can have http directly from pxelinux.
Code:
LABEL http iso
kernel memdisk
append iso raw initrd=http://192.168.2.102/iso.to.boot.iso



RE: How boot iPXE script over pxelinux ? - Gelip - 2013-04-23 19:54

I downloaded syslinux 5.01. Copying new pxelinux.0 and gpxelinux.0 to root folder TFTPD32:
If boot from gpxelinux.0 boot stop at:
Code:
PXE->EB...
...UNDI
gPXE 1.0.0...
DHCP using cached
PXELINUX 5.01 2013-01-28 Copyright © 1994-2013 H. Peter Anvin et al
and menu default not working :-(
If boot from new pxelinux.0 boot stop at:
Code:
PXELINUX 5.01 2013-01-28 Copyright © 1994-2013 H. Peter Anvin et al
Failed to load ldlinux.c32
and not menu default :-( and after add file ldlinux.c32 boot and files lib*.c32 to syslinux folder stop at:
Code:
PXELINUX 5.01 2013-01-28 Copyright © 1994-2013 H. Peter Anvin et al
Unable to locate configuration file
Peter really messed with the PATH and new files lib*.c32 :-(


RE: How boot iPXE script over pxelinux ? - Gelip - 2013-04-24 06:36

OK, after many attempts Angry Angry succeeded with new files syslinux 5.01. To upgrade PXELINUX 3.86 to 5.01 need copy this files from syslinux-5.01.zip to root TFTP directory:
  • pxelinux.0 (replace old)
  • vesamenu.c32 (replace old)
  • ldlinux.c32
  • libcom32.c32
  • libutil.c32
and add this entry in "default" menu to working ISO over HTTP:
Code:
LABEL winxp
MENU LABEL Mini over HTTP
kernel http://192.168.xxx.xxx/memdisk
initrd http://192.168.xxx.xxx:port/images/mxp14.iso
append raw iso
Of course, also run a HTTP server such as Apache

But some things I do not like:
  • not working automatic boot (TIMEOUT 100 in menu default) :-(
  • vesamenu appears until after 10 seconds after message PXELINUX 5.01.... but this is only sometimes !!? In old version 3.86 vesamenu appears faster.
[attachment=48] --> in this time I see in TFTPD32 that ldlinux.c32 is loading