一直对Linux内核很有兴趣,但苦于入门不易,认真看了ldd前5章突然就来感觉了,光看不练不顶用,首先就需要环境搭建。
使用的是Debian 5.0,内核2.6.26,欲安装的新内核为2.6.28,这里有一点需要注意,安装的内核版本最好要大于使用编译的版本,不然gcc等有些会报错。
下载https://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.tar.bz2,解压到任意目录,不需要一定要在/usr/src目录下。
由于我只需要一个内核源码树,所以生成配置文件使用简单的make oldconfig
1.生成config文件
make oldconfig
make oldconfig会以你已有的配置文件进行增量提示,这里最后都采用系统默认值,也就是一路“回车”,不然可能导致有些模块依赖关系,导致编译失败。
2.生成内核压缩镜像
make bzImage
这会在你对应平台的boot目录下生成bzImage,如我的linux-2.6.28/arch/x86/boot/bzImage
3.编译模块
make modules
这步是很花时间的