Thanks for pointing out "Patching FC3 Kernel" thread. I've made a note of it for later reference.
My immediate goal is not as complicated as a Kernel Patch, but it's turning out to be very very difficult. All I want to do it update a single module that is part of the kernel. It's called - ati_remote.
Even though the Release Notes make the claim that you do not need the kernel source to update a module, the Notes fail to explain that if you want to update a module that is part of the Kernel Source, then YOU MUST get and install the kernel's src.rpm.
That's not entirely true, If you have the source for the module, you don't need the kernel source.
So, I tried to follow the section called 'kernel' in the Release Notes, but it is incomplete and just left me so, so confused. I tried this process once before last November, and ended up re-building ALL the modules instead of just the single one to which I had applied a patch. SO I gave up. Now, I am so motivated to get the ATI Remote Wonder adjusted with a few changes to the table of Key Codes, I am asking for help both here and in the MythTV discussion for some simple, clear step(s) that will let me do
#make modules #make modules_install
and have just the single element, ati_remote, recompiled and installed so that the ATI Remote works reasonably.
The easiest way to do this is to use the "out of tree" method for building kernel modules, as described just underneath the main kernel-building section of the release notes.
If you have the module source file, ati_remote.c, you don't need the kernel source. Otherwise you can extract the ati_remote.c from the kernel source (drivers/usb/input/ati_remote.c).
Make a temporary directory and copy ati_remote.c into that directory. Make whatever changes you need to make to this file (the patch you refer to above). Then put the attached Makefile into that directory. This Makefile is just like the one mentioned in the release notes, but has an extra entry for doing the install too.
Do "make" in the temporary directory to build the module. Then, as root, do "make install" and then "depmod -a". The patched module will have been installed into /lib/modules/`uname -r`/extra/ati_remote.ko. "/sbin/modinfo ati_remote" should show that this module is the one that will be loaded when a "modprobe ati_remote" is done.
Easy!
Paul.
obj-m := ati_remote.o KDIR := /lib/modules/$(shell uname -r)/build PWD := $(shell pwd) default: $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules strip -g ati_remote.ko install: $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules_install