Improve DKMS build of v4l-dvb?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm interested in improving the very interesting work[1] by Martin
Pitt[2] on making the v4l-dvb tree build under DKMS[3], so the drivers
get automatically rebuilt when the user installs a new kernel package.

Martin also works on the Jockey driver manager[4] which is used in
Ubuntu to detect hardware for which there are no drivers in the kernel
and to inform the user about available driver packages which can then be
downloaded and installed automatically.

Enabling DKMS build of v4l-dvb will also enable users with no experience
in building kernel modules to easily install the latest development
drivers for their hardware. This will improve the exposure of v4l-dvb
drivers to a wider community of users who can help with testing the
drivers on the wide variety of hardware that is out there.

Martin has an older version of the drivers packaged for building with
DKMS on Ubuntu in his PPA[5], but it currently has some disadvantages:

A. It builds all available drivers, no matter which hardware is actually
installed in the system. This takes a lot of time, and may not be
practical at all on systems with limited resources (e.g. embedded, MIDs,
netbooks)
B. It currently has no support for Jockey to detect installed hardware,
so individual drivers can be selected.

To address these issues, I would like to propose the following:

A. Building individual drivers (i.e. sets of modules which constitute a
fully-functional driver), without having to manually configure them
using "make menuconfig"

I see two possibilities for realizing this:
Firstly: generating a .config with just one config variable for the
requested driver set to 'm' merged with the config for the kernel being
built for, and then doing a "make silentoldconfig". Big disatvantage is
that full kernel source is required for the 'silentoldconfig' target to
be available. 
Secondly, the script v4l/scripts/analyze_build.pl generates a list of
modules that will get built for each Kconfig variable selected, but it
currently has no way of determing all the module dependencies that make
up a fully functional driver.
The script v4l/scripts/check_deps.pl tries to discover dependencies
between Kconfig variables, but it currently is somewhat slow, and hase a
few other problems.

B. To enable hardware autodetection before installing drivers, we need
to have a list of modaliases of all supported hardware. This may be the
hardest part, because many VendorIDs and ProductIDs are scattered
throughout the code. Also coldbooting/warmbooting hardware is a problem.

I am very interested in any comments on these ideas, and getting in
contact with anyone who would like to help me with this project.

Kind regards,

Alain

[1]
http://martinpitt.wordpress.com/2008/06/10/packaged-dvb-t-drivers-for-ubuntu-804/
[2] https://launchpad.net/~pitti
[3] http://linux.dell.com/projects.shtml#dkms
[4] https://launchpad.net/jockey
[5] https://launchpad.net/~pitti/+archive/ppa

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux