Linux 主板驱动程序从哪里来?

Linux 主板驱动程序从哪里来?

我有点困惑驱动程序来自哪里或者是为主板外设开发的? Ex、USB、声音或以太网控制器?

基本上根据我的理解,x86/64 程序员参考手册没有详细介绍这些内容。

驱动程序开发人员如何知道如何在寄存器级别与设备进行交互?

答案1

所有驱动程序都是根据数据表开发的。每当公司制造设备时,它都会生成有关接线和编程细节的完整文档,除非该设备被宣布完全符合某些已经建立的标准。

参见示例适用于许多主板的 Intel ICH10 组件的文档。

该文档不一定免费提供。

有时根本不可用。 (参见 Nvidia(以及 Linus 著名的咆哮)或 ATI(参见 Stallman 著名的演示))当制造商声称提供文档会泄露他们的制造秘密时。

在这种特殊情况下,制造商通常仅以封闭二进制形式生产专用操作系统的驱动程序。

除了尝试对代码进行逆向工程之外,其他开发人员别无选择。

答案2

主板本身不需要任何驱动程序,因为它基本上包含标准组件,如 CPU、RAM、PCI-E 插槽、板载设备等,并且它们都使用标准协议进行通信,这些标准协议在启动时初始化并由内核通过CPU。

所有这些组件都在主板制造商之间共享,它们都是相当标准的,并且在大多数情况下都有数据表,可以与它们“交谈”,即通过驱动程序与它们一起工作。有些设备的文档记录很少或没有数据表,这就是Linux 难以支持它们的原因,例如Linux 几乎不支持或不支持许多硬件监控芯片。

当您在Windows中安装“主板驱动程序”时,您没有安装“主板”驱动程序,而是安装了以下驱动程序个人主板包含的设备。

答案3

  1. 在 GNU/Linux 主板中没有驱动程序,您不需要它。

资源:https://www.quora.com/If-a-motherboard-has-no-Linux-drivers-what-problems-might-occur-when-installing-and-using-Linux

  1. 为键盘、鼠标等设备开发的驱动程序,就像你所说的,所以是的

相关内容