如何将alx支持添加到最新的主线内核?

显然,主线内核3.8.5没有编译支持最新的Atheros Communications Inc. AR8161千兆以太网卡。我知道它在最新的内核中以模块名alx提供。 驱动程序回溯维基的编译。
回溯机制在这里不起作用,因为在编译过程中失败了(也难怪,因为它写明只与3.6内核或更早版本兼容)。
我可以使用compat-drivers,但它们无法构建。
除了重新编译整个内核之外,我还有什么选择来添加alx模块?
(我需要一个最新的内核,因为我正在使用btrfs进行测试)。
顺便说一下,我使用的是ASUS N56VZ笔记本电脑。
更新:

为Linux和FreeBSD尝试统一的alx驱动策略已经编译,但未安装驱动程序。(在过程中没有错误,但最终没有网络连接。)

我在编译后执行了sudo make linux-install。但是重启后,alx模块仍然不存在。)

1个回答

你有两个选择。

1)尝试这个ppa

http://kernel.ubuntu.com/~kernel-ppa/mainline/

你可以下载你想尝试的内核,并使用dpkg进行安装。
sudo dpkg -i linux-image-3.8.5-030805-generic_3.8.5-030805.201303281651_amd64.deb

将名称更改为您下载的内核。如果您正在构建模块,还需要头文件。
另请参阅:https://wiki.ubuntu.com/Kernel/MainlineBuilds 请注意,这些内核仅供测试使用,不提供支持。
2)自己编译一个内核。

https://help.ubuntu.com/community/Kernel/Compile

一旦你构建了几个内核,就不会太难。首先使用localmodconfig,然后检查alx模块是否将被编译。

http://bodhizazen.com/Tutorials/kernel#localmodconfig


谢谢您的回答。第一个选项正是不起作用的。而且正因为主线内核没有这个设备,我才会问这个问题。其次,我知道编译可能有帮助,但每隔几周就重新编译内核是不切实际的,因为新版本会出来。我只是在想,也许因为Linux内核有模块化结构,有一种方式可以仅编译驱动程序本身。就像兼容驱动程序那样,只是它们不编译。 - Adam Ryczkowski
虽然您可以编译单个模块,但需要为每个内核都这样做。您不必每隔几周就编译一次内核,只需使用一个可用的即可。最后,在任何类似于现代机器的设备上,使用localmodconfig编译内核应该最多只需10-15分钟。这取决于您自己的硬件。 - Panther
非常感谢您的耐心等待。也许我确实是看错了。 - Adam Ryczkowski