ata drivers are typically part of the kernel and not separate modules, since they are needed to boot.
So you need to build a kernel. You should follow a tutorial on the net for the details, but I'll list some important points:
1) download and install the kernel source package for your distro.
You'll now have kernel source in some place like '/usr/src/linux' so cd there.
2) Save your original source file
cp drivers/ata/libata-eh.c drivers/ata/libata-eh.c.orig
3) apply your patch to drivers/ata/libata-eh.c
4) You should have the right .config file in the source directory for your distro.
cp .config .config.orig
The only thing you want to change is EXTRAVERSION so it doesn't clobber your existing kernel when you install it.
make menuconfig
Local version - append to kernel release <== set this to something like '-LIBATA'
5) make all; make modules_install ; make install
Verify that you have your new kernel, initramfs, and system map in /boot and your modules under /lib/modules/something-LIBATA/
Now boot up and select your new kernel in the grub prompt. It will be the one that says '-LIBATA'
You can always go back to the old one (the one without LIBATA).
|