Max*_* R. 4 repository kernel mainline-kernel
Ubuntu 内核 PPA仅提供 linux-headers*.deb 和 linux-image*.deb 包。如何构建相应的 linux-source*.deb 包?
语境:
我目前正在运行带有主线内核(现在是3.2 rc6)的Ubuntu 11.10,以更好地支持我的 sandybridge IGP(带有 intel i5-2520M CPU 的戴尔 E6420 笔记本电脑)。
看来,我想安装此触摸板驱动程序,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.
Run Code Online (Sandbox Code Playgroud)
看来我可能不需要完整的源代码,但我仍然想尝试安装它,看看它是否能解决我的问题。
我试过的:
/usr/src/
。DKMS 还在抱怨。尽管如此,了解如何构建主线 linux-source 包可能仍然很有趣,因为 Ubuntu 内核团队不提供它。更何况我在这个过程中学到了很多^^
看起来你足够勇敢:) 你可以尝试按照这些说明从主线内核创建你自己的 .deb 包。
首先尝试阅读此通用文档:
https://help.ubuntu.com/community/Kernel/Compile
以下是有关如何为 11.10 编译内核的具体说明(尽管您是从 3.2 源代码树中这样做的,因此有些事情可能会有所不同)。
http://blog.avirtualhome.com/2011/10/28/how-to-compile-a-new-ubuntu-11-10-oneiric-kernel/
现在,这些指令的问题在于它们假设一个带有 debian/ 目录的源代码树,这是让您构建软件包的控制文件所在的位置。不过这不是什么大问题。很容易得到一个可打包的源代码树:
获取主线内核树
git clone https://github.com/torvalds/linux.git
Run Code Online (Sandbox Code Playgroud)查看最新的主线内核(截至今天http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.2-rc6-precise/)。共有三个补丁文件(0001-base-packaging.patch、0002-debian-changelog.patch、0003-default-configs.patch)。下载这三个文件。
切换到新的 linux 源目录并按顺序应用所有 3 个补丁:
patch -p1 <0001-base-packaging.patch
patch -p1 <0002-debian-changelog.patch
patch -p1 <0003-default-configs.patch
Run Code Online (Sandbox Code Playgroud)您现在将拥有一个包含打包信息的不错的 debian/ 目录。然后,您可以应用我上面提到的两个 URL 中的说明,从您的内核配置和构建软件包。希望这也将创建一个内核源代码包。
归档时间: |
|
查看次数: |
8303 次 |
最近记录: |