Automatically installing hardware specific packages
For a long time, I have wished the Debian installer would
automatically install the right packages on the servers I have. If it
detect a RAID controller using the cpqarray kernel module, the
cpqarrayd package should be installed. If a RAID controller using the
mptscsih kernel module is detected, the mpt-status package should be
installed. If a i810 compatible video card is detected, the i810switch
package should be installed.
I wrote a draft implementation a few years ago using the discover v2
package, but never found time to integrate it into the installer.
But, since a few days ago, I found time to do this integration. The
daily d-i images install discover automatically and run the required
commands as root to install hardware specific packages automatically
during installation. The command is
aptitude install discover; discover-pkginstall
This will look up USB and PCI IDs found on the machine in the database
provided by the discover-data package, and install any hardware
specific packages detected (after presenting a debconf question which
is hidden at the normal debconf priority).
To get this working out of the box, the discover-data package need to
be updated with mappings from PCI and USB IDs to Debian package names.
I've added a few, but I am sure there are mappings missing.
If you know of some package that should be installed automatically
when some PCI or USB devices are detected, please report them to BTS
and the discover-data package, to get the mappings into Debian before
Squeeze is released. :)
Are there better ways to do this? Anyone willing to work on it?
Fedora 13 provides PackageKit to install hardware specific packages
after installation. Perhaps we should extend the discover system to
listen to DBus events and install hardware packages also after
installation? Or port PackageKit to Debian and use it instead?
Anyway, a draft system is in d-i at the moment, and I welcome help
with updating the hardware mappings to get more packages installed
automatically by d-i. :)