bcache volume is used for root filesystem. The /dev/bcache0 needs to be available to kernel before udev rules can execute. Init in initramfs needs to cater for registering bcache devices to bcache fs. the only possible solution now is to do 'echo /dev/sd* > /sys/fs/bcache/register_quiet' directly referencing every partition on the system. a more general approach is not possible. Blkid from util-linux can identify bcache devices: 2349-pb8edcn ~ # blkid -t TYPE="bcache" /dev/sdb: UUID="71c866c8-12e2-4396-a949-fce2e1dc0b38" TYPE="bcache" /dev/sda9: UUID="f270810a-9837-469f-b05d-fa3bbe41157f" TYPE="bcache" PARTUUID="335bc84b-7879-43bc-a749-cb8b8fe4f0b4" busybox blkid can't: 2349-pb8edcn ~ # busybox blkid -t TYPE="bcache" 2349-pb8edcn ~ # once busybox can do it, init in initramfs can do to register all bcache devices: for i in $(blkid -t type="bcache" -o device) do echo $i > /sys/fs/bcache/register_quiet; done; That will make bcache much easier to intergate into genkernel or dracut.
it'll be in the next major busybox release https://git.busybox.org/busybox/commit/?id=e0942acb9e186cbfc16afe704e10a8af9cd1cc58