Cannot detect nvme drive with newer kernels

My Netrunner 17 system cannot seem to use newer (4.4+) kernels due to my NVMe drive. I have an XPS 13 9350 with a Skylake processor and NVMe primary drive. Using the Ubuntu kernel-ppa I can use a prebuilt 4.3 kernel without issue. As far as I can tell this is because newer kernels have moved the nvme module out of the kernel and into a module. Normally this wouldn’t be a problem, but when using any 4.4 kernel even if I add both “i915” and “nvme” to my /etc/initramfs-tools/modules file it still fails to boot. When booting 4.3 an lsmod command reveals that it IS properly loading nvme.

Am I not correctly understanding how to perform the kernel upgrade? Is there an alternate method short of building my own from scratch that I should be using? This seems like an upstream issue but I’m not 100% sure and wanted to ask for assistance here first since I’m using Netrunner and not Ubuntu directly. I apologize if this is the wrong way to ask for assistance on this problem, I searched the forum and did not see any related threads on this issue.

This is worrying me since it means I can’t use more recent kernels on Netrunner 17 and I’m afraid that when Netrunner 18 comes out I won’t be able to upgrade safely. Thank you for your assistance.

I’ve tried a number of other kernels from the Ubuntu PPA, still no luck.

I would suggest staying on the working kernel for now.
I simply suppose besides nvme you need another module (maybe something like nvme-foobar) to load aswell for it to work.
I will take a look into it.

Thanks very much for having a look into it, I greatly appreciate it. The 4.4+ kernels have some pretty important fixes for Skylake support so I’ve been hoping to get onto it as soon as I can.

Found this so far. I know that the location of the driver itself changed. So when putting it into initrd the hook scripts should copy it from the new location. I will check if that is the case.