module compilation on 2.6

Rick Stevens rstevens at vitalstream.com
Fri Jun 18 21:53:37 UTC 2004


Fred Fedora wrote:
> Rick,
> Thanks for the reply. Should the module code be physically located 
> inside the kernel source tree(/usr/src/linux-kernel-version??)?
> I had a module built outside kernel tree on 2.4. Things compiled OK. I 
> want to check itout (using the same make commands) on 2.6 and I get 
> bunch of errors.
> Is irq_vectors.h automatically picked by kernel using some variable?

If the module's source is designed correctly, it'll look for the kernel
headers it needs by looking at /lib/modules/`uname -r`/build.  Under
2.4, this is generally a symlink to the actual kernel source directory.
In 2.6, it's typically a directory that contains all of the necessary
source (headers and whatnot) to build your module.

The trick is that the module MUST be designed with 2.6 in mind.  A quick
search for the file you have problems with lists four "irq_vectors.h"
files based on the basic system architecture, "mach-default",
"mach-visws, "mach-voyager" and "mach-pc9800".  The module's Makefile
must understand this to grab the right file.

So providing the module is 2.6-aware, yes, you should be able to build
your module outside the kernel source tree.  I know it works as I've
built several drivers that way (for example, the atmel driver for
atmel-based wireles LAN cards).

> */Rick Stevens <rstevens at vitalstream.com>/* wrote:
> 
>     Fred Fedora wrote:
>      > Is module compilation diffrent for 2.6 kernel from 2.4? I am get
>     tons of
>      > erros.
>      > Any hints?
>      > (irq_vectros.h not found etc. are my errors).
> 
>     2.6 kernel building is a lot different. Your best bet is to do it
>     from ground zero:
> 
>     # cd /usr/src/linux-whatever
>     # make mrproper
>     # make xconfig -or- make gconfig -or- make menuconfig
>     (load an existing config file or set things up as you wish)
>     (save this new config)
>     # make
> 
>     ----------------------------------------------------------------------
>     - Rick Stevens, Senior Systems Engineer rstevens at vitalstream.com -
>     - VitalStream, Inc. http://www.vitalstream.com -
>     - -
>     - Squawk! Pieces of Seven! Pieces of Seven! Parity Error! -
>     ----------------------------------------------------------------------
> 
> 
>     -- 
>     fedora-list mailing list
>     fedora-list at redhat.com
>     To unsubscribe: http://www.redhat.com/mailman/listinfo/fedora-list
> 
> ------------------------------------------------------------------------
> Do you Yahoo!?
> Take Yahoo! Mail with you! 
> <http://us.rd.yahoo.com/mail/taglines/*http://mobile.yahoo.com/maildemo> 
> Get it on your mobile phone.
> 


-- 
----------------------------------------------------------------------
- Rick Stevens, Senior Systems Engineer     rstevens at vitalstream.com -
- VitalStream, Inc.                       http://www.vitalstream.com -
-                                                                    -
----------------------------------------------------------------------





More information about the fedora-list mailing list