Where is the i686 kernel
liberaltugboat at gmail.com
Wed May 25 20:23:41 UTC 2005
To compile everything down to one line:
Use a kernel that is compiled for your processor
On 5/25/05, James Wilkinson <ubuntu at westexe.demon.co.uk> wrote:
> Kreg Schlosser wrote:
> > umm this has nothing to do with the memory addressing limit of a 32
> > bit processor
> Hmm. Yes, and no. I oversimplified. Sorry. There are *two* architectural
> limits of a 386. There's the physical memory limit of either 16 MB or 4
> GB, which isn't an issue, and the virtual address space of 4 GB, which
> is. See http://www.intel.com/design/intarch/intel386/.
> Virtual memory is a logical abstraction, physical memory can be
> The 1 GB limit (including shared PCI memory) is a kernel optimisation.
> By artificially limiting the kernel to 1 GB, the kernel can turn on the
> optimisations I described. But this is trying to work around the limited
> virtual address space on a 32 bit processor. 64 bit processors, which
> have a massive virtual address space, can have these optimisations on
> all the time.
> It is theoretically possible to equip a 386 with 1 GB of memory, and
> this would run into the same problems.
> There is a kernel setting that allows for more memory than 1 GB: it
> turns off certain optimisations. It is independent of the processor
> support level (this allows for generic kernels that can access up to
> 4 GB of memory).
> The URL you included:
> > http://www.ubuntulinux.org/support/documentation/faq/helpcenterfaq.2004-09-21.1496455883/view?searchterm=RAM
> does not contradict what I wrote.
> Hope this helps,
>  My apologies to all my readers who keeled over at the thought of
> such an abomination...
>  HIGHMEM4G: /usr/src/linux/arch/i386/Kconfig includes these lines
> that describe the situation:
> Linux can use up to 64 Gigabytes of physical memory on x86 systems.
> However, the address space of 32-bit x86 processors is only 4
> Gigabytes large. That means that, if you have a large amount of
> physical memory, not all of it can be "permanently mapped" by the
> kernel. The physical memory that's not permanently mapped is called
> "high memory".
> If you are compiling a kernel which will never run on a machine with
> more than 1 Gigabyte total physical RAM, answer "off" here (default
> choice and suitable for most users). This will result in a "3GB/1GB"
> split: 3GB are mapped so that each process sees a 3GB virtual memory
> space and the remaining part of the 4GB virtual memory space is used
> by the kernel to permanently map as much physical memory as possible.
> If the machine has between 1 and 4 Gigabytes physical RAM, then
> answer "4GB" here.
> E-mail address: james | Important note: when washing your brain out with
> @westexe.demon.co.uk | nitric acid, it is important to stop *after* you've
> | erased the distressing images and *before* you get
> | the urge to install AOL. -- Jim Andrew
> ubuntu-users mailing list
> ubuntu-users at lists.ubuntu.com
More information about the ubuntu-users