When using elrepo and installing the kernel-ml package, you may find your system will not boot.  The console will display "module scsi_wait_scan not found"


This problem is documented in kernel.org's buzilla: https://bugzilla.kernel.org/show_bug.cgi?id=60758


When installing a new kernel on CentOS, a program called "dracut" is used to create the initramfs, which among other things must contain the kernel module required to access your server's disk. 


What's happening is that with newer kernels, at time of writing the dracut program is not detecting that KVM's virtual disk driver "virtio_blk" is required to access the KVM virtual disk, and so when installing the kernel is leaving that module out of the initramfs. However, the system cannot boot without the disk driver, resulting in an unbootable system.


You can work around it by booting into your working stock kernel and running these two commands:

 

yum install -y device-mapper-libs libudev
for X in $(cd /boot ; ls -1 config-*elrepo* | sed 's/config-//' ) ; do dracut --add-drivers virtio_blk -f /boot/initramfs-$X.img $X ; done