一.内核配置
make modules_install
make bzImage
cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.39.4
cp System.map /boot/System.map-2.6.39.4
1.内核源代码在www.kernel.org下载。根据自己的意愿配置模块主要是在内核文件夹下生成 ./.config文件 这个文件是Makefile文件的宏 ./.config文件有3种形式 y n m分别表示编译 不编译 编译成模块 这个文件是控制Makefile运行的文件,使得内核按我们意愿编译需要的功能,那么首先是要生成./.config文件 工具非常多,其中用得最多的是make
menuconfig工具需要安装:sudo apt-get install ncurses-dev
当然如果自己是新手可以使用make defconfig来使用默认的配置文件
menuconfig的使用方式,主要是:
- 上下键:选择不同的行,即移动到不同的(每一行的)选项上
- 空格键:用于在 选择该选项,取消选择该选项,之间来回切换
-
- 选择该(行所在的)选项:则对应的该选项前面就变成了,中括号里面一个星号,即
[ * ],表示被选中了。 - 如果是取消该选项,就变成了,只有一个中括号,里面是空的,即:[
]
- 选择该(行所在的)选项:则对应的该选项前面就变成了,中括号里面一个星号,即
- 左右键:用于在Select/Exit/Help之前切换
- 回车键:左右键切换到了某个键上,此时回车键,就执行相应的动作:
-
- Select:此时一般都是所在(的行的)选项,后面有三个短横线加上一个右箭头,即 —>,表示此项下面还有子选项,即进入子菜单
- Exit:直接退出当前的配置
-
- 所以,当你更改了一些配置,但是又没有去保存,此时一般都会询问你是否要保存当前(已修改后的最新的)配置,然后再退出。
- Help:针对你当前所在某个(行的)选项,查看其帮助信息。
-
- 一般来说,其帮助信息,都包含针对该选项的很详细的解释
-
- 换句话说:如果你对某个选项的功能,不是很清楚,那么就应该认真仔细的去看看其Help,往往都会找到详细解释,以便你更加了解此配置的含义
- 另外一般也会写出,此选项所对应的宏
-
- 该宏,就是写出到配置文件中的那个宏
-
- 对于写makefile的人来说,往往也是利用此相关的宏,在makefile中,实现对应的不同的控制
二.内核编译,替换
1.make 命令直接编译即可 它会默认执行Makefile文件 当然你不想看到垃圾信息可以使用make > /dev/null仍入黑洞中
2.加载模块
3.生存可执行内核引导文件并复制到/boot下
4.将System.map复制到/boot下:
5.生成initrd.img文件
6.自动查找新内核,并添加到grub引导
7.修改/boot/grub/grub.cfg文件,设置timeout值,这个值是选择系统时的停留时间