Call For Papers

Event Info

Link Us

Additional Info

Special Events Contact Us

Asynchronous Driver Updates Now and In The Future

Jon C Masters (

Modern Linux systems support an increasingly diverse variety of hardware devices through the use of runtime loadable kernel modules. Everything from desktop USB devices to enterprise quality storage arrays can be detected and supported "out of the box" by a variety of Linux distributions. When a driver is available, the chances are good that a device will work as intended. But when a driver is not available, the user experience is often one of continual frustration - not only does the device not work as intended, but there can be little or no feedback describing why the hardware could not be supported.

The problem here is that a number of drivers are not supplied in the official Linux kernel or are not supported by (not built for) vendor kernels supplied in today's Linux distributions. On the face of it, the problem is simply one of OEM/IHV education - getting drivers into the official Linux kernel really does increase the chances that a given device will be supported in future Linux distributions. The problem comes when many thousands of pre-existing systems have been certified and deployed using an older version of the Linux kernel. In such cases, it is not possible to rebase the vendor kernel on a later version of the official kernel without a lot of additional QA work. These are cases where it would be ideal to supply drivers after the fact.

In BOF, we will discuss a distributed driver brokering model that allows Linux distributions to easily (and automatically) locate necessary external drivers required by a given system at the time a device is first detected. The system is being designed to be flexible using a plugin architecture. This allows drivers to be distributed in source or pre-compiled (note: this does not imply non-GPL) form, depending upon the configuration of the target system. The plugin approach allows the driver tool to make use of existing projects intended for driver updates, such as the kABI tracking technology in Red Hat and SuSE Linux and the automated DKMS driver scripts maintained by Dell's Linux teams.

As Linux continues to grow and gain adoption amongst enterprise users, such online update technology will become more important. Not only do driver updates already allow customers to add new device support, but they also provide a mechanism for overriding the version of a driver on a given target system. This allows asynchronous hotfixes to be applied to a given Linux system prior to a more general release of an update to the distribution itself.