description of fedora core 2 device driver disks and how to roll your own?

Paul Howarth paul at city-fan.org
Tue Aug 31 17:46:07 UTC 2004


Urs Rau wrote:
> I am trying to put together a fedora core 2 device driver disk (version 
> 1 if possible) for hardware where the vendor does not yet have updated 
> driver disks for fedora.
> 
> I have a Highpoint Technology RocketRaid 1640 Sata and need to make a 
> driver disk for the fc2 2.6.x kernel as well as some fc2 2.6.x 
> customised kernel.
> 
> Sofar I only have the following pieces of info.
> 
> Does anybody know where someone might have already done the work of 
> scripting the process or at least documenting the steps required?
> 
> The excellent but outdated devel kit by Doug Ledford
> 
> http://people.redhat.com/dledford/
> 
> Some description of the process by a user that needed a firewire driver 
> for FC2:
> 
> http://www.ic.unicamp.br/~oliva/snapshots/FC2-firewire/0README
> 
> and two very short but related articles explaining the old redhat way of 
> doing driver disks and the difference between the older redhat and the 
> newer fedora driver disks.
> 
> http://faq.linux.cz/pracovni/driver-disk-howto
> 
> http://www.wormgoor.com/print.php?sid=68
> 
> This is as much as I have to date. But surely somebody out there has 
> already coded/scripted a framework to ease this task? My 3 specific 
> questions are:
> 
> 1. any official (or other) document describing the format of the version 
> 1 driver disks (for fedora 2.6.x kernels)?
> 
> 2. any texts giving the instructions on how to roll your own device 
> driver disk (for fedora 2.6.x kernels)?
> 
> 3. any scripts or frameworks that are already written to do this 
> creation of a version 1 device driver disk (for fedora 2.6.x kernels)?
> 
> Any help or pointers are greatly appreciated. I am also just starting to 
> look at the Dell dkms project http://linux.dell.com/projects.shtml , 
> thanks Doug for the hint.

I'd very much like to see an "official" answer to this one myself, so that I 
can create a driver disk for Advansys SCSI cards (not supported in Fedora). 
I'm using dkms at the moment (see 
http://www.city-fan.org/ftp/contrib/drivers/advansys/ for what I have so far).

As far as I can tell, the structure of a driver disk needs to be as follows 
(probably VFAT but maybe ext2 would work too):

modinfo
modules.cgz
modules.dep
pcitable
rhdd

The "modinfo" file shows what type of driver you have, and in my case is:

$ cat modinfo
Version 0
advansys
	scsi
	"Advansys SCSI Cards"

The "modules.cgz" is a cpioball with this sort of structure:

2.4.22-1.2115.nptl/athlon/advansys.o
2.4.22-1.2115.nptl/i586/advansys.o
2.4.22-1.2115.nptl/i686/advansys.o
2.4.22-1.2115.nptlBOOT/i386/advansys.o
2.4.22-1.2115.nptlsmp/athlon/advansys.o
2.4.22-1.2115.nptlsmp/i686/advansys.o
2.6.5-1.358/i586/advansys.ko
2.6.5-1.358/i686/advansys.ko
2.6.5-1.358smp/i586/advansys.ko
2.6.5-1.358smp/i686/advansys.ko

"modules.dep" contains the dependency information for your module:

$ cat modules.dep
advansys: scsi_mod

"pcitable" aids hardware detection (same format as /usr/share/hwdata/pcitable):

# cat pcitable
0x10cd	0x1200	"advansys"	"Advanced System Products|ASC1200 [(abp940) Fast 
SCSI-II]"
0x10cd	0x1300	"advansys"	"Advanced System Products|ABP940-U / ABP960-U"
0x10cd	0x2300	"advansys"	"Advanced System Products|ABP940-UW"
0x10cd	0x2500	"advansys"	"Advanced System Products|ABP940-U2W"

"rhdd" is the name of your driver disk, used by anaconda to identify the disk 
when prompting the user to insert it:

$ cat rhdd
Advansys Driver Disk

That's as far as I've got. Anaconda appears to find the modules correctly but 
I've not done a full install yet because the only machine I can test this on 
is my home file server, which I really don't want to mess around with too much.

Cheers, Paul.





More information about the fedora-list mailing list