[ale] ram not recognized at bootup........
Keith Hopkins
hne at hopnet.net
Thu Apr 18 18:24:21 EDT 2002
Courtney Thomas wrote:
> Greetings !
>
> IIRC there is a lilo.conf entry that informs the kernel of all the ram
> but I can't remember it's incantation.
> Please advise.
>
You can use the "append" function of lilo to pass the "mem" kernel parameter at boot.
from the lilo.conf man page:
append=<string>
Appends the options specified to the parameter line
passed to the kernel. This is typically used to
specify parameters of hardware that can't be
entirely auto-detected or for which probing may be
dangerous. Example:
append = "enableapic vga=0x0317 mem=0x10000000"
from the BootPrompt-HOWTO:
The `mem=' Argument
This argument has two purposes: The original purpose was to specify the amount of installed memory (or a value less than that if you wanted to limit the amount of memory available to linux). The second (and hardly used) purpose is to specify mem=nopentium which tells the Linux kernel to not use the 4MB page table performance feature.
The original BIOS call defined in the PC specification that returns the amount of installed memory was only designed to be able to report up to 64MB. (Yes, another lack of foresight, just like the 1024 cylinder disks... sigh.) Linux uses this BIOS call at boot to determine how much memory is installed. If you have more than 64MB of RAM installed, you can use this boot argument to tell Linux how much memory you have. Here is a quote from Linus on the usage of the mem= parameter.
``The kernel will accept any `mem=xx' parameter you give it, and if it turns out that you lied to it, it will crash horribly sooner or later. The parameter indicates the highest addressable RAM address, so `mem=0x1000000' means you have 16MB of memory, for example. For a 96MB machine this would be `mem=0x6000000'. If you tell Linux that it has more memory than it actually does have, bad things will happen: maybe not at once, but surely eventually.''
Note that the argument does not have to be in hex, and the suffixes `k' and `M' (case insensitive) can be used to specify kilobytes and Megabytes, respectively. (A `k' will cause a 10 bit shift on your value, and a `M' will cause a 20 bit shift.) A typical example for a 128MB machine would be "mem=128m".
--
Lost in Tokyo,
Keith
---
This message has been sent through the ALE general discussion list.
See http://www.ale.org/mailing-lists.shtml for more info. Problems should be
sent to listmaster at ale dot org.
More information about the Ale
mailing list