设为首页 加入收藏

TOP

CentOS 5.4 添加系统调用函数及内核编译
2014-11-24 02:45:55 来源: 作者: 【 】 浏览:1
Tags:CentOS 5.4 添加 系统 调用 函数 内核 编译

转载Andy的博客,原文也没有图,不知道怎么回事。


首先,建议系统直接装,而不是用VM 等虚拟机装。我的很多朋友用虚拟机装的编译内核时老是出现问题。估计是虚拟机的问题。


下载内核


编译Linux内核,首先是在官方网站下载Linux内核,我下的是目前最稳定的最新版本:2.6.28。是一个完整版。


解压内核


把下载的内核拷贝到目录usr/src/下。然后解压:tar -jxvf linux-2.6.28.tar.bz2.


解压完后,在该文件夹下,会产生一个新的文件linux-2.6.28


添加系统调用。


这一步是很关键的,如果错误了,就不能在我编译的内核里打印我的大名了。这里需要修改三个文件的内容:


(1)首先是kernel/sys.c文件。在这个文件末尾添加系统调用的实现函数:


asmlinkage long sys_mysyscall(int number)


{


printk(KERN_ALERT “This is my syscall。\n”);


return number;


}


(2)在arch/x86/kernel/syscall_table_32.S中添加:.long sys_mysyscall


(3) /usr/src/linux-2.6.29.1/arch/x86/include/asm


unistd_32.h中添加:#define __NR_mysyscall 333 这一步是添加系统调用的入口参数。


清除以前编译的内核文件。


修改完以上三个文件就可以了。接下来是激动人心的时刻。要开始编译系统内核了。


在编译内核之前,可以先用如下命令make mrproper清除以前编译的东西。


定制内核。


我直接选择 make oldconfig.用以前的内核配置。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇在Linux环境下Lapack软件包的编译.. 下一篇Linux指针函数追踪方法

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: