Re: compiling 2.4.0-test10 kernel

From: Keith Owens (kaos@ocs.com.au)
Date: Fri Nov 10 2000 - 12:23:35 EST


On Fri, 10 Nov 2000 11:23:29 -0500 (EST),
"Georg Nikodym" <georgn@somanetworks.com> wrote:
> C> i've manged to successfully compile 2.4.0-test10 kernel. however,
> C> upon startup there are some failed/error messages:
> C> 1. finding module dependencies: depmod *** Unresolved symbols in
> C> /lib/modules/2.4.0-test10/kernel/arch/i386/kernel/apm.o
>
>There are two things you can do about this:
>
> 1. Disable module versioning.
> 2. Copy the System.map file that's made during the kernel build to
> /boot/System.map-2.4.0-test10.

System.map has nothing, repeat nothing to do with depmod at startup.
Yes, you can run depmod reading from a System.map but that only makes
sense before you boot the new kernel. Once you have booted your
new kernel, depmod -a reads from kernel memory, not System.map.

>those that know more is what is the correct way to build a module such
>that it'll insmod in the face of module versioning. Is this something
>for the FAQ?

Current Makefiles sometimes break with module versioning, the design is
inherently wrong but rewriting the entire Makefile system just before
the release of Linux 2.4 is not an option. This should be in the FAQ,
Richard, please add.

Q. Why do I get unresolved symbols like foo__ver_foo in modules?

A. If /proc/ksyms or the output from depmod -ae contains symbols like
    "foo__ver_foo" then you have been bitten by the broken Makefile
    code for symbol versioning. The only safe way to recover is save
    your config, delete everything, restore the config and recompile.

     mv .config ..
     make mrproper
     mv ../.config .
     make oldconfig
     make dep clean bzImage modules
     install, boot

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Nov 15 2000 - 21:00:16 EST