2016-07-25 21 views
0

我目前的Ubuntu是16.04.1 LTS,我用它来构建最新的linux 4.7内核。所有的构建过程是平滑的,安装时除外,它会提示以下错误:安装Linux内核生成“gzip:stdout:设备上没有空间”错误

# make modules_install install 
...... 
    DEPMOD 4.7.0 
sh ./arch/x86/boot/install.sh 4.7.0 arch/x86/boot/bzImage \ 
     System.map "/boot" 
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.7.0 /boot/vmlinuz-4.7.0 
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.7.0 /boot/vmlinuz-4.7.0 
update-initramfs: Generating /boot/initrd.img-4.7.0 
W: mdadm: /etc/mdadm/mdadm.conf defines no arrays. 

gzip: stdout: No space left on device 
E: mkinitramfs failure cpio 141 gzip 1 
update-initramfs: failed for /boot/initrd.img-4.7.0 with 1. 
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1 
arch/x86/boot/Makefile:191: recipe for target 'install' failed 
make[2]: *** [install] Error 1 
arch/x86/Makefile:261: recipe for target 'install' failed 
make[1]: *** [install] Error 2 
Makefile:523: recipe for target '__build_one_by_one' failed 
make: *** [__build_one_by_one] Error 2 

我dobut有我的主机上没有空间,所以我用“df -h”命令检查:

# df -h 
Filesystem     Size Used Avail Use% Mounted on 
udev       1.9G  0 1.9G 0% /dev 
tmpfs      390M 11M 379M 3% /run 
/dev/mapper/ubuntu--vg-root 454G 25G 407G 6%/
tmpfs      2.0G  0 2.0G 0% /dev/shm 
tmpfs      5.0M  0 5.0M 0% /run/lock 
tmpfs      2.0G  0 2.0G 0% /sys/fs/cgroup 
/dev/sda2     473M 179M 270M 40% /boot 
/dev/sda1     511M 3.5M 508M 1% /boot/efi 
tmpfs      100K  0 100K 0% /run/lxcfs/controllers 
tmpfs      390M  0 390M 0% /run/user/0 

看来只有/dev目录已满,但不知是否是根本原因。任何人都可以在这个问题上提供一些线索吗?

回答

0

正如哟可以在DF的执行有留在你的的/ boot分区只有少数兆看到。

你可以做的第一件事是检查是否有你不再使用老版本的内核:

# uname -r 
4.6.0-1-amd64 
# dpkg -l linux-image* 
Deseado=desconocido(U)/Instalar/eliminaR/Purgar/retener(H) 
| Estado=No/Inst/ficheros-Conf/desempaqUetado/medio-conF/medio-inst(H)/espera-disparo(W)/pendienTe-disparo 
|/ Err?=(ninguno)/requiere-Reinst (Estado,Err: mayúsc.=malo) 
||/ Nombre         Versión     Arquitectura    Descripción 
+++-=========================================-=========================-=========================-======================================================================================= 
un linux-image        <ninguna>     <ninguna>     (no hay ninguna descripción disponible) 
ii linux-image-4.5.0-2-amd64     4.5.5-1     amd64      Linux 4.5 for 64-bit PCs 
ii linux-image-4.6.0-1-amd64     4.6.4-1     amd64      Linux 4.6 for 64-bit PCs 
ii linux-image-amd64       4.6+74     amd64      Linux for 64-bit PCs (meta-package) 

正如你可以在我的例子中看到的,我有当前的内核和以前的一个安装。这是我通常的行为,但在ubuntu中,在某些配置中,也许你安装了两个以上的内核。

您可以安全地移除在这两个旁边安装的任何其他内核,因为您已经测试了当前的内核以及之前的内核。

如果这不是你可以尝试扩大你的的/ boot分区的情况下,这是在大多数情况下复杂,我看到你有LVM/分区配置。您可以尝试使用knoppix来启动您的机器,并调整分区大小以为分区提供一些额外的空间给您的/boot分区。但是你必须避免在lvm中添加这个空间,因为我认为你的安装在启动过程中不支持lvm。

最好的选择应该尝试调整整个lvm分区的大小,并给予额外的空间/boot