I needed to regenerate initrd. Doing this:
update-initramfs -u -k all
threw up errors for a kernel I compiled and then deleted some time ago (because update-initramfs
could not find the /lib/modules
directory I had deleted of course).
I thought I had completely removed the kernel by deleting all its entries in /boot
and directory in /lib/modules
& running sudo update-grub
(as in this answer), but apparently there are traces of it somewhere that I should probably clean up.
I read this and dug around in /usr/share/initramfs-tools
but I couldn't figure it out.
In man update-initramfs
I see that:
The use of "all" for the version string specifies update-initramfs to execute the chosen action for all kernel versions, that are already known to update-initramfs.
But how does it know them? Where does update-initramfs
look for kernel versions?
Note: many months later... I added the answer to this question to the tag wiki for initramfs
I had the same problem as you, I also thought I had completely removed the kernel by deleting all its entries in
/boot
and directory in/lib/modules
& updating GRUB, but I found the one directory that is used byupdate-initramfs
to keep track of the kernels: