我当前的Ubuntu是16.04.1 LTS
,我用它来构建最新的linux 4.7
内核。所有的构建过程都很顺利,除了在安装时,它会提示以下错误:
# 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
我发现主机上没有空间,所以我使用"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
目录已满,但我不知道这是否是根本原因。有人能就这个问题提供一些线索吗?
正如您在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分区,这在大多数情况下都很复杂,我看到您在//strong>分区中配置了lvm。您可以尝试使用knoppix启动机器,并调整分区大小,为/boot分区留出一些额外空间。但是你必须避免用lvm添加这个空间,因为我认为你的安装在启动过程中不支持lvm。
最好的选择应该是尝试调整整个lvm分区的大小,并给/boot额外的空间。