Driver disk questions

Paul Howarth paul at city-fan.org
Mon Aug 7 07:38:28 UTC 2006


On Sun, 2006-08-06 at 18:35 -0500, Jay Cliburn wrote:
> I built my kids a new computer for gaming:  Asus M2V, AMD64x2, SATA HDD 
> (only), et al.  I want to dual-boot XP and FC5.x86_64, but the SATA 
> controller for this motherboard isn't yet supported by the Linux kernel. 
>   I have a one-line patch that adds the correct device ID to the 
> relevant kernel module, and I'd like to test it and submit it to 
> kernel.org if only I can get FC5 installed to test it.  All I need to do 
> is replace the FC5 install sata_via driver with my own modified sata_via 
> driver.  I've been wrestling all day with getting a suitable driver disk 
> (floppy) built, so far without success.  I have a few questions.
> 
> First, some background:
> *  I'm doing the build work on an up-to-date rawhide x86_64 machine.
> *  I've installed kernel-2.6.15-1.2054_FC5.src.rpm in $HOME/rpmbuild.
> *  I'm building the desired module against kernel 2.6.15-1.2054_FC5.
> 
> 1.  The kernel module that needs to be modified is /scsi/sata_via.c. 
> I've built the kernel (mostly; see #4) and thus have the .o and .ko 
> objects for sata_via, but which one of those I should copy to the driver 
> disk image, the .o or the .ko?  (I've tried both; neither worked, 
> although I see the driver in the driver picklist during the install.)

For a driver disk to be recognized as such by anaconda, it needs far
more than the module itself to be present. You might take a look at the
Advansys driver disk I made to support installation of FC1, FC3, and
FC4:

http://www.city-fan.org/ftp/contrib/drivers/advansys/

However, it is possible to manually load the driver if all you have is
the .ko file. See for example:

http://www.keffective.com/mvsata/

You'll probably need to boot in expert mode to prevent anaconda loading
the sata_via module before you get the chance to load your custom
module.

To answer your question, it'll be the .ko that you need.

If you were building for a 32-bit install, you'd need the i586 version
of the module for the installer, and the i686 version to the installed
system (if it was and i686 class processor). However, you're on x86_64,
which simplifies that.

> 2.  Is it okay to use the same driver name on the driver disk as the one 
> I'm trying to replace in the install kernel?

Yes.

> 3.  Is there some way to build a kernel rpm without having it "make 
> clean" right up front?  If I encounter an error, I'd like the build to 
> pick up where it left off (at the failed source file), but "make rpm" 
> always wants to "make clean" and start all over.  I issue the make 
> command from $HOME/rpmbuild/BUILD/kernel-2.6.15/linux-2.6.15.x86_64.

You could save yourself a lot of hassle by building the module as an
"out of tree" driver using the approach described in the release notes.

Paul.




More information about the devel mailing list