Description of problem: Kernel sources are no longer shipped with FC, they may be d/l from the SRPMS section of a d/l mirror. However, if one unpacks and moves to the traditional /usr/src tree the kernel source of FC3 they get: linux-2.6.9 (I do: ln -s linux-2.6.9 linux for convenience and tradition). Before I compile and install some modules for LIRC (lirc.org) --in order to get the right header files, etc. I've had to do the following in /usr/src/linux: # cp /boot/config-`uname -r` /usr/src/linux # cd /usr/src/linux # make oldconfig # make prepare I then make and install the LIRC modules which go in /lib/modules/2.6.9-1.667/misc But upon modprobe lirc_dev or modprobe lirc_i2c I get: Invalid module format --this is because the vermagic is incorrect. Using modprobe -f doesn't work either. I imagine I've missed some patches or something for this kernel tree that might be needed. My question then is this: The kernel-2.6.9- 1.667.src.rpm installs in /usr/src/redhat/SOURCES. Is this where I should unpack and patch up? And do I need all of these patches? And will this get me to%2
if you type dmesg, it'll tell you why it mismatched.
Right, something like this: lirc_dev: version magic '2.6.9 586 REGPARM gcc-3.4' should be '2.6. 9-1.681_FC3 586 REGPARM 4KSTACKS gcc-3.4' But my question is how to resolve this? What is it that one must do with the kernel sources to allow module builds to get the right vermagic?
building external modules doesn't actually require you to have the kernel source installed. See the section in the release notes. If the lirc documentation tells you otherwise, it's incorrect.
The lirc docs aren't saying otherwise, but I'm finding this method noted in the release notes to be obtuse and difficult. That is, I'm confident with my ability to build C code, etc. but I'm not expert with autoconf or make. The section in the release notes you're referring to is this: http://fedora.redhat.com/docs/release-notes/fc3/x86/ Note An exploded source tree is not required to build kernel modules against the currently in-use kernel. For example, to build the foo.ko module, create the following file (named Makefile) in the directory containing the foo.c file: obj-m := foo.o KDIR := /lib/modules/$(shell uname -r)/build PWD := $(shell pwd) default: $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules ---- Do you have a working example of how to apply this? That is, how would one work this into the root directory "sh configure; make" of a source package? Any pointers to additional resources would be appreciated. Cheers, -zeek
An update has been released for Fedora Core 3 (kernel-2.6.12-1.1372_FC3) which may contain a fix for your problem. Please update to this new kernel, and report whether or not it fixes your problem. If you have updated to Fedora Core 4 since this bug was opened, and the problem still occurs with the latest updates for that release, please change the version field of this bug to 'fc4'. Thank you.
This bug has been automatically closed as part of a mass update. It had been in NEEDINFO state since July 2005. If this bug still exists in current errata kernels, please reopen this bug. There are a large number of inactive bugs in the database, and this is the only way to purge them. Thank you.