On Thu, Jul 21, 2016 at 08:04:05PM +0800, Chen Hanxiao wrote:
Thanks for your hint.
I think we got the key:
on the machine fail:
we lack of lines like:
kernel/drivers/char/hw_random/amd-rng.ko:
kernel/drivers/char/hw_random/via-rng.ko:
kernel/drivers/char/hw_random/virtio-rng.ko: kernel/drivers/virtio/virtio_ring.ko
kernel/drivers/virtio/virtio.ko
kernel/drivers/char/hw_random/tpm-rng.ko:
kernel/drivers/char/tpm/tpm_nsc.ko:
kernel/drivers/char/tpm/tpm_atmel.ko:
kernel/drivers/char/tpm/tpm_infineon.ko:
kernel/drivers/char/virtio_console.ko: kernel/drivers/virtio/virtio_ring.ko
kernel/drivers/virtio/virtio.ko
...
which existed on the machine works fine.
It works fine now.
But why we make initrd only depends on modules.dep?
modules.dep is used to work out the module dependencies, so we know
which minimal set of modules should be copied into the initrd:
https://github.com/libguestfs/supermin/blob/master/src/ext2_initrd.ml#L68...
If you copy too many modules into the initrd, then it will be huge and
boot times will be very slow, so knowing the exact set of modules
which are required is important.
Of course if modules.dep is broken then that won't work.
Do you understand who broke the file and/or why it was broken?
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
virt-p2v converts physical machines to virtual machines. Boot with a
live CD or over the network (PXE) and turn machines into KVM guests.
http://libguestfs.org/virt-v2v