Arch Linux

Please read this before reporting a bug:

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!

FS#47761 - [mkinitcpio] nvme module changed location in 4.4 kernel

Attached to Project: Arch Linux
Opened by Iven Hsu (ivenvd) - Friday, 15 January 2016, 06:23 GMT
Last edited by Evangelos Foutras (foutrelis) - Wednesday, 20 January 2016, 07:59 GMT
Task Type Bug Report
Category Packages: Testing
Status Closed
Assigned To Thomas Bächler (brain0)
Dave Reisner (falconindy)
Architecture All
Severity Critical
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 3
Private No



I'm using Dell XPS 15 9550, and I get a "cannot find root device" error on boot, with a rescue shell. In the rescue shell, my hard disk device is not recognized(missing /dev/nvme0n1, /dev/disk), /new_root is not mounted.

However, after adding `nvme` module to mkinitcpio.conf MODULES line, I can make it boot successfully. I think it should be a bug with the kernel or mkinitcpio scripts.

Additional info:
* linux 4.4-1

Steps to reproduce:
* Install linux 4.4-1
* reboot
This task depends upon

Closed by  Evangelos Foutras (foutrelis)
Wednesday, 20 January 2016, 07:59 GMT
Reason for closing:  Fixed
Additional comments about closing:  mkinitcpio 19-1
Comment by Tobias Powalowski (tpowa) - Friday, 15 January 2016, 07:18 GMT
location changed to:
This is an mkinitcpio bug.
Comment by Ishbir Singh (Ishbir) - Friday, 15 January 2016, 09:04 GMT
Can confirm. Same laptop, same error. Did not try the above fix but instead downgraded to 4.3.3. Oh and still persists on 4.4-2.
Comment by Evangelos Foutras (foutrelis) - Tuesday, 19 January 2016, 08:43 GMT
Please test if the attached install hook copied to "/usr/lib/initcpio/install/block" fixes the issue.

Make sure you run 'mkinitcpio -P' after installing the above hook and upgrading to Linux 4.4 again; you can also use 'mkinitcpio -M' to check if the module is autodetected or not.
   block (1.2 KiB)
Comment by Ishbir Singh (Ishbir) - Tuesday, 19 January 2016, 15:13 GMT
Fixes it for me. I first added nvme to MODULES just to be safe, booted into 4.4, ran mkinitcpio -M after removing it from MODULES and saw it listed. So I proceeded to run mkinitcpio -P and rebooted. Worked.