LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1009|回复: 4

Debian下编译内核,咋打补丁?[solved]

[复制链接]
发表于 2009-3-22 00:17:53 | 显示全部楼层 |阅读模式
本来编译个内核我还是很熟悉的,但刚用Debian,貌似不太一样啊。我apt-get了linux-tree-2.6.28这个包,就自动下载了linux-source-2.6.28,linux-support-2.6.28-1,以及linux-patch-debian-2.6.28这三个包,看了下/usr/src目录,有kernel-patches,linux-support-2.6.28-1,rpm这三个文件夹,还有个liinux-source-2.6.28.tar.bz2。我现在的疑问是:将源码包解压后怎样打补丁?那三个文件夹下子目录非常多,而且还有些python脚本,摸不着头脑啊……
网上查了一下,相关资料似乎都比较老,也没涉及到这些补丁的问题。
发表于 2009-3-22 00:28:53 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-22 00:42:46 | 显示全部楼层


哦……多谢!原来是:
$ cd linux-source-2.6.28
$ /usr/src/kernel-patches/all/2.6.28/apply/debian

很简单,只是让人有点不敢相信……没有任何输出,敲完命令的瞬间就结束了……呃,这补丁打的真快啊……
回复 支持 反对

使用道具 举报

发表于 2009-3-22 15:25:28 | 显示全部楼层
你要打的补丁是哪来的?如果是 debian 自带的补丁,那么补丁已经自动打好了。你说的那个命令只是 roll back 补丁,也就是去掉你不想要的补丁。

如果你要编译的 kernel 是从 kernel.org 下载的,那你该怎么打补丁就怎么打补丁。上面那个网址里也讲了这种情况下怎么编译 kernel. 简言之,就是这几个步骤:

1. uppack kernel source
2. patch
3. make menuconfig

从这一步开始就是 debian 的方式了:

4. make-kpkg clean
5. fakeroot make-kpkg --initrd --revision=custom.1.0 kernel_image

完了之后会生成 deb 包。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-23 00:30:56 | 显示全部楼层
嗯,谢谢,明白了。
我是用apt-get到的kernel-tree,那个源码包的确是已经打过补丁了的,试了一下unpack文件夹下的debian脚本,是用来取消补丁的,取消完之后再运行apply下的debian脚本,这次就有patch的输出了。我原来直接运行apply下的脚本没有任何输出,应该是脚本判断出源码包已经打过补丁了,所以就直接结束了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表