>>Mercury Morris wrote: >> 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 Paul, Thanks to you ! for taking the time to give an easy and complete set of instructions for making/updating a single kernel module. The term "out-of-tree" led me to Google, where I found another of your tutorials on how to build a single kernel module. The idea of using a separate directory for all the work, which I didn't know could be used, helps me over the concern about changing the Makefile that appears in the same directory with ati_remote.c. I really don't like changing the source files, even in a very small way. Thanks again. -- MM