초기 램 디스크가 왜 그렇게 큰가요? 내 복사 /boot/config-3.0.0-14-generic에를 .config내 원래 커널의 구성을

커널 버전과 함께 제공되는 Ubuntu 11.10을 실행 중 3.0.0-14입니다. 3.1.0지점 에서 커널을 다운로드하여 빌드했습니다 . 새 커널을 설치 한 후 내 /boot/initrd.img-3.1.0파일이 거대 하다는 것을 알았습니다 . 내 크기 /boot/initrd.img-3.0.0-14-generic는 약 13MB 인 반면 114MB 입니다. 부풀림을 제거하고 싶습니다. 분명히 불필요합니다.

새로운 커널을 구축 할 때, 내 복사 /boot/config-3.0.0-14-generic에를 .config내 원래 커널의 구성을 유지하는 등, 내 빌드 디렉토리에. 을 실행 make oldconfig하고 모든 새 옵션의 기본값을 선택한 다음 커널을 빌드했습니다.

각 initrd cpio 아카이브의 파일 크기를 보면 모든 .ko 모듈의 크기가 3.1.0 램 디스크의 크기가 3.0.0-14보다 큽니다. 구성 파일에서 불필요한 디버그 플래그가 확인되었다고 가정했지만 3.0.0-14 구성 파일에서 아직 활성화되지 않은 다른 항목은 표시되지 않습니다.

/boot/config-3.0.0-14-generic여기는 :
http://pastebin.com/UjH7nEqd

그리고 /boot/config-3.0.1여기 있습니다 :
http://pastebin.com/HyT0M2k1

누구나 불필요한 모든 팽창이 어디서 나오는지 설명 할 수 있습니까?



답변

커널을 구축하고 사용하는 모듈입니다 때 make oldconfig, make그리고 make install, 그 결과 모듈은 파일에서 사용할 수있는 디버그 정보를 제공합니다.

INSTALL_MOD_STRIP디버깅 기호를 제거 하는 옵션을 사용하십시오 .

make INSTALL_MOD_STRIP=1 modules_install

마찬가지로 deb 패키지를 빌드하는 경우 :

make INSTALL_MOD_STRIP=1 deb-pkg