SuSE GmbH

SuSE Support Database

Title: Kernel : Support for up to 2 GB RAM

----------

Mainpage o Searchform o History o Versions o Categories o Contents
Deutsch

----------

Kernel : Support for up to 2 GB RAM

Applies to

Kernel: Versions since 2.2.0

Request:

You have a system with a processor compatible to the i386 family of processors and 1 GByte or more physical memory (RAM) installed. Of course you want to use as much RAM as possible under Linux.

Background-Information :

The Linux kernel for i386 processors currently supports by default up to almost 1 GByte physical memory in one system. If the system has more memory, the Linux kernel must be forced to use only the lower 960 MByte of this memory by passing the parameter mem=960M to the kernel at boot time.

Support for up to almost 2 GByte of RAM can be achieved by applying a kernel patch. This kernel patch will however reduce the usable virtual address space in user space for a single process from 3 GByte to 2 GByte. For Linux on processors of the i386 family this is currently (April 1999, Linux Version 2.2.5) the limit.

Procedure:

Of course the source tree of the Linux kernel must be installed in the system. It can be found below e.g. /usr/src/linux-2.2.5.SuSE, once you have installed the package lx_suse, that comes with SuSE Linux 6.1 .

------------8<----   cut here  ---------8<----------------

diff -ur linux-1GB/arch/i386/vmlinux.lds linux/arch/i386/vmlinux.lds
--- linux-1GB/arch/i386/vmlinux.lds     Mon Dec 28 07:45:13 1998
+++ linux/arch/i386/vmlinux.lds Wed May 26 13:35:49 1999
@@ -6,7 +6,7 @@
 ENTRY(_start)
 SECTIONS
 {
-  . = 0xC0000000 + 0x100000;
+  . = 0x80000000 + 0x100000;
   _text = .;                   /* Text and read-only data */
   .text : {
        *(.text)
diff -ur linux-1GB/include/asm-i386/page.h linux/include/asm-i386/page.h
--- linux-1GB/include/asm-i386/page.h   Tue Jan 26 22:04:02 1999
+++ linux/include/asm-i386/page.h       Wed May 26 13:34:31 1999
@@ -79,7 +79,7 @@
  *
  * which has the same constant encoded..
  */
-#define __PAGE_OFFSET          (0xC0000000)
+#define __PAGE_OFFSET          (0x80000000)

 #define PAGE_OFFSET            ((unsigned long)__PAGE_OFFSET)
 #define __pa(x)                        ((unsigned long)(x)-PAGE_OFFSET)

------------8<----   cut here  ---------8<----------------

----------

See also:

----------

Keywords: KERNEL, PATCH, 2GB, RAM

----------

Categories: Kernel

----------

Mainpage o Searchform o History o Versions o Categories o Contents
Deutsch

----------

SDB-2gb-kernel, Copyright SuSE GmbH, Nuremberg, Germany - Version: 24. Jun 1999
SuSE GmbH - Last generated: 07. Oct 1999 16:24:26 by maddin with sdb_gen 1.00.0