multiple inter-dependent drivers onto one image

Bagalkote, Sreenivas Sreenivas.Bagalkote at
Tue Dec 13 12:09:19 CST 2005

> Hi Sreenivas,
>  As in your case A depends on B and you have one diskette, I further
> want to know if you have single makefile for A & B.

Yes, one Makefile. It is like your A & A1 case below.

>  For my case I already have A & A1  on single driver diskette ( for
> + UP kernels). A depends on A1.   *** But A & A1 have same makefile
> ****.
> As I described earlier  "A" also depends on "B" & "C".  "B" & "C"
> different makefiles and they are different from A's  makefile.
> All these interdependent drivers are available in open-source. I
> to avoid modifying there makefiles just for the purpose of having a
> single-driver-diskette.

If you don't want to modify the makefile, you could do this. You have
different DKMS projects A (which builds both A and A1), B and C. You can
the A+A1, B and C separately. They would have their own sub directories
/var/lib/dkms/. (/var/lib/dkms/<A | B | C>

You could have another dummy project called /var/lib/dkms/ABC. After you
the A, B and C modules, some shell script would copy those and populate
/var/lib/dkms/ABC/<ver>/... directory appropriately. Then you can have
make a single driver diskette of ABC project.

Something similar could be done for RPM also. A.rpm, B.rpm, C.rpm could
embedded into ABC.rpm. ABC.rpm would install individual RPMs first and
collate them.

> Thanks
> -vikas
> -----Original Message-----
> From: Bagalkote, Sreenivas [mailto:Sreenivas.Bagalkote at]
> Sent: Saturday, December 10, 2005 1:14 AM
> To: Matt Domsch; Aggarwal, VikasX
> Cc: Kumar, Dinesh; dkms-devel at
> Subject: RE: multiple inter-dependent drivers onto one image
> > -----Original Message-----
> > From: Matt Domsch [mailto:Matt_Domsch at]
> > Sent: Friday, December 09, 2005 1:01 PM
> > To: Aggarwal, VikasX
> > Cc: Kumar, Dinesh; dkms-devel at
> > Subject: Re: multiple inter-dependent drivers onto one image
> >
> > On Fri, Dec 09, 2005 at 09:33:42AM -0800, Aggarwal, VikasX wrote:
> > > Matt,
> > >
> > > Thanks!!
> > > If I could figure out, I certainly would share the patch with you.
> > > Now to make one "DKMS package", do I have to combine Makefiles for
> A, B
> > > & C. Or do I have to create a wrapper/parent makefile.
> >
> > Either way, whichever works for you.  Depends in my mind on how
> > you'll be changing any of A, B, or C.  Multiple subdirectories, one
> > each for A, B, and C, and one top-level Makefile that decends into
> > them and calls their Makefiles, may be easier for long-term
> > maintenance.  To replace any of A, B, or C, just replace that
> directory.
> And if you want to build this combined driver-disk for SLES/SUSE
> kernels,
> you should use the most recent DKMS release. The order in which you
> your module names in dkms.conf is the order in which they will be
> when you use the driver disk (C->B->A in your example). The most
> DKMS release has an appropriate patch to take care of this.
> Just for you think further about: you can also combine different
> in
> the same driver disk. E.g., both x86 and x86_64 versions can be in the
> same
> disk. We have a similar A depends upon B situation in megaraid scsi
> drivers.
> I release single disk for all RHEL 4.0 gold, update1, update2 for both
> 32
> And 64 bit drivers.
> Thanks,
> Sreenivas

More information about the DKMS-devel mailing list