[ipxe-devel] Try to free Memory without Signature

Arends, R.R. r.r.arends at hr.nl
Wed Dec 12 12:53:13 UTC 2012

>>> On 11-12-2012 at 19:44, in message <50C77F0A.1010202 at gmail.com>, Shao Miller
<sha0.miller at gmail.com> wrote:
> 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:
> #!ipxe
> set user-class foo
> autoboot

Tried the above but somehow the menu stays on the screen even though i see gpxecmd.c32 and the script being fetched from the webserver....

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

I was actually hoping for a fix in the bnx2 driver, but i read in the other mail that it might be a bug in the firmware of the nic itself?

> 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

Tried that aswel, unfortunatly that only works on pxelinux without the ipxe undi layer, which we use.
Somehow it doesn't rewrite the next-server in the lower level cached memory?? something like that.
Talked about it with genec.
Atleast for me a nice workaround for this was to do another dhcp request and just get handed out a different next-server if the user-class was present.
It works in my testenvironment, but then i came across those hp servers with the bnx2 nic with the 'try to free memory without signature' error and hung.


More information about the ipxe-devel mailing list