Description of problem: I installed an ssd as a caching device. root file system is on the cache backend. I installed bcache-tools and built a new initramfs. It fails to boot, because the root filesystem is not found. I found that the file /usr/lib/udev/rules.d/69-bcache.rules is not present during boot phase. But lsinitrd shows it's present in the initramfs... I reinstalled bcache-tools, rebuilt initarfms a lot... Version-Release number of selected component (if applicable): Latest release of Fedora 23 (all components up to date). How reproducible: Happens systematically. Actual results: Booting stops with dracut prompt Loading module bcache, registering devices and activating lvm, everything goes fine after theis manual process. Additional info: Becoming crazy Thanks,
bcache-tools provides the bcache support for dracut. Reassigning.
If lsinitrd shows it's there, and it's not in the actual initrd I strongly suspect that not the right initrd is used. Maybe dracut is run while /boot is not proper mounted? Consider using dracut specifying a manual fabricated initramfs name (like adding a ".manual" extension". The during boot from the grub menu modify the requested boot entry so the fabricated initramfs name is used. Now boot, and see if grub actually finds the initramfs.
Shame on me !!! To install the cache, I copied (using dd) logical volumes from one volume group to another. I had two copies of the filesystem with the same uuid. It was the old one, without bcache, that provided initramfs. Thanks Rolf, for providing the clue§