[syslinux] Size limit for initrd in PXELINUX?

Duetsch Thomas thomas.duetsch at siemens.com
Tue Oct 22 12:48:10 PDT 2002


Hi,

well the system starts up just fine, the Intel Boot Agent (Version 4.0.17)
gets its IP address from the DHCP and then it continues as follows:

PXELINUX 1.76 2002-08-27 Copyright (C) 1994-2002 H. Peter Anvin
UNDI data segment at:   000862F0
UNDI data segment size: 94B0
UNDI code segment at:   0008F7A0
UNDI code segment size: 2020
PXE entry point found (we hope) at 8F7A:0106
My IP address seems to be C0A80004 192.168.0.4
ip=192.168.0.4:192.168.0.1:192.168.0.1:255.255.255.0
TFTP prefix:
Trying to load: pxelinux.cfg/C0A80004
...
Trying to load: pxelinux.cfg/C
Trying to load: pxelinux.cfg/default
boot: linux
Loading vmlinuz-2.4.9-31................
Loading initrd.gz..........................

Depending on how big the initrd.gz-file is, the system then behaves as
described earlier.

Regarding the rest of your email, changing anything in the soucre code seems
to make not much sense, so I either get happy with the current pxelinux or I
will have to think of another way to get my system up and running with a 256
MB RAM disk.
Lets see, what I can come up with.
Thanks for your help, and please let me know, if you have any new ideas what
to do.

Regards,

_tom

-----Original Message-----
From: H. Peter Anvin [mailto:hpa at zytor.com]
Sent: Dienstag, 22. Oktober 2002 12:37
To: Duetsch Thomas
Cc: Josef Siemes; syslinux at zytor.com
Subject: Re: [syslinux] Size limit for initrd in PXELINUX?


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