Red Hat Bugzilla – Bug 16889
LILO on Athlon does not recognise memory more than 64MB
Last modified: 2008-05-01 11:37:58 EDT
Running on a GIGABYTE motherboard with an AMD Athlon 650Mhz processor and 640MB RAM, lilo does not recognise the amount of
memory. Adding 'append = "mem=640M" ' in lilo.conf does not help. Only if you type 'linux mem=640M ' at boot time helps to use the full
640MB. Is there any patch for this problem.
Where did you add the append=? In the stanza of your image?
Can you attach your lilo.conf to this bug report?
In all actuality, the kernel itself is to blame for not properly finding the
correct amount of available memory, and the function of passing a mem=
parameter to your kernel is a kludge. Lilo itself is only functioning to pass
a specified parameter.
Also, if you do have the append= in the image stanza, try using:
the lack of spaces may help (never tried w/ the extra whitespace, so we'll see)
Lilo isn't responsible for telling the kernel how much memory there is, the
kernel detects the memory for itself. The problem you describe is consistent
with a BIOS that doesn't implement the 0xe820 BIOS extended memory information
call (which keeps the kernel from detecting the actual amount of RAM in your
machine) and with a mis-placement of the append= stanza in the lilo.conf file as
mentioned by jmm. Since it isn't feasible to correct the lack of a BIOS 0xe820
call, the best option is to correct the lilo.conf file so that it will pass the
information at each boot (keeping in mind that you must re-run the lilo program
each time you modify the lilo.conf file for the changes to take effect, just in
case you forgot that step and that's why lilo isn't passing the mem= parameter
to the kernel). It's possible that later versions of the OS with later kernels
might get around the problem by enabling different memory detection routines,
such as ACPI based ones, but that's not a feasible solution to your problem.