User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:126.96.36.199) Gecko/20110103 Fedora/3.6.13-1.fc14 Firefox/3.6.13
I created a KVM instance with a VirtIO disk and installed the "live" image to the disk. Afterwords, I cannot boot from the VirtIO disk and get "no root device" found errors. The problem is due to the fact that the virtio_blk and virtio_pci kernel modules are not in the initramfs.
Steps to Reproduce:
1. Boot from LiveCD ISO in a KVM instance
2. Partition /dev/vda and install to /dev/vda1
On reboot it fails with "no root device found"
I traced the problem to the dracut.conf file that is being written during the compose process of image-creator. In particular, live.py has a limited set of modules it writes to this config. "virtio_blk" and "virtio_pci" need to be added to the self.__modules list in live.py which comes from the imgcreate python package..
I just did a kvm install with a single virtio disk and it worked fine. I don't think the drivers are an issue. The "no root device found" is a kernel error I believe, meaning it couldn't find the root device specified by grub.
Note: I used the F14 x86_64 live cd and did an autopartition using all space.
Do you only have 1 virtio disk? With more than 1 it can sometimes be hard to figure out which one gets the mbr written to it.
Ah.. I should have been more specific. I did not use the live installer as most people would. I basically used livecd-iso-to-disk to install. Similar to what would be done for installing on a USB stick. So it's not using grub, it's using extlinux (syslinux) for the bootloader.
I know this isn't the typical case, but it is how we're distributing our custom distro. There's a long explanation as to why.. But to make a long story short, in our scenario it's much easier on the end user.
We were previously doing this with a F12 based distro and it worked just fine because image-creator wasn't creating dracut.conf.
Thanks for the quick response..
Could you post the exact commands you used for the install?
Sure thing.. I guess I should have done this to begin with..
So.. Firstly, obviously, I created a new VM with all of the defaults using the local F14 Live ISO as the install media. Login.. Start terminal.. And su to root. Then here are the commands to reproduce:
1 parted --script /dev/vda "mklabel msdos"
2 parted --script /dev/vda "mkpart primary ext2 1 4000"
3 parted --script /dev/vda "set 1 boot on"
4 mkfs.ext3 /dev/vda1
5 yum install livecd-tools
6 livecd-iso-to-disk /dev/sr0 /dev/vda1
Reboot and see it fail..
Let me know if you need anything else..
FYI, I initially confirmed that the drivers weren't there by adding "rdbreak" to my kernel command line, cd into /var/lib/modules/*/kernel/drivers, ls */*virt*
After adding the above modules to self.__modules list in live.py as noted above, rebuilding livecd-tools, and composing my own livecd, it boots a-okay as the drivers are there for it to be able to pick up /dev/vda.
livecd-tools-15.5-1.fc15 has been submitted as an update for Fedora 15.
livecd-tools-14.2-1.fc14 has been submitted as an update for Fedora 14.
livecd-tools-15.5-1.fc15 has been pushed to the Fedora 15 testing repository. If problems still persist, please make note of it in this bug report.
If you want to test the update, you can install it with
su -c 'yum --enablerepo=updates-testing update livecd-tools'. You can provide feedback for this update here: https://admin.fedoraproject.org/updates/livecd-tools-15.5-1.fc15
livecd-tools-14.2-1.fc14 has been pushed to the Fedora 14 stable repository. If problems still persist, please make note of it in this bug report.
livecd-tools-15.5-1.fc15 has been pushed to the Fedora 15 stable repository. If problems still persist, please make note of it in this bug report.