** Description changed: - [Impact] - The initramfs-tools hook-functions script cannot translate nvmeXnYpZ to nvmeXnY block device, so it's failing and not building the initram disk. + [Impact] - Upstream solution is composed for at least 2 patches (it's a series, but + When creating the initramfs image, mkinitramfs has multiple options on + how to include modules. The default (and most common) one is the + "MODULES=most", which includes the majority of filesystem modules and + all the block device drivers. One other option is "MODULES=dep", which + tries to descend in the sysfs hierarchy and guess modules to add, with + the goal of reduce the size of initramfs. + + For the MODULES=dep case, the initramfs-tools hook-functions script + cannot translate nvmeXnYpZ to nvmeXnY block device, so it's failing in + the sysfs lookup, so it does not build the initram disk. + + Upstream solution is composed of at least 2 patches (it's a series, but the 2 below are really the needed ones): commit 3cb744c9 Author: Ben Hutchings <b...@decadent.org.uk> hook-functions: Rewrite block device sysfs lookup to be generic commit 8ac52dc0 Author: Ben Hutchings <b...@decadent.org.uk> hook-functions: Include modules for all components of a multi-disk device - Instead of doing the backport, which is huge, we added another sed substitution: currently the script has substitutions for sdX and hdX, in order to convert sda1 to sda, for example. The new substitution converts nvmeXnYpZ to nvmeXnY. - It's less intrusive than the full backport, since this is a SRU to Trusty only. + Instead of doing the huge backport, we added another sed substitution: currently the script has substitutions for sdX and hdX, in order to convert sda1 to sda, for example. The new substitution converts nvmeXnYpZ to nvmeXnY. + It's less intrusive than the full backport, since this is a minimal SRU to Trusty only. [Test Case] - To be added. + 1. Install Trusty with rootfs in a multi-disk(md) array composed of two nvme partitions - in my tests, I've used a RAID1. + + (lsblk output of my test env: + + nvme0n1 259:0 0 10G 0 disk + └─nvme0n1p1 259:1 0 10G 0 part + └─md0 9:0 0 10G 0 raid1 / + nvme1n1 259:2 0 10G 0 disk + └─nvme1n1p1 259:3 0 10G 0 part + └─md0 9:0 0 10G 0 raid1 / + ) - [Regression Potential] - If the sed expression was somewhat broken, we could have an issue generating initiramfs for generic block devices, like regular HDDs. + 2. Once system is booted, modify the "/etc/initramfs-tools/initramfs.conf", replacing "MODULES=most" to "MODULES=dep". + + 3. Update your initramfs by running something like: + "update-initramfs -u -k <your kernel version>" + + The initramfs creating procedure will fail, unless the patch from this + LP is present. + + + [Regression Potential] + If the sed expression was somewhat broken, we could have an issue generating initiramfs when MODULES is set to "dep", even for generic block devices (like regular HDDs). [Other Info] This issue is based on Debian bug #785147: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=785147
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1771557 Title: NVMe boot drives not supported - failing in generating initramfs To manage notifications about this bug go to: https://bugs.launchpad.net/initramfs-tools/+bug/1771557/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs