Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pxeboot: heap full?



On Mon, Dec 15, 2008 at 08:06:56PM +0000, Andrew Doran wrote:
> On Mon, Dec 15, 2008 at 01:24:14PM -0600, David Young wrote:
> 
> > Has there been a regression in PXE bootstrap?
> 
> A version from a couple of weeks ago works for me. Can you try a slightly
> older version?
> 
> > I am trying to PXE boot a kernel.  pxeboot_ia32.bin fails, printing
> > 
> > heap full (0x137e8+2055051)
> > 
> > The decimal number to the right of the plus sign is the size of my
> > (gzipped) kernel, in decimal.  So it looks as if pxeboot tries to
> > reserve space on the heap for the kernel, which fails.  If I am
> > not mistaken, these flags in the pxeboot Makefile reserve only
> > 128kB for the heap:
> > 
> >     SAMISCCPPFLAGS+= -DHEAP_START=0x10000 -DHEAP_LIMIT=0x30000
> > 
> > That seems like an extraordinarily small heap, if a kernel is
> > supposed to fit in there.
> 
> The kernel doesn't go on the heap, it's loaded into extended memory.
> There are buffers in the heap, eg: for decompression.

Looks like the problem began between 24 Nov and 1 Dec.  Around that
time, pxeboot learned about boot.cfg.  Looks like boot.cfg goes on
the heap.  I suspect that pxeboot loads tftp:foo instead of boot.cfg
for some reason.

FWIW, here is my dhcpd.conf configuration for the host that I
pxeboot:

host foo {
        hardware ethernet 00:00:24:C6:A5:24;
        fixed-address 192.168.1.2;
        next-server 192.168.1.101;
        option root-path "/home/dyoung/scratch-cuw/i386/N";
        if substring(option vendor-class-identifier, 0, 19) =
           "NetBSD:i386:libsa" {
                filename "tftp:foo";
        } elsif substring(option vendor-class-identifier, 0, 9) =
                   "PXEClient" {
                filename "pxeboot_ia32_com0_19200.bin";
        }
}

Dave

-- 
David Young             OJC Technologies
dyoung%ojctech.com@localhost      Urbana, IL * (217) 278-3933


Home | Main Index | Thread Index | Old Index