Mark Daglish wrote:
Stuart Powell wrote:
My dual P233 box with 192MB RAM running the 2.2.16-SMP kernel doesn't need any special lilo parameters either. It's on a Tyan board. I think it depends greatly on the BIOS memory reporting as to how much the kernel will automatically pick up. It is also my understanding that the append="mem=xxxM" (don't forget the second "=") does not cause the kernel to check the amount of memory. You could tell a 64MB system that it has 1024MB, but it will run slowly since it will always be paging. The append parameter simply tells the kernel how much memory it can assume is available, and it trusts you to enter the correct amount.
It is not necessarily kernel dependant - I've run SuSE 6.1 with kernels 2.2.5, 2.2.14, and others on a machine with 128MB of RAM, and have never had to use that particular parameter.
I wonder if this is one of those AMI v Award v Phoenix v Other BIOS issues. It is also important to make sure that your BIOS does in fact see the full RAM. My mobo required that slower memory (60ns v 50ns) be placed in the SIMM slots closest to the controller chip. Until I got the physical SIMMs in the right order (three attempts), the BIOS would only register 64MB or 128MB, so no amount of append= could help me there. Once the memory was arranged properly, the BIOS saw it all, and so did Linux.
Interesting theory. I do know that the BIOS reports the correct amount of memory on my machine as I sit and watch it count up to 512MB everytime it reboots (which is quite frequent at the moment as I am experimenting with alternative lilo parameters for other things at present as well).
At one time I thought the problem was to do with the "Memory Hole at 64MB" found in some BIOSes. Now I'm under the impression that this is to do with the BIOS function used to query the amount of RAM. There was a new function introduced (without a freely available specification) that replaced an older function to report memory sizes greater than 64MB. As a result some BIOSes dropped the older function, so an even older function that only reports up to 64MB must be used. This is fixed in more recent kernels (especially 2.4.x).
WinNT 4.0 also correctly detects the amount of RAM, but fails to detect
Microsoft will have got hold of the BIOS function spec so that they could include this in their OSes.
the second processor curiously. ("15 all" I think on this one ;-) I would
Is it a uniprocessor kernel? That would explain it.
tell you the BIOS but that I can't remember and the machine is in the middle of some serious number crunching otherwise I'd reboot and check for you.
Bye, Chris -- __ _ -o)/ / (_)__ __ ____ __ Chris Reeves /\ /__/ / _ / // /\ / / ICQ# 22219005 __v __/_/_//_/_,_/ /_/_\