커널 컴파일 시...
글쓴이: homekepa / 작성시간: 월, 2003/12/22 - 5:34오후
안녕하십니까?
먼저 아래의 답변에 대해 자세히 설명해주신점들 감사합니다.
한가지 더 궁금한 점이 있습니다.
RedHat9.0사용시 kernel-2.4.20-8에서 kernel-2.4.20-24.9로
커널 컴파일을 해서 업데이트 할 경우 다음과 같이 진행하였습니다.
make menuconfig -> make dep ->make clean ->make bzImage
-> make install -> make modules -> make modules_install
make bzImage까지만한경우에 /boot/vmlinuz-2.4.20-24.9 와
/boot/System.map-2.4.20-24.9가 생성이 되어있구,
/etc/lilo.conf가 자동으로 설정되어집니다.
그리고 나서 make install을 진행하면
/vmlinuz, /System.map가 생성될뿐입니다.
혹시 이부분 말고는 차이점이 없는것 아닌가요?
어떤 문서는 make bzImage까지하라고 나와있구..
다른 문서는 make install까지 하라고 나와있네요..
즉 make bzImage까지만 했을경우와 make install까지 했을경우의
차이점이 거의 없습니다.
왜 make bzImage후에 make install을 하는지 궁급합니다.
차이점이 뭐가 있나요?
답변 부탁드립니다.
Forums:
커널 용량이 클때 bzip 으로 압축하는 것으로 알고 있습니다.
커널 용량이 클때 bzip 으로 압축하는 것으로 알고 있습니다.
[quote="kookooo"]커널 용량이 클때 bzip 으로 압축하는
감사합니다.죄송하지만, 질문을 잘 못 이해하신듯 합니다.
답변해주신것은 make zImage와 make bzImage의 차이점을 말씀하셨습니다.
전 make bzImage하고 나서와 make install하고 나서의 차이점을 여쭈어본것입니다.
일반적으로 make bzImage까지만 했을경우에도 커널컴파일하는데는 문제가 없는것으로 알고 있습니다.
그런데 make install까지 해주는 이유를 알고 싶습니다.
혹시http://bbs.kldp.org/viewtopic.php?t=
혹시
http://bbs.kldp.org/viewtopic.php?t=29584
이 쓰레드에서 말씀 하신것이
위 rpm 모두 설치하셨다는 이야기인가요?
make bzImage 는 linux-2.x.x/System.map 파일
make bzImage 는 linux-2.x.x/System.map 파일과 linux-2.x.x/arch/xxx/boot/bzImage 파일을 생성하는 것입니다.
make install 은 bzImage를 수행한 후 /sbin/installkernel 스크립트를 실행합니다.
/sbin/installkernel은 위의 생성된 System.map 과 bzImage 파일을 /boot/System.map-2.x.x 과 /boot/vmlinuz-2.x.x 로 복사하고 부트로더에 해당 커널을 등록하는 역할을 합니다. (배포판마다 약간식 다를 수 있습니다.)
----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러
[quote="kookooo"]커널 용량이 클때 bzip 으로 압축하는
bzImage는 bzip으로 압축한 것이 아닙니다. (많은 분들이 이렇게 오해하시더라구요. :) )
둘 모두 gzip으로 압축되어 있고 b의 뜻은 big을 의미합니다.
커널이미지의 크기가 i386의 리얼모드에서 접근할 수 있는 640k보다 큰 경우 기존의 zImage 방식을 쓸 수 없습니다. 일단 압축을 풀기 위해서는 커널이미지가 연속된 메모리의 영역에 있어야 하는데, 이의 해결을 위해 bzImage의 경우에는 보호 모드로 전환해서 1M이상의 메모리에서 커널 압축을 푸는 방식을 사용한다고 합니다.
자세한 설명은 다음 문서를 참고하세요.
http://doc.kldp.org/KoreanDoc/html/EmbeddedKernel-KLDP/kernel-image-file-structure.html
My Passion for the Vision!
[quote="Viz"][quote="kookooo"]커널 용량이 클때
호오 상당히 오랜동안 오해하고 있었군요... ^^;
그럼 결국은...
자세한 답변 감사합니다.
그럼 마지막으로 make bzImage까지만 진행해야 하는건가요?
아니면 make install까지 다 진행해야하는건가요?
문서마다 다 틀리게 나와서 그렇습니다.
[b]ganadist[/b]님께서 적절한 답변을 주신 듯 한데...
ganadist님께서 적절한 답변을 주신 듯 한데...
커널 컴파일 후에 새로운 커널 이미지와 맵 파일을 사용해야겠죠?
make bzImage 실행 후에
$(TOPDIR)/arch/i386/boot/bzImage 에 커널 이미지,
$(TOPDIR)/System.map 에 맵 파일이 생성 되죠..
이 둘을 보통 수동으로!! /boot 파티션에 복사한 후 lilo.conf 에 수정한 후 재붓하면 끝이나는 것이죠..
make install 하였을 경우는 새로 생성된 커널 이미지와 맵 파일을 자동으로!!
/boot 파티션에 복사하고나서 lilo.conf 을 수정해 줍니다.
저는 make install 쓰시는게 편하더군요..
http://wiki.kldp.org/KoreanDoc//html/EmbeddedKernel-KLDP/index.html
---------------------------------------
세계는 넓고, 할일은 많다.
[quote="alwaysrainy"]이 둘을 보통 [b]수동으로!!
수정이 끝났으면 아래 명령을 통해 이미지를 갱신해 줘야 합니다.
- advanced -
방금 위에 올린글에 실수가 있어서 정정 글 올립니다.ganadis
방금 위에 올린글에 실수가 있어서 정정 글 올립니다.
ganadist 님이 말씀해주시더군요. make install 하면 installkernel 이 내부적으로 실행되는데 이것이 각 부트로더에 맞게 이미지를 갱신해 준다고요
2.6 되면서 커널 기능 외적으로도 상당히 많이 발전한걸 느낍니다. 예를 들면 옵션간에 자동 의존성 체크라던지 등등..
- advanced -
댓글 달기