커널 버전과 함께 제공되는 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