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