From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20021003 Description of problem: I know module-init-tools wont be supported for a long while, but this trivial fix should make lives easier for 2.5.x testers while allowing 2.4.x kernel installation to continue to work properly. module-init-tools for kernel 2.5.48+ replaces /sbin/insmod-static with its own version, moving the old modutils version to /sbin/insmod-static.old. This creates a problem for mkinitrd and 2.4.x kernels because the new insmod-static is copied instead of the old. You see this error message during bootup if you have the new insmod-static with 2.4.x kernels: Kernel requires old insmod, but couldn't run /bin/insmod.old: No such file or directory ERROR: /bin/insmod exited The following trivial patch to /sbin/mkinitrd fixes this problem by also copying insmod-static.old if needed. --- mkinitrd.orig 2002-12-19 20:15:36.000000000 -1000 +++ mkinitrd 2002-12-19 20:37:28.000000000 -1000 @@ -508,6 +508,10 @@ inst /sbin/nash "$MNTIMAGE/bin/nash" inst /sbin/insmod.static "$MNTIMAGE/bin/insmod" +if [ -a /sbin/insmod.static.old ]; then + # In case of module-init-tools hybrid install + inst /sbin/insmod.static.old "$MNTIMAGE/bin/insmod.old" +fi ln -s /sbin/nash $MNTIMAGE/sbin/modprobe for MODULE in $MODULES; do
That's *gross* There should be one insmod binary to handle both kernel types.
I certainly agree this is ugly, but Rusty wrote this and Linus accepted it. =( In any case, I highly recommend this patch because installation of 2.4.x kernels is broken if people install module-init-tools.
Get rusty to call in insmod-static-2.4 and we'll support that. .old is just too gross.
As to # 80119 -- I've re-opened -- If I understand the objections, it is to name of the binary, and cruftyness of the patch let's just change its name in Warren's first diff: inst /sbin/insmod.static.old "$MNTIMAGE/bin/insmod-static-2.4" not wait for Rusty, and make it work right in the meantime without the cryptic error message.
In any case I contacted Rusty. Hopefully he will agree that "-2.4" is a better name than ".old" in the long run.
I don't want to do this differently for just Red Hat -- let us know Rusty's answer. There needs to be a proper way to boot both 2.4 and 2.6 kernels on the same machine, and insmod-static.old just isn't it.