Ubuntu内核PPA只提供linux-headers*.deb和linux-image*.deb软件包。我该如何构建相应的linux-source*.deb软件包?
背景:
我目前正在运行Ubuntu 11.10,使用主线内核(3.2 rc6现在),以获得对我的sandybridge IGP(Dell E6420笔记本电脑,搭载intel i5-2520M CPU)更好的支持。
看起来,我想安装这个触摸板驱动程序,因为ALPS触摸板的支持很差(请参阅上述链接的错误报告),同时等待内核版本3.3中的上游支持。
问题是,DKMS一直抱怨找不到完整的内核源代码:
Module build for the currently running kernel was skipped since the
kernel source for this kernel does not seem to be installed.
看起来我可能不需要完整的源代码,但我仍然想尝试安装它,看看是否能解决我的问题。 我尝试过的: 在
/usr/src/
中解压kernel.org源代码存档。但是DKMS依然报错。
手动使用uupdate和主线源代码包更新内核源代码包,像这里所解释的。但没有成功。
按照@roadmr和@elmicha的指示手动构建linux-source包。最终我成功构建了它,但DKMS仍然抱怨缺少源代码。
最后我注意到了一个错误,在重新安装内核头文件时我没有注意到。似乎我下载的.deb文件可能已损坏,重新下载解决了问题 :) 遗憾的是,虽然DKMS同意编译模块,但我遇到了下面的错误,似乎已经有人报告过。这个问题还没有解决,但我不会再尝试了,因为最后我决定通过xorg-edgers ppa来测试确切的内核版本3.2-rc6,它似乎已经正确修补:它工作了。然而,了解如何构建主线Linux源代码包可能仍然具有一定的兴趣,因为Ubuntu内核团队并未提供此功能。更不用说在这个过程中我学到了很多东西^^