2017-04-26 14 views
-1

현재 Linux 커널을 4.4.0-63에서 4.10.12로 업그레이드하는 중입니다. . 나는의 (http://www.thegeekstuff.com/2013/06/compile-linux-kernel 매뉴얼을 사용하여) 단계를 입수했습니다 ->make modules - make>make modules_install오류 : Linux 커널 업그레이드 중 "gzip : stdout : 공간이 없습니다"(공간이있는 경우)

비록을 내가하려고하면 "make install"나는 다음과 같은 오류를 얻을 :

[email protected]:/usr/src/linux-4.10.12$ sudo make install 
sh ./arch/x86/boot/install.sh 4.10.12 arch/x86/boot/bzImage \ 
      System.map "/boot" 
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.10.12 
/boot/vmlinuz-4.10.12 
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.10.12 
/boot/vmlinuz-4.10.12 
update-initramfs: Generating /boot/initrd.img-4.10.12 
W: Possible missing firmware /lib/firmware/ast_dp501_fw.bin for module ast 

gzip: stdout: No space left on device 
E: mkinitramfs failure cpio 141 gzip 1 
update-initramfs: failed for /boot/initrd.img-4.10.12 with 1. 
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1 
make[1]: *** [install] Error 1 
make: *** [install] Error 2 

첫째, 나는/부팅이 가득했습니다 있는지 확인하지만 아니었다처럼 보였다 :

나는 온라인으로 무엇을 본 적이에서
[email protected]:/usr/src/linux-4.10.12$ df -h 
Filesystem  Size Used Avail Use% Mounted on 
/dev/dm-0  252G 43G 197G 18%/
... 
/dev/sda1  236M 75M 149M 34% /boot 

이 보통 그쪽으로 과거의 커널 버전의 주위에 이상 똑딱과 관련이있다 n 그들이 필요합니다.

un linux-image  
ii linux-image-4.4.0-63-generic 
ii linux-image-extra-4.4.0-63-generic 
ii linux-image-generic-lts-xenial 

내가 다른 어디 보인다 특히 이후 (문제를 알아 내기 위해보기 위하여 확실하지 않다 : 비록, 내가 볼 수 있었던 것과,없는 이전 버전은 "dpkg -l linux-image*"를 실행 한 후 놀고 있었다 like/boot가 가득 차 있지 않음). 어떤 아이디어?

[email protected]:/usr/src/linux-4.10.12$ df -i 
Filesystem  Inodes IUsed IFree IUse% Mounted on 
/dev/dm-0  16777216 469172 16308044 3%/
.. 
/dev/sda1   62248 307 61941 1% /boot 
[email protected]:/usr/src/linux-4.10.12$ ls -l /boot 
total 69528 
-rw-r--r-- 1 root root 1245512 Feb 13 06:43 abi-4.4.0-63-generic 
-rw-r--r-- 1 root root 203277 Apr 25 22:42 config-4.10.12 
-rw-r--r-- 1 root root 203277 Apr 25 22:32 config-4.10.12.old 
-rw-r--r-- 1 root root 190255 Feb 13 06:43 config-4.4.0-63-generic 
drwxr-xr-x 5 root root  1024 Apr 25 20:17 grub 
-rw-r--r-- 1 root root 35960364 Apr 25 17:46 initrd.img-4.4.0-63-generic 
drwx------ 2 root root 12288 Feb 15 16:18 lost+found 
-rw-r--r-- 1 root root 176500 Mar 12 2014 memtest86+.bin 
-rw-r--r-- 1 root root 178176 Mar 12 2014 memtest86+.elf 
-rw-r--r-- 1 root root 178680 Mar 12 2014 memtest86+_multiboot.bin 
-rw-r--r-- 1 root root 3662296 Apr 25 22:42 System.map-4.10.12 
-rw-r--r-- 1 root root 3662296 Apr 25 22:32 System.map-4.10.12.old 
-rw------- 1 root root 3897401 Feb 13 06:43 System.map-4.4.0-63-generic 
-rw-r--r-- 1 root root 7169312 Apr 25 22:42 vmlinuz-4.10.12 
-rw-r--r-- 1 root root 7169312 Apr 25 22:32 vmlinuz-4.10.12.old 
-rw------- 1 root root 6989520 Feb 13 06:43 vmlinuz-4.4.0-63-generic 

EDIT2 장착의 tmpfs : 그것은 여전히 ​​/ 부팅 파티션에 여유 공간이 문제가

[email protected]:/usr/src/linux-4.10.12$ sudo mount -t tmpfs none /boot 
[email protected]:/usr/src/linux-4.10.12$ sudo make install 
sh ./arch/x86/boot/install.sh 4.10.12 arch/x86/boot/bzImage \ 
      System.map "/boot" 
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.10.12   
/boot/vmlinuz-4.10.12 
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.10.12     
/boot/vmlinuz-4.10.12 
update-initramfs: Generating /boot/initrd.img-4.10.12 
W: Possible missing firmware /lib/firmware/ast_dp501_fw.bin for module ast 
run-parts: executing /etc/kernel/postinst.d/pm-utils 4.10.12 /boot/vmlinuz- 
4.10.12 
run-parts: executing /etc/kernel/postinst.d/update-notifier 4.10.12 
/boot/vmlinuz-4.10.12 
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.10.12 
/boot/vmlinuz-4.10.12 
[email protected]:/usr/src/linux-4.10.12$ df -h 
Filesystem  Size Used Avail Use% Mounted on 
/dev/dm-0  252G 43G 197G 18%/
... 
none    16G 310M 16G 2% /boot 
+1

SO는 프로그래밍 관련 질문 일뿐입니다. 수퍼 유저, 유닉스 & 리눅스 또는 주제에 관한 다른 적절한 사이트를 확인하십시오. –

+0

MangoOfFury,'ls -l/boot' 결과는 무엇입니까? 커널 구성에서 몇 개의 모듈을 사용할 수 있습니까? initramfs에 몇 개의 모듈이 설치되어 있습니까? https://askubuntu.com/questions/223248, https : // askubuntu를 확인하십시오.com/questions/497032 및 "Generating"+ "gzip : stdout : 장치에 남은 공간 없음"에 대한 다른 검색 결과 – osgx

+0

"df -i"및 "ls -l/boot"의 출력을 추가했습니다. 또한 사과드립니다. 나는 이것이 화제에서 벗어난 것을 알지 못했다. – MangoOfFury

답변

1

I checked to see if /boot was full, but it seemed like it wasn't:

/dev/sda1  236M 75M 149M 34% /boot 

run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.10.12 
/boot/vmlinuz-4.10.12 
update-initramfs: Generating /boot/initrd.img-4.10.12 
gzip: stdout: No space left on device 

편집 추가 코멘트는 명령을 요청했다. (gzip에 의해 작성된 임시 파일이 있었는데, 최대 149MB의 300MB가 있었지만, 모든 공간을 사용하고 부팅이 끝나면 gzip은 파일을 삭제하기 때문에 방금 보지 못했습니다.

임시 마운트를 시도 할 수 있습니다

mount -t tmpfs none /boot 

sudo make install를 다시 시작처럼/부트 파티션에 더 큰 무언가가 당신의 initramfs에 (300메가바이트)의 실제 크기를 찾을 수 있습니다.

/etc/kernel/postinst.d/initramfs-tools에서 어떤 매개 변수를 사용하여 update-initramfs을 시작하고 -v 옵션을 추가 할 수 있는지 찾아보십시오. https://superuser.com/questions/705121

  • 설치하는 경우에만 필요한 모듈 - 당신은 또한 make INSTALL_MOD_STRIP=1 modules_install 명령으로 설치하기 전에
  • 스트립 모듈을 다시 설정에서 일부 모듈을 비활성화하고 더 큰/부팅
  • 에 디스크 포맷

    • 을 시도 할 수 있습니다 initramfs에
  • +0

    을 추가하고 그 결과를 게시물에 추가했습니다. 나는 여기에 무엇을 보는지 모르겠다. "none 16G 310M 16G 2 %/boot" – MangoOfFury

    +0

    @MangoOfFury, tmpfs에 설치하면 오류가 발생하지 않는다. (이것은 tmpfs가 FS의 일시적인 모방이기 때문에 분명히 부팅되지 않을 것이다. OS RAM에 있음). initramfs + 커널 이미지 크기는 310MB이고 커널 이미지 크기는 7MB이므로 initramfs는 ~ 300MB입니다. 실제'/ boot' **의 150 MB에 맞지 않습니다. 빌드하고 initramfs에 포함시킬 모듈의 목록을 재검토하십시오 (/ lib/modules/old_kernel 및/lib/modules/you_kernel에있는 모듈 목록을 비교하고 이전 커널 구성 및 구성에서'= M '으로 계산하십시오). 또는 더 큰/부팅으로 드라이브를 다시 포맷하십시오. 프로그래밍 문제가 아닙니다. – osgx

    +0

    Ok 고맙습니다. – MangoOfFury