Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I recently went through Unpacking kernel-source rpm off-system (OpenSuse)?; and as it took > 10 h on my machine, imagine my surprise that after doing the process described there, I find no Module.symvers anywhere!

When I search for "generate Module.symvers", I get this:

NOTE: "modules_prepare" will not build Module.symvers even if
CONFIG_MODVERSIONS is set; therefore, a full kernel build needs to be
executed to make module versioning work.
(Linux Kernel Documentation :: kbuild : modules.txt)

... but I don't really get it - didn't the kernel get built in the previous step (described in the link given above? I sure know it took > 10 h for CC to generate a whole bunch of *.o files, and LD to link them, so something must have been built. But if so, where is then Module.symvers?

In more explicit terms, exactly what command should I call to generate Module.symvers? I know that make prepare will not work - but what is the command that will?

share|improve this question
add comment

1 Answer 1

up vote 1 down vote accepted

The Module.symvers is (re)generated when you (re)compile modules. Run make modules, and you should get a Module.symvers file at the root of the kernel tree.

Note that if you only ran make and not make modules, you haven't built any modules yet. The symbols from the kernel itself (vmlinux or one of the architecture-dependent image formats) are in System.map.

share|improve this answer
    
Many thanks for that, @Gilles - I had since also found Answer : Module.symvers file; and can confirm that make modules does indeed create Module.symvers. Thanks also for clarifying the difference between make and make modules, and relationship to System.map. Cheers! –  sdaau Nov 17 '11 at 21:51
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.