Fedora 22 upgrade - Kernel Panic - not syncing: VFS Unable to mount root FS on unknown-block(0 0)
After upgrading from Fedora 21 to Fedora 22 I experienced a kernel panic on booting into the new, 4.0.2 kernel with the message given in the title "VFS Unable to mount root FS on unknown-block(0,0)".
Long story short - looking into /boot there was the vmlinuz kernel, vmlinuz-4.0.2-300.fc22.x86_64, but no corresponding initramfs-4.0.2-300.fc22.x86_64.img file. Also in the grub.cfg stanza there was a missing reference to the .img file i.e.
initrd16 /initramfs-4.0.2-300.fc22.x86_64.img
was missing.
Again, in the interest of brevity, I ran dracut manually on the 4.0.2 kernel and it errored - complaining about "no module bootchart found".
(Bootchart is a package I had installed previously that attempts to measure or profile time spent during booting - I'm assuming that F22 dracut does not have the needed support.)
Fortunately Dracut has an option to ignore arbitrary modules e.g. bootchart with the parameter -o.
So the fix was ultimately to do something like:
#dracut --force --regenerate-all -o bootchart
#grub2-mkconfig --output=/boot/grub2/grub.cfg
and then later when I could boot into the new kernel
#dnf remove bootchart-daemon
There was a bit more trial and error then I have described here with some false starts but my conclusion is that {Fedora22/4.0.x} Dracut does not support "bootchart". As a conseqeuence the initramfs was not built during the upgrade. Regenerating the initramfs using the -o bootchart option allowed me to correct this issue.
Comments