By default, initramfs-tools includes various classes of driver modules in the initramfs based on the directory they are installed in. In particular, most block drivers that don't belong to another subsystem such as SCSI are installed in /lib/modules/<kversion>/kernel/drivers/block. That installation directory is derived from the subdirectory in the Linux source tree that contains the driver source.
Unfortunately the nvme driver moved from drivers/block to drivers/nvme in Linux 4.4, and initramfs-tools only knows about this since v0.121. So long as you install the kernel and initramfs-tools from the same suite, everything is fine, but if you use jessie and install a newer kernel from jessie-backports or build your own custom kernel, nvme will be missing. The obvious approach of adding initramfs-tools to jessie-backports won't work, as the current version requires upgrading busybox, e2fsprogs, klibc and (for those that still use it) sysvinit. The fix is a one-liner and works for old and new kernels. Does this seem suitable for inclusion in the next jessie point release? Ben. -- Ben Hutchings Make three consecutive correct guesses and you will be considered an expert.
signature.asc
Description: This is a digitally signed message part