2009-03-19 20:16:17

by maximilian attems

[permalink] [raw]
Subject: linux-2.6 install errors due to incompatible depmod files [was Re: Bug#518412: initramfs-tools: must support relative paths in modules.dep ]


[ adding jcm and lkml to Cc: ]



On Thu, Mar 19, 2009 at 07:40:46PM +0100, Frans Pop wrote:
>
> Hmmm. I wonder if it is the old m-i-t's modprobe that is the problem when
> you do:
> modprobe --set-version=2.6.26.3 --ignore-install --show-depends <module>
>
> Looks like that's it:
> # modprobe -V
> module-init-tools version 3.4
> # modprobe --set-version=2.6.26.3 --ignore-install --show-depends nfs
> WARNING: Could not open 'kernel/net/sunrpc/sunrpc.ko': No such file or
> directory
> WARNING: Could not open 'kernel/fs/nfs_common/nfs_acl.ko': No such file or
> directory
> WARNING: Could not open 'kernel/fs/lockd/lockd.ko': No such file or
> directory
> FATAL: Could not open 'kernel/fs/nfs/nfs.ko': No such file or directory
>
> # modprobe -V
> module-init-tools version 3.7-pre9
> # modprobe --set-version=2.6.26.3 --ignore-install --show-depends nfs
> WARNING: All config files need .conf: /etc/modprobe.d/pnp-hotplug, it will
> be ignored in a future release.
> WARNING: All config files need .conf: /etc/modprobe.d/display_class, it
> will be ignored in a future release.
> WARNING: All config files need .conf: /etc/modprobe.d/blacklist, it will
> be ignored in a future release.
> insmod /lib/modules/2.6.26.3/kernel/net/sunrpc/sunrpc.ko
> insmod /lib/modules/2.6.26.3/kernel/fs/nfs_common/nfs_acl.ko
> insmod /lib/modules/2.6.26.3/kernel/fs/lockd/lockd.ko
> insmod /lib/modules/2.6.26.3/kernel/fs/nfs/nfs.ko
>
> That would mean that m-i-t has created a backwards incompatibility problem
> _with itself_ and that the problem actually is "installing a kernel, that
> was built on a system with new m-i-t, on a system with old m-i-t".
> Or, installing a kernel, built on a system running unstable or testing, on
> a system running oldstable or stable. That sucks.

argh indeed.

arguably it is also a bug by initramfs-tools to suppress the error of above
modprobe calls see manual_add_modules() in hook-functions:
for mam_x in $(modprobe --set-version="${version}" --ignore-install \
--show-depends "${1}" 2>/dev/null | awk '/^insmod/ { print $2 }'); do


git history tells that jbailey added it from the start on,
so it must have been because modprobe was/is too chatty.
suse mkinitrd seems also only to have lost that suppression lately.



thanks for finding out fjp.

kind regards

--
maks


2009-03-19 20:32:32

by Jon Masters

[permalink] [raw]
Subject: Re: linux-2.6 install errors due to incompatible depmod files [was Re: Bug#518412: initramfs-tools: must support relative paths in modules.dep ]

On Thu, 2009-03-19 at 21:13 +0100, maximilian attems wrote:
> [ adding jcm and lkml to Cc: ]

[ You want [email protected] rather than LKML. I've added
the former to the CC list, we can kill LKML off the CC shortly. ]

> > That would mean that m-i-t has created a backwards incompatibility problem
> > _with itself_ and that the problem actually is "installing a kernel, that
> > was built on a system with new m-i-t, on a system with old m-i-t".

Looks like the problem is actually that depmod was run under the newer
version and then you tried to use the generated files with an older
modprobe. I'm not sure that's actually an error - it was noted that the
slight format change was unideal for such unlikely cases and in fact we
won't do that again in the future. But if you were just moving forwards
from one release to the next you would have been fine - you're talking
lack of forward compatibility actually.

Unless I'm missing something, in which case please clarify. I would like
it also if you'd send me the generated files, distro info, etc.

Jon.