>> Edit article
이름
제목
패스워드
일단 현재 상태에서 make clean 을 합니다. 그런 후에 다음 순서를 지키실것. 기본적으로 커널 소스의 디렉토리는 /usr/src/linux 이다. 커널 컴파일 방법에는 3가지가 있다 1.make config -> 옵션을 잘못 선택하면 처음부터 다시해야하는 단점이 있다. 2.make menuconfig -> 가장 추천하는 방법(단, ncurses가 있어야 한다.) 3.make xconfig -> X에서 볼수 있다.( 화려하다. 그냥 구경한번 해보길...) 시스템 사양을 잘 알아야 한다.(이더넷 카드, 사운드 카드, CPU가 몇개(?)인지등...) 어떠한 환경에서 사용할건지 결정하여야 한다.(커널의 최적화를 위해...) Kernel Compile Option 꼭 주의깊게 살펴볼것!!(나에게 어떤 옵션이 필요한지 볼것) 따라하기 1. 커널 소스를 받는다.( http://www.kr.kernel.org/pub/linux/kernel/) 2. 소스를 /usr/src 방으로 옮긴다.(예: mv linux-2.4.0.tar.gz /usr/src ) 3. 전에 있던 커널소스 /usr/src/linux 디렉은 다른이름으로 바꾸던지 지워라.(예: mv linux linux-2.2.11) 4. 만약 linux라는 이름으로 심벌릭 링크되어있다면 링크만 해제하라.(예: rm linux) 5. 커널 소스를 푼다.(예: tar xvvzf 커널버전.tar.gz 또는 tar xvvIf 커널버전.tar.bz2) 6. linux라는 디렉토리가 생겼을 것이다. 그 디렉으로 들어간다.( cd linux ) 7. make menuconfig 를 한다.( 현재 위치 /usr/src/linux ) 8. 커널 컴파일 옵션을 보고 시스템에 맞는걸 선택한다.(중요하다!) 9. make dep 를 한다.(의존성을 검사) 10. make clean 을 한다.(찌꺼기들을 없앤다) 11. make bzlilo 한다(커널 이미지를 압축생성한다) 12. cd / 한다( / 방에 vmlinuz, System.map 이라는 파일이 생겼을 것이다) 13. mv vmlinuz /boot/vmlinuz-커널버전 (예: mv vmlinuz /boot/vmlinuz-2.2.12) 14. mv System.map /boot/System.map-커널버전 (예: mv System.map /boot/System.map-2.2.12) 15. vi /etc/lilo.conf ( 리로를 편집한다 ) boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50 image=/boot/vmlinuz-2.2.12 -> 새로운 커널이미지를 linux label=linux root=/dev/hda1 read-only image=/boot/vmlinuz-2.2.11 -> 혹시나 모를 커널 패닉에 대비하여 label=old 예전 커널을 old란 레이블로 해놓는다. root=/dev/hda1 (예전 버전이 2.2.11일때) read-only 16. /sbin/lilo 해준다.( lilo.conf의 내용을 인식시켜 주기위해 ) 17. 여기까지 커널 컴파일은 과정은 끝. 모듈 인스톨 하기 커널 옵션에서 모듈(M)으로 선택한것을 컴파일 하기위해 cd /usr/src/linux 방에 들어간다. make modules 한다. make modules_install 한다. 위와같이 하면 '/lib/modules/커널버전' 디렉에 모듈들이 위치한다. 추천 커널 관련 사이트 http://linuxkernel.to : 이호(flyduck)님의 홈페이지 입니다. : 안녕하세요. make menuconfig 시 에러가 발생되어 글 올립니다. : 제발 가르쳐 주세요. : 에러 메시지가 뭐이리 복잡한지. : 고수님들 꼭 가르쳐 주시리라 믿습니다. : : [root@www linux]# make menuconfig : rm -f include/asm : ( cd include ; ln -sf asm-i386 asm) : make -C scripts/lxdialog all : make[1]: Entering directory `/usr/src/linux-2.2.16/scripts/lxdialog' : gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DLOCALE -I/usr/include/ncurses -DCURSES_LOC="<ncurses.h>" -c -o lxdialog.o lxdialog.c : /bin/sh: gcc: command not found : make[1]: *** [lxdialog.o] Error 127 : make[1]: Leaving directory `/usr/src/linux-2.2.16/scripts/lxdialog' : make: *** [menuconfig] Error 2
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved