초기 램디스크가 왜 그렇게 큰가요?

초기 램디스크가 왜 그렇게 큰가요?

저는 커널 버전과 함께 제공되는 Ubuntu 11.10을 실행하고 있습니다 3.0.0-14. 나는 브랜치에서 커널을 다운로드하고 빌드했습니다 3.1.0. 새 커널을 설치한 후 내 /boot/initrd.img-3.1.0파일이 매우 크다는 것을 발견했습니다 . 114MB이고 내 것은 /boot/initrd.img-3.0.0-14-generic약 13MB입니다. 나는 분명히 불필요한 부풀림을 제거하고 싶습니다.

새 커널을 빌드할 때 원래 커널의 구성을 보존하기 위해 내 커널을 빌드 디렉터리 /boot/config-3.0.0-14-generic에 복사했습니다. .config를 실행하고 make oldconfig모든 새 옵션에 대해 기본값을 선택하고 커널을 빌드했습니다.

각 initrd cpio 아카이브의 파일 크기를 살펴보면 3.1.0 램디스크의 모든 .ko 모듈이 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

불필요한 부풀림이 어디서 오는지 설명할 수 있는 사람이 있나요?

답변1

make oldconfig을 사용 make하고 커널과 모듈을 빌드할 때 make install생성된 모듈은 파일에서 디버깅 정보를 사용할 수 있습니다.

사용INSTALL_MOD_STRIP디버깅 기호를 제거하는 옵션:

make INSTALL_MOD_STRIP=1 modules_install

마찬가지로 deb 패키지를 빌드합니다.

make INSTALL_MOD_STRIP=1 deb-pkg

관련 정보