내 커널을 컴파일 할 때 기본적으로 내가하는 일은 다음과 같습니다.
www.kernel.org에서 소스를 다운로드하여 압축 해제하십시오.
이전
.config을 소스에 복사make menuconfig하고 새 옵션을 감시하고 새 커널 정책에 따라 구성을 수정합니다.그런 다음 컴파일합니다.
make -j 4마지막으로 설치합니다
su -c 'make modules_install && make install'.몇 가지 테스트를 거친 후 이전 커널 (
/boot및에서/lib/modules)을 제거하고 새 커널로 완전히 실행합니다 (이 마지막 단계는 여러 번 생명을 구했습니다! 팁입니다 !).
문제는 항상 /boot/initrd.img-4.x.x배포판에 비해 큰 것을 얻는다 는 것입니다. /boot/예를 들어 현재 디렉토리 의 내용은 다음과 같습니다 .
# ls -alFh
total 243M
drwxr-xr-x 5 root root 4.0K Mar 16 21:26 ./
drwxr-xr-x 25 root root 4.0K Feb 25 09:28 ../
-rw-r--r-- 1 root root 2.9M Mar 9 07:39 System.map-4.4.0-1-amd64
-rw-r--r-- 1 root root 3.1M Mar 11 22:30 System.map-4.4.5
-rw-r--r-- 1 root root 3.2M Mar 16 21:26 System.map-4.5.0
-rw-r--r-- 1 root root 170K Mar 9 07:39 config-4.4.0-1-amd64
-rw-r--r-- 1 root root 124K Mar 11 22:30 config-4.4.5
-rw-r--r-- 1 root root 126K Mar 16 21:26 config-4.5.0
drwxr-xr-x 5 root root 512 Jan 1 1970 efi/
drwxr-xr-x 5 root root 4.0K Mar 16 21:27 grub/
-rw-r--r-- 1 root root 19M Mar 10 22:01 initrd.img-4.4.0-1-amd64
-rw-r--r-- 1 root root 101M Mar 12 13:59 initrd.img-4.4.5
-rw-r--r-- 1 root root 103M Mar 16 21:26 initrd.img-4.5.0
drwx------ 2 root root 16K Apr 8 2014 lost+found/
-rw-r--r-- 1 root root 3.5M Mar 9 07:30 vmlinuz-4.4.0-1-amd64
-rw-r--r-- 1 root root 4.1M Mar 11 22:30 vmlinuz-4.4.5
-rw-r--r-- 1 root root 4.1M Mar 16 21:26 vmlinuz-4.5.0
아시다시피, initrd.img파일 크기는 배포 한 파일 크기 보다 약 10 배 더 큽니다.
커널을 컴파일 할 때 어떤 문제가 있습니까? 그리고 어떻게 내 크기를 줄일 수 initrd.img있습니까?