[ipxe-devel] Try to free Memory without Signature

Shao Miller sha0.miller at gmail.com
Tue Dec 11 18:44:26 UTC 2012

On 12/11/2012 03:37, Arends, R.R. wrote:
>>>> On 25-8-2012 at 3:57, in message <201208250257.05105.mbrown at fensystems.co.uk>,
> Michael Brown <mbrown at fensystems.co.uk> wrote:
>> On Wednesday 22 Aug 2012 20:54:48 Jack Neely wrote:
>>> I removed line 141 of arch/i386/drivers/net/undi.c and that produced an
>>> image that at least got through initializing.  However I get to
>>>      iPXE 1.0.0+ (a0587) -- Open Source Network Boot Firmware --
>>> http://ipxe.org Features: VLAN HTTP iSCSI DNS TFTP AoE SRP bzImage ELF
>>> and the cursor flashes on the next line.  There is no further progress.
>>> I built with
>>>      make EMBED=../../PXE-all.ipxe bin/ipxe.lkrn
>>> and my embedded script looks like:
>>>      #!ipxe
>>>      # To build: cd ipxe/src
>>>      #           make EMBED=path/to/here bin/ipxe.lkrn
>>>      :retry_dhcp
>>>      dhcp || goto retry_dhcp
>>>      chain tftp://pxe.domain.com/pxelinux.0
>>> I get the feeling I just removed any support for the network device.
>>> ;-)
>> If you were relying on that UNDI driver, then yes, in which case your only
>> viable solution is to wait for the bnx2 driver update to be merged.
> Any update on this? I'm having the same issue with an HP DL360 G6 machine.
> When booting PXE ROM -> ipxelinux.0 -> vesamenu.c32 -> ipxe.lkrn
> I'm doing it this way because after the ipxe.lkrn i'm chaining to sccm, and the ipxe.lkrn sets the user-class different so that we can have the dhcp point to a new next-server (wds) when ipxe.lkrn does the second dhcp.

iPXE -> ... -> iPXE seldom makes sense, in my opinion.  You can use 
Syslinux' gpxecmd.c32 module to execute commands in the already-loaded 
iPXE.  For example:

   BIOS -> PXE -> ipxelinux.0 (iPXE -> PXELINUX) -> vesamenu.c32 -> 
"sccm" menu option -> gpxecmd.c32 -> Back to iPXE, with a command to run 
a script.

In the Syslinux config-file:

LABEL sccm
   COM32 gpxecmd.c32
   APPEND chain sccm_script.ipxe

In sccm_script.ipxe:

set user-class foo

> But that second dhcp is never done goes of the above error 'Try to free Memory without Signature'.

Maybe the method suggest above will help.

Alternatively, Syslinux' pxechn.c32 can be used to use WDS: BIOS -> PXE 
-> ipxelinux.0 (iPXE -> PXELINUX) -> vesamenu.c32 -> "sccm" menu option 
-> pxechn.c32 -> WDS

- Shao Miller

More information about the ipxe-devel mailing list