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.