2012년 5월 19일 토요일

리눅스 커널 컴파일

다른 문서도 많지만 남겨둔다.

-------------------------------

1. 기본적으로 커널 소스의 디렉토리는 /usr/src/linux 입니다.
2. 커널 컴파일 방법에는 3가지가 있다
make config -> 옵션을 잘못 선택하면 처음부터 다시해야하는 단점이 있습니다.
make config의 화면


make menuconfig -> 가장 추천하는 방법(단, ncurses가 있어야 한다.)
make menuconfig의 화면


make xconfig -> X에서 볼수 있습니다.
3. 전에 있던 커널소스 /usr/src/linux 디렉은 다른이름으로 바꾸던지 지워주십시요.(예: mv linux linux-2.2.11)


4. 커널 소스에 압축을 풀어주십시요.
# tar xvfz linux.2.4.0.tar.gz

압축을 풀어주시고, 해당 디렉토리로 이동을 하여주십시요.

# cd /usr/src/linux

해당 디렉토리로 이동하신후

가장 추천하는 방식인 menuconfig를 실행하시면 됩니다.

# make menuconfig

(make xconfig하였을 경우의 화면입니다.)




5. 커널 컴파일 옵션을 보고 시스템에 맞는걸 선택합니다.
이부분에 대한 자세한 정보는 아래에서 구하실수 있습니다.

ftp://ftp.linux.co.kr/document/kldp/KoreanDoc/html/Kernel_Compile_Guide-KLDP-html.tar.gz
ftp://ftp.linux.co.kr/document/kldp/KoreanDoc/html/Kernel_Compile-KLDP-html.tar.gz


6. make dep 를 합니다.(의존성을 검사을 합니다.)

7. make clean 을 합니다.(모든 오브젝트 파일과 구버전이 남겨놓은 것을 제거합니다.)

8. make bzlilo 을 합니다. (커널 이미지를 압축생성한다)

9. cd / 한다( / 방에 vmlinuz, System.map 이라는 파일이 생겼을 것이다)

10. mv vmlinuz /boot/vmlinuz-2.4.0 (예: mv vmlinuz /boot/vmlinuz-2.4.0)

11.mv System.map /boot/System.map-2.4.0 (예: mv System.map /boot/System.map-2.4.0)

12. vi /etc/lilo.conf ( 리로를 편집합니다 )
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50

image=/boot/vmlinuz-2.4.0 -> 새로운 커널이미지를 linux라는
label=kernel-2.4.0
root=/dev/hda1
read-only

image=/boot/vmlinuz-2.2.11 -> 혹시나 모를 커널 패닉에 대비하여
label=old-kernel 예전 커널을 old란 레이블로 해놓는다.
root=/dev/hda1 (예전 버전이 2.2.11일때)
read-only

13. /sbin/lilo 해줍니다.( lilo.conf의 내용을 인식시켜 주기위해서 꼭 해주셔야 합니다.)


커널 2.4의 변화

댓글 없음:

댓글 쓰기

국정원의 댓글 공작을 지탄합니다.

대학원생의 투고 지도 ④ (완결) — 논문의 수준이란 무엇인가: 사다리와 사분위, 첫 논문 전략

완결편이다. "논문 수준"이라는 말을 해부하고, 에듀테크 석사생의 첫 논문 전략으로 마친다. 학위논문과 학술지 논문은 다른 장르다 먼저 가장 흔한 혼동부터. 학위논문(thesis)은 "내가 연구를 수행할 줄 안다...