[syslinux] Size limit for initrd in PXELINUX?

H. Peter Anvin hpa at zytor.com
Tue Oct 22 09:36:48 PDT 2002


Duetsch Thomas wrote:
> Hi,
> 
> I tried some other stuff and it seems to be a problem of my hardware,
> because it works on a standart PC. I'm using a special server which has only
> 512 KB of free memory in the first 1 MB instead of 640 KB.  So that's
> probably were the problem is. Do you know how much memory pxelinux.0 needs,
> and if there is a way to get it to work within the space that I have left?

It needs about 384K, however, that's after the PXE stack takes it's 
share, and some PXE stacks require several hundred kilobytes.

What does PXELINUX say about the addresses of things right when it 
starts up.  In fact, could you list the ENTIRE output of PXELINUX, from 
the very beginning?  I should have asked for that from the very start, 
silly me...

> Is there an (compile) option to tell pxelinux to use only the first 512 KB
> and not to rely on the BIOS information. Just in case the BIOS provides
> incorrect information.

No.  PXELINUX uses as little memory it can and has no dynamic allocation.

> If there is no such option available, do you think there is a way to change
> the soure code, so that it would work. And if there is, do you have any
> idea, were to start looking?

Not really.  All the buffers in PXELINUX are allocated statically, and 
it would require major surgery on the code to eliminate any of them. 
I've been trying to shuffle the buffers so that less critical buffers 
end up near the end.

It certainly explains the "load the kernel slightly then stop" problem 
-- the first thing of the kernel that gets loaded is the real mode 
portion (at 0x50000) and if that corrupts the PXE code then, well, 
you're hosed.

	-hpa




More information about the Syslinux mailing list