8. 编译内核:sudo make(使用时间大约是80分钟左右,下面是 一个截图 )
9. 安装模块输入命令:sudo make modules_install
10. 安装内核,直接输入命令:sudo make install
11. 生成镜像文件:输入命令:sudo mkinitramfs -o initrd.img-2.6.33.1 2.6.33.1;完成之后会在目录/usr/src/linux-2.6.33.1下生成一个压缩包一样的东西:initrd.img -2.6.33.1,把这个东西拷贝到/boot 目录下就行了。
12. 对grub.cfg进行修改:
使用命令:sudo chmod +w /boot/grub/grub.cfg修改权限,使其变为可写的
打开命令:sudo gedit /boot/grub/grub.cfg 进行修改
将里面的关于linux 内核版本信息全部从原来的linux-2.6.31-14改为linux-2.6.33.1
改后保存,并将权限改回来使用命令:sudo chmod -w /boot/grub/grub.cfg
(这里一开始在网上找的相关资料提供的都是修改menu.lst,而Ubuntu9.10里没有这个文件,现在发现网上资料太杂很有误导性,然后是在Ubuntu的论坛中才发现,menu.lst已被grub.cfg所代替)
13. 重新启动。这次启动的时间较长一些,到了选择进入那个操作系统的桌面时发现显示的是自己改后的内核版本.
14. 接下来就是测试的过程:
首先是用sudo uname –a测试当前内核,终端显示
再用增加的系统功能调用来测试:
/**********test.c**************/
#include <linux/unistd.h>
#include <stdio.h>
#include <asm/unistd.h>
#define __NR_mycall 338
int main(){
printf("%d/n",syscall(338,100));
return 0;
}
在终端中输入如下命令,结果如图所示
过程很相详尽都是按照自己的操作过程记录的,希望对需要的人有所帮助!