Tell me more ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I have a small PC booting CentOS 5.8 with kernel 2.6.18-164 from a CF card on a CF to SATA adapter. Boot time on this machine is cca 2 minutes, but with an updated kernel to 3.x it drops down to 80 secs. What is more, according to tests, it has 10 times bigger data rate transfer with this newer kernel!

I think that this is because of an older version of driver which handles SATA to CF adapter. My first idea was to find the driver/module name, download the source code of its new version, compile it to the 2.6 kernel and load it and use it instead of its older version.

I searched for the driver in /sys/block/hda/device which points to /sys/devices/ide0/0.0. This directory contains the link called "driver" which points to /sys/bus/ide/drivers/ide-disk. I assume, that the name of module I am searching for is "ide-disk". Am I right?

Now I checked loaded modules with lsmod and found out that no such module is loaded. I then checked /boot/config-2.6.18-164.11.1.el5 and found that ide-disk is not kernel module but it is a part of the kernel itself.

My questions are:

What can I do now to update these drivers?

Is the driver name correct? I found module called ata_piix which is another candidate for the driver.

Should I update to the new version of the kernel entirely?

EDIT: Through lspci -k I found that ide-disk is NOT the right driver which handles the adapter. It is the ata_piix module I mentioned before. I will try to get its source code and compile it against the 2.6 kernel.

share|improve this question
Just use 3.x, especially if it's already been determined to be so much better. It will be easier and far better to forward-port anything specific that you might need from 2.6 than to backport all of the improvements since. – Jim Paris Sep 10 '12 at 15:59
I tried this: got source code of 2.6.18 kernel, replaced every file in /drivers/ata/ with those from the 3.5.3. kernel source code and tried to compile it. It was an unsuccessful attempt. Maybe I will do it as you proposed. – bobo Sep 11 '12 at 11:57
Can I be sure of that all the functionality of the running applications, e.g. asterisk, freepbx will be preserved with the new kernel? – bobo Sep 11 '12 at 12:07
You can be much more sure that things will continue to work in 3.x than you can be sure that manually backported subsystems to 2.6.18 will not be full of errors. – Jim Paris Sep 11 '12 at 14:15
I have successfully installed new kernel as you proposed. I installed kernel 3.0 from ELrepo. There was a little problem with non-functional iptables but I solved it with a manual present at the bottom of this page: elrepo.org/bugs/view.php?id=97 – bobo Sep 18 '12 at 14:06

Know someone who can answer? Share a link to this question via email, Google+, Twitter, or Facebook.

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.