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.