Linux中如何安装外围硬件的驱动程序?

Linux中如何安装外围硬件的驱动程序?

我购买了一个新的无线键盘,并在 Windows 和 Linux 机器上对其进行了测试。

它对两者都有效,但有一个最初的区别 - Windows 花了一两分钟在互联网上查找键盘(罗技)的驱动程序并安装它们。它以视觉方式通知我这样做并显示其进度。

然而,当我将它插入我的 Debian 计算机时 - 我没有注意到这样的进展。而且,我几乎立即就能使用它,但我不知道它是如何工作得这么快的。

Linux 是否使用通用蓝牙适配器驱动程序和通用键盘驱动程序的组合?

答案1

Linux 硬件驱动程序是内核模块。由于内核的开源模型和许可,其中很少有硬件制造商编写;其中大多数是逆向工程或基于标准化公共协议。可以肯定的是,蓝牙属于后期领域,而且鼠标和键盘之类的东西在大多数情况下都是完全通用的。

这些模块是内核源代码树的重要组成部分;即,如果您下载 Linux 内核源代码,它会附带所有可用模块的代码。当然,您不必在构建时包含所有这些内容。

Linux 发行版(通常)是预构建的二进制文件的集合,其中包括内核。内核本身是一个二进制文件;模块可以内置到其中,也可以是内核可以加载和卸载的单独的二进制文件。由于将所有可用模块构建到一个二进制文件中将导致一个庞大而荒谬的内核,并且发行版希望覆盖尽可能多的硬件,因此发行版内核包包含大量单独的二进制模块。

你可以在 中看到这些/lib/modules。驱动模块注册到内核并同时构建;内核知道系统上有什么可用的。当您插入一些新硬件时,它会向系统标识自己,并且内核会从中选择合适的驱动程序/lib/modules进行加载。

你可以看到你的全部当前已加载模块与lsmod.

相关内容