Google Answers Logo
View Question
 
Q: How do I copy a driver from one kernel to another in Redhat ES 3.0? ( No Answer,   1 Comment )
Question  
Subject: How do I copy a driver from one kernel to another in Redhat ES 3.0?
Category: Computers > Operating Systems
Asked by: gkuid-ga
List Price: $200.00
Posted: 21 Jun 2005 19:43 PDT
Expires: 21 Jul 2005 19:43 PDT
Question ID: 535712
How do I copy a driver from one kernel to another in Redhat ES 3.0?

For example, I have a hard-drive controller driver which would only
compile under one of the two kernels I have running on my server. I
must have that driver loaded under the other kernel though. I know
where to find the driver file (a320raid.o). Do I just copy it to the
other kernel, insmod it, and then modprobe it from the rc.local file?

I tried insmod manually and it wouldn't load module because of
unresolved symbols. Does that mean the driver probably won't work
under the other kernel?

I know the scope of this question is very specific but I can't get any
information anywhere, because it's considered non-standard. Well
unfortunately I need to do this non-standard.

The two kernels are 2.4.21-9.0.3.EL and 2.4.21-9.EL, the latter being
the one that the driver compiles for. The hard drive controller in
question is Adaptec 29320A-R with HostRaid enabled.

The driver was installed via an RPM from the manufacturer.

Thanks.
Answer  
There is no answer at this time.

Comments  
Subject: Re: How do I copy a driver from one kernel to another in Redhat ES 3.0?
From: dr_barnowl-ga on 01 Jul 2005 08:51 PDT
 
Linux kernel drivers need to be compiled and linked against a specific
set of kernel headers in order to load.

"Unresolved Symbol" errors mean that the driver you are trying to load
is missing symbols from the kernel it was compiled under. No amount of
configuration is going to fix this ; the module as it stands is not
going to load.

Your question is really "How can I run this hardware under this
kernel?". The answer is that you need sources for the driver which
*do* compile under your chosen kernel version. If the vendor sources
are available, you may be able to patch them (or hire someone to patch
them). If they are not, your only hope lies with the vendor supporting
you, or with an alternate driver which runs the same hardware.

I find that the Linux driver for this hardware is the AIC79XX driver.
The best course is probably to compile support for it straight into
your kernel by setting CONFIG_SCSI_AIC79XX in your .config file, and
rebuilding your kernel.

This presumes that this driver is available in the RHEL 3.0 kernel
sources. RHEL 3.0 appears to be based on the 2.4.21 kernel ; the
support for the 29320A first seems to appear in the 2.4.28 sources (or
thereabouts, courtesy of lxr.linux.no). However, Redhat backport a lot
of features from newer kernels, and I'd imagine that device support
for scsi cards is probably one of the things they like to pay
attention to, given their market.

I can confirm that Redhat certifies at least one server containing an
Adaptec 29320 flavour as compatible with ES 3.0, using the AIC7902
driver. (from the hardware compatibility search at redhat.com)

Your course would seem to be to ditch the Vendor-provided driver and
use the Linux one, provided that you absolutely must run on that
particular kernel version.

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy