I converted a physical maschine running CentOS 4.6 to a Xen VM on a CentOS 5 host. Almost everything was running when I decided to rsync /lib and /usr a while later in order to get updated files and get the one or two non-working programs to work. There are differences because of the xenU kernel I didn't think about. I forgot to exclude rpm database and /lib/modules. Because the synced rpm database doesn't include the xenU kernel anymore I installed the latest one again. I got this warning:
WARNING: No module ata_piix found for kernel 2.6.9-67.0.22.ELxenU, continuing anyway
Looking around I don't have this module for the old kernel (2.6.9-67) either. But it's referenced in modprobe.conf. Nevertheless, I could boot the VM. A locate shows this module in all non-xenU kernels under /lib/modules, sometimes in a scsi, sometimes in an ata subdirectory. I still have a backup of the old setup before the sync and this doesn't contain ata_piix in /lib/modules/2.6.9-67.ELxenU/kernel/drivers/scsi either. And no ata directory.
So, I'm a bit puzzled now. Do I need that module to boot a Xen VM? If not, why is it modprobed? And why do I get this warning from the xenU kernel?
Kai
Kai Schaetzl wrote on Fri, 01 Aug 2008 16:29:46 +0200:
Quation
Question
Kai
Kai Schaetzl wrote:
I converted a physical maschine running CentOS 4.6 to a Xen VM on a CentOS 5 host. Almost everything was running when I decided to rsync /lib and /usr a while later in order to get updated files and get the one or two non-working programs to work. There are differences because of the xenU kernel I didn't think about. I forgot to exclude rpm database and /lib/modules. Because the synced rpm database doesn't include the xenU kernel anymore I installed the latest one again. I got this warning:
WARNING: No module ata_piix found for kernel 2.6.9-67.0.22.ELxenU, continuing anyway
Looking around I don't have this module for the old kernel (2.6.9-67) either. But it's referenced in modprobe.conf. Nevertheless, I could boot the VM. A locate shows this module in all non-xenU kernels under /lib/modules, sometimes in a scsi, sometimes in an ata subdirectory. I still have a backup of the old setup before the sync and this doesn't contain ata_piix in /lib/modules/2.6.9-67.ELxenU/kernel/drivers/scsi either. And no ata directory.
So, I'm a bit puzzled now. Do I need that module to boot a Xen VM? If not, why is it modprobed? And why do I get this warning from the xenU kernel?
maybe that modules.conf file came from a normal machine and not the xen machine.
Johnny Hughes wrote on Fri, 01 Aug 2008 09:45:43 -0500:
maybe that modules.conf file came from a normal machine and not the xen machine.
No, but it's not the problem anyway, I didn't think about the initrd at first. I used the last CentOS 4 image that jailtime.org distributed (CentoS 4.5) as base for this VM. Then copied over almost all stuff from the physical machine while having an eye on the wiki article (http://wiki.centos.org/HowTos/Xen/MoveNative2DomU) and making a very few modifications. The VM is now working well, but I can't upgrade the kernel. I'm stuck with 2.6.9-67.ELxenU which probably is the kernel from the Jailtime image (and uses a custom initrd that came with it I suppose, I don't remember creating one back then, but maybe I did). If I attempt to make a new initrd it barks about the missing ata_piix module which indeed was not installed with that kernel. How can I get this module? Can I just copy it over from 2.6.9-67.0.22.EL to the 2.6.9-67.0.15.ELxenU tree and then build my new initrd?
Kai
Kai Schaetzl wrote on Fri, 01 Aug 2008 18:34:49 +0200:
Can I just copy it over from 2.6.9-67.0.22.EL to the 2.6.9-67.0.15.ELxenU tree and then build my new initrd?
Answering myself: yes, I can. It's running with the nww kernel now. There's only a warning about non-matching symbols during boot, no problems: ata_piix: disagrees about version of symbol struct_module I assume this is harmless as long as I don't want to debug? Or is there a way to get rid of that as well?
Kai
Kai Schaetzl wrote on Fri, 01 Aug 2008 16:29:46 +0200:
Looking around I don't have this module for the old kernel (2.6.9-67) either.
It's obviously in the initrd. But how do I create a new one if there is no ata_piix module coming with the kernel? Can I install the corresponding normal kernel and mkinitrd will use this?
Kai