我最近在较旧的Macbook上安装了最新版本的Ubuntu,并且效果很好。我很想阅读并了解默认情况下安装的驱动程序的来源。
要想从机器上的信息中获取源代码,应该采取什么方法?例如,我正在尝试查找已安装在计算机上的以太网驱动程序的源代码。
我做了一个lspci,发现我有一个Broadcom芯片“ Broadcom Limited NetXtreme BCM57786”。但是,通过上游内核源进行grepping不会产生任何结果。我应该如何找到这些驱动程序?
答案 0 :(得分:1)
首先,您需要获取特定发行版的内核源代码以及正在运行的内核版本。在您的情况下是Ubuntu,并且可以安装名为linux-source
的内核源程序包。
命令lspci | egrep -i --color 'network|ethernet'
显示系统中已安装的网络适配器的列表。另一个命令ip link show
显示内核可以识别的网络接口列表。使用接口名称,您可以轻松找到负责该网络接口的网络驱动程序的名称,例如:ethtool -i eth0
。最后,您可以在/drivers/net/ethernet/
(最常见的情况)下的内核源代码树中或在其他地方(例如/drivers/net/wireless
)中查找该网络驱动程序的源代码。
请注意,特定发行版和内核版本的内核源代码与相同版本的原始内核的内核源代码不太相同。这是由于较新的内核版本有许多错误修复或功能的后向端口。这些后端口在每个分发中都不同,这使问题进一步复杂化。