2021-10-11 MODULES=DEP; A REMEDY FOR UPDATE-INITRAMFS' "NO
SPACE LEFT ON DEVICE"
The fix? Add MODULES=dep to /etc/initramfs-tools/conf.d/modules,
followed up by update-initramfs.
My most recent Debian install created a /boot partition of 237 M.
Starting with Debian's linux-image-5.10.0-4-amd, somewhere in March this
year, update-initramfs began reporting problems installing a new kernel
next to the current one.
Errors look like this:
,----
| Setting up grub-efi-amd64 (2.04-16) ...
| Installing for x86_64-efi platform.
| grub-install: error: cannot copy `/usr/share/locale/ast/LC_MESSAGES/grub.mo' to
| | /boot/grub/locale/ast.mo': No space left on device.
| Failed: grub-install --target=x86_64-efi
| WARNING: Bootloader is not properly installed, system may not be bootable
`----
or this
,----
| processing triggers for initramfs-tools (0.139) ...
| update-initramfs: Generating /boot/initrd.img-5.10.0-4-amd64
| cat: write error: No space left on device
| update-initramfs: failed for /boot/initrd.img-5.10.0-4-amd64 with 1.
| ESC[1mdpkg:ESC[0m error processing package initramfs-tools (--configure):
| installed initramfs-tools package post-installation script subprocess returned error exit status 1
| Errors were encountered while processing:
| initramfs-tools
`----
or this:
,----
| update-initramfs: Generating /boot/initrd.img-5.14.0-1-amd64
|
| gzip: stdout: No space left on device
| E: mkinitramfs failure gzip 1
| update-initramfs: failed for /boot/initrd.img-5.14.0-1-amd64 with 1.
| run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
`----
The fix - conveniently mentioned at very top of this post - I found
(with encouragement of the Dutch Debian mailing list) in [Debian Bug
report logs - #929424: initramfs-tools: update-initramfs should not
store temporary files on /boot], which I found after reading [Debian Bug
report logs - #972396: initramfs-tools: Installation fails (no space
left on device)].
As root, create a file entitled modules in
/etc/initramfs-tools/conf.d/modules with just this one line:
,----
| MODULES=dep
`----
And then redo, as root,
,----
| update-initramfs -u
`----
or
,----
| update-initramfs -k all -u
`----
The result (with currently just a single kernel installed):
================================================================
Filesystem Size Used Avail Use% Mounted on
----------------------------------------------------------------
*before* /dev/nvme0n1p2 237M 101M 124M 45% /boot
*after* /dev/nvme0n1p2 237M 42M 183M 19% /boot
----------------------------------------------------------------
And that should leave you with enough space for a second kernel.
Debian Bug report logs - #929424: initramfs-tools: update-initramfs
should not store temporary files on /boot [1]:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=929424
Debian Bug report logs - #972396: initramfs-tools: Installation fails
(no space left on device)[2]:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=972396