Release Notes - kernel

Mercury Morris mercury.morris at gmail.com
Mon Apr 18 12:44:43 UTC 2005


>>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




More information about the fedora-list mailing list