At the moment mkinitrd goes through a big hoo-hah where it tries to determine what precise set of kernel modules are needed to mount the root filesystem, and no more. But I don't understand why we don't just put every possible block device driver / LVM / crypto module / etc. into the initrd. The ramdisk is discarded as soon as the root filesystem is mounted, so at most we're saving a few kilobytes of disk space. At the same time, mkinitrd is massively more complicated than it really needs to be, and initrd images are non-portable between machines[*]. The particular problem I am encountering is with P2V and V2V conversions. Because typically virtio-blk drivers aren't included, we have to take extra steps to run 'mkinitrd --with virtio_pci --with virtio_blk'. Doing this from a script is not just massively complicated (we have to run it within the context of a guest filesystem probably located inside a raw disk image), but completely unnecessary if initrd just included all the drivers in the first place. Thoughts? Rich. [*] They would still hard-code the root and swap partition names, but I think it should be possible to get rid of those too and make initrd images really portable. -- Richard Jones, Emerging Technologies, Red Hat http://et.redhat.com/~rjones virt-p2v converts physical machines to virtual machines. Boot with a live CD or over the network (PXE) and turn machines into Xen guests. http://et.redhat.com/~rjones/virt-p2v -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list