[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: AMD64-generic doesn't see all 4GB RAM?

On Mon, 2006-11-06 at 17:54 +0100, A J Stiles wrote:
> On Monday 06 November 2006 12:08, John Hannfield wrote:
> > I have a dual core Opteron 265 running in a Tyan K8WE (S2877) motherboard
> > with
> > 4 x 1GB RAM DDR modules. The BIOS displays the RAM as 4094 MB, but using
> > a fresh install of testing/unstable from the AMD64 etch net-installer, I
> > can still only
> > see 3.2 GB out of the 4GB RAM...
> There's your problem; you're still running the installer kernel.  The 
> installer kernel is only supposed to work well enough and for long enough for 
> you to build yourself a new one.  Install kernel-package, libncurses5-dev  
> (menuconfig needs it);  then you can just get sources from kernel.org, and 
> compile them into a .deb package to install with dpkg -i.
> Note: unless you're *very* lucky, you *will* at some point turn off something 
> you should have left on and your new kernel won't boot.  Save all your config 
> files, have a bootable CD handy, and learn how to use it to alter your LILO 
> or GRUB configuration to boot the installer kernel.  
> If you're still running a "stock" kernel, you're only using about half the 
> power of Linux .....

Bollocks. There hasn't been such a thing as an "installer kernel" since
Woody (with "idepci" and "bf" minimal kernels).

Debian has a selection of kernels with pretty much every available
option compiled as a module - meaning they don't waste system resources
if you don't have the hardware. The only benefit to compiling your own
kernel based on one of those with bits removed versus just using one of
them is the shorter compile time - and since the Debian kernels come
precompiled, that's only an issue if you're the DD in charge of
compiling the damned things.

The error the OP reports is a BIOS issue. You could compile a thousand
replacement kernels - it wouldn't help. For those with a compilation
fetish, try Gentoo or Linux From Scratch.

32-bit OSen have a theoretical limit of 4GiB addressable memory.
However, there's an additional limitation as all expansion cards (e.g.
graphics cards) need to have their memory regions mapped within that
4GiB area, lowering the overall amount of "system" memory you can
address. 64-bit OSen don't have that limitation, but many BIOSes assume
that there's only one OS on the market (32-bit XP) so keep the memory
configuration with a hole at 4GiB.

Reconfigure the BIOS to get rid of the hole at 4GiB. The setting you
want will probably be labelled as "MTRR" or "Memory Hole".

Reply to: