[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

making sound module



OK--I've done this 1000 times... I'm building my sound module.  I'm
certain that if I d/l the normal kernel sources from ftp.kernel.org
and build a new kernel that I'd get this to work no problem, as I have
many times before moving over to debian.

But I'm trying to do things the debian way b/c I like the level of
organization.  

If I don't lose my mind first =)

So I've got kernel 2.0.30 running[1].  And I've got the kernel sources
& headers for 2.0.30 installed[2].  Now I cd
/usr/src/linux/drivers/sound.  I run make config, and then I run
make.  I copy the resulting sound.o /lib/modules/2.0.30/misc/, and run
depmod -a.  I get:

	/lib/modules/2.0.30/misc/sound.o: unresolved symbol(s)

So I get ornery and try insmod sound.o

	/lib/modules/2.0.30/misc/sound.o: kernel-module version mismatch
        /lib/modules/2.0.30/misc/sound.o was compiled for kernel version 2.0.29
        while this kernel is version 2.0.30.

That's interesting, but perhaps misleading (?)  Now I notice during
the build process that the flag -DMODVERSIONS isn't on, and that would
certainly be capable of causing this sort of problem.  Oops. now I've
got a bigger problem [3].  So now I say to heck with trying to build
this thing in place, I'm just going to go build the whole kernel.  The
thing I quickly notice here is that the usual symbolic links
/usr/include/linux and /usr/include/asm to the kernel source tree
don't exist.  So when I try to compile, I get "cannot find
autoconf.h".  odd...

Fine, I haven't configured the *whole* kernel.  OK, so I go back and
configure the whole kernel.  I go through make config because make
menuconfig and make xconfig are completely busticated and useless [4]
(does anyone actually use these??).  Hell, I build the whole stock
kernel and *every* module just to get the sound module... and make
modules.  (Keep in mind I'm trying to do all of this keeping within
the debian framework.  I could much more easily just grab the kernel
sources and configure them as I please and ignore the whole debian
kernel config.  That is not my goal, however). Now it builds ok, and
with -DMODVERSIONS.  But sound.o still doesn't work.  Same error.
Fine, I'll just install that whole kernel I just made.  Sorry, that
ain't gonna happen b/c I get "System is too big". (Note that, other
than the sound, I've just gone ahead and built everything just like it
was setup in the config files that came with with kernel sources,
presumably those used to build a stock debian kernel ?  Am I naive in
thinking that the kernel-sources-2.0.30 are all set up to give me a
stock debian kernel?--but dammit, that's just a huge tangent from what
I want to do anyway!)

Anyone have an easier idea of how to build the sound.o module under
debian 1.3?

The soundcard, btw, is a sb16.  I don't care at all about the midi or
whatever.

Thanks,

--sf


[1]
% uname -r
2.0.30

[2]
% dpkg -l kernel-source-2.0.30
Desired=Unknown/Install/Remove/Purge
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name            Version        Description
+++-===============-==============-============================================
ii  kernel-source-2 2.0.30-7       Linux kernel source.

Desired=Unknown/Install/Remove/Purge
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name            Version        Description
+++-===============-==============-============================================
ii  kernel-headers- 2.0.30-7       Linux kernel headers.

[3]
make[1]: Entering directory `/usr/src/kernel-source-2.0.30/drivers/sound'
gcc -O2 -D__KERNEL__ -DMODULE -DMODVERSIONS -I/usr/src/linux/include -Wall -Wstrict-prototypes -fomit-frame-pointer -pipe -m486 -c soundcard.c
In file included from sound_config.h:15,
                 from soundcard.c:16:
os.h:11: linux/modversions.h: No such file or directory
make[1]: *** [soundcard.o] Error 1
make[1]: Leaving directory `/usr/src/kernel-source-2.0.30/drivers/sound'
make: *** [build] Error 2

[4]

E.g., make menuconfig just "beeps" at me instead of letting me change
the IRQ (it always resets it to the original value).  make xconfig
always bails when compiling the sound driver b/c CONFIG_AUDIO doesn't
get set properly.  Actually, to be fair, running make xconfig and then
make config and leaving my finger on the enter key usually works ok.


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-user-request@lists.debian.org . 
Trouble?  e-mail to templin@bucknell.edu .


Reply to: