Kernel: 버전 이래로 2.2.0
i386계 프로세서와 호환성을 가진 시스템을 가지고 있으면 1G 바이트 이상의 RAM이 인스 톨되어 있습니다. 그래서 리눅스에서 가능한 많은 양의 RAM을 사용하고 싶습니다.
i386 프로세서를 위한 리눅스 커넬은 현재 디폴트로 한 시스템에서 1GB까지의 물리적 메모 리를 지원해 주고 있습니다. 만약 시스템에 메모리가 이보다 더 많으면 리눅스 커넬로 하여 금 메모리의 낮은 960MB만을 사용하도록 mem=960M 파라미터를 부팅시 커넬로 패스해 주어야만 합니다.
하지만 커넬 패치를 사용하면 거의 2GB의 RAM까지를 지원해 줄 수 있습니다. 그런데 이렇 게 커넬 패치를 사용하게 되면 단일 프로세스를 위해서 사용자가 쓸 수 있는 가상 주소 공 간이 3GB에서 2GB로 줄어들게 됩니다. i386계열 프로세서를 장착한 리눅스 시스템에서는 현재 이것이 한계입니다.(1999년 4월 리눅스 버전 2.2.5 현재)
물론 리눅스 커넬 소스 트리가 시스템에 인스톨되어야 합니다. 이것은 수세 리눅스 6.1에
따라 오는 lx_suse
패키지를 인스톨하면 /user/src/linux-2.2.SuSE
디렉토리에서 찾을 수 있
습니다.
이 커넬 소스의 디렉토리로 가서 다음 명령으로 패치를 적용시켜 줍니다.
cd /usr/src/linux-2.2.5.SuSE patch -p1 </pfad/zur/patchdatei 2>outSDB 아티클 Applying kernel patches 문서도 한 번 읽어보도록 하십시오. 이 패치를 사용하면 i386 리눅스 시스템에서 1984MB까지의 RAM을 사용할 수 있습니다. 다음에는 이 패치의 내용입니다.
------------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<----------------
Hint: 수세 리눅스를 위한 커넬은 야스트에서 인스톨할 수 있습니다. 그리고 환경 설정 파
일들은 첫 번째 시디의 /suse/images/config/config*.ikr
있습니다. 이들 중에서 하나를
새로운 환경 설정의 스타팅 포인트로 사용하고 싶으면 커넬 환경 설정을 make
menuconfig, make config 또는 make xconfig 명령들 중에 하나로 커넬 환경 설정을 시작
하기 전에 그 파일을 다음 장소로 복사를 해 주어야 합니다.
/path/to/kernel-sources/.config (e.g. : /usr/src/linux-2.2.5.SuSE/.config)
If your system has more than 1984 MB RAM특별히 메모리가 2GB가 있는 시스템들에서는 리눅스 커넬이 1984MB RAM만 사용하도록 하여야 합니다. 그리고 이렇게 해도 부팅시 문제가 발생하면 사용할 메모리의 용량을 더 줄이도록 해 보십시오.(예, 1960MB)
mem=1984M
etc/lilo.conf
파일을 수동으로 편집하는 경우에는 정확한 신텍스로 다음 내용을 어펜드해
주십시오.
append="mem=1984M"