Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
IPXE ISO boot failure
2015-11-17, 17:18
Post: #1
IPXE ISO boot failure
I have compiled IPXE as 'make EMBED=boot.ipxe DEBUG=dhcp,tftp,http,scsi,iscsi,aoe,bzimage' where boot.ipxe is:

Code:
#!ipxe

# Get a DHCP address
:retry_dhcp
dhcp || goto retry_dhcp
echo DHCP has given IP number ${net0/ip} for MAC ${net0/mac}
echo Gateway IP: ${net0/gateway}

# Override PXE server provided by DHCP
set next-server xxx.xxx.xxx.xxx
set filename /pxelinux/lpxelinux-ipxe.0

# PXE boot
chain http://${next-server}${filename}

The 'lpxelinux-ipxe.0' file has been configured with:

pxelinux-options -a config-file default /var/lib/tftp/pxelinux/lpxelinux-ipxe.0
pxelinux-options -a path-prefix /pxelinux/ /var/lib/tftp/pxelinux/lpxelinux-ipxe.0
pxelinux-options -a next-server xxx.xxx.xxx.xxx /var/lib/tftp/pxelinux/lpxelinux-ipxe.0

I have booted from the resultant ISO on a virtual machine and a physical PC and it will not boot. See below image for the output (I've blanked out our PXE server IP address):

[Image: ipxe.png]

I cannot find any information on what 'bzImage 0xd8814 too short for 91648 byte of setup' means. Also of note is that there is no record on the server of 'ldlinux.c32' being requested.

Can anyone shed any light on this for me?
Find all posts by this user
Quote this message in a reply
2015-11-21, 20:38
Post: #2
RE: IPXE ISO boot failure
What is on the ISO? You might have better luck just booting with iPXE directly by extracting files from the ISO.

ldlinux.c32 is loaded by pxelinux. You might want to try and get an pxelinux file that have ldlinux.c32 embeded, but my experience of newer pxelinux is minimal and not so good.

Which file from ipxe are you using? is it ipxe.pxe or undionly.kpxe?

"bzImage 0xd8814 too short for 91648 byte of setup" is from the debug output since the pxelinux.0 file is not an linux kernel it just gives info about that and tries the next method to start the file, in this case it should end up in the NBP start code. - Which works.

As an side note, you might want to use netX instead of net0 since net0 might not be the one that got an IP.

Use GitHub Discussions
VRAM bin
Visit this user's website Find all posts by this user
Quote this message in a reply
2015-11-23, 12:46 (This post was last modified: 2015-11-23 16:40 by mattross.)
Post: #3
RE: IPXE ISO boot failure
It is the stock ISO as compiled from IPXE's make, containing five files:

BOOT.CAT
IPXE.KRN
ISOLINUX.BIN
ISOLINUX.CFG
LDLINUX.C32

Interesting that LDLINUX.C32 is in the ISO if that's only used by pxelinux. The version provided has been copied from the syslinux package on the Debian box I compiled it on by the looks of it.

I have also tried writing the ipxe.usb image from the same make to a flash drive, and that hangs at the same point.

Edit:

After some fiddling if I add
Code:
set 210:string http://${next-server}/
set 209:string pxelinux.cfg/default
after setting 'next-server' it successfully connects to our PXE server.

Thanks for the help.
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)