Ubuntu添加系统调用及内核编译

平台:VMware 9.0 pro

系统:Ubuntu 13.10 i386

新内核版本:Linux-3.17.7 32位

(全过程使用root账户)

一、下载新的内核

从 Kernel.org 上下载最新的内核。下载之后得到文件“ linux-3.13.7.tar.xz ”

cp文件到“ /usr/src ”目录,用以下命令解压

解压完后得到目录” /usr/src/linux-3.17.7 ”

二、添加系统调用

进入新内核的文件目录

下面添加新的系统调用

a)、系统调用函数实现:修改kernel/sys.c文件

在文件的最后添加新的系统调用函数

b)、设置系统调用号:修改arch/x86/syscalls/syscall_32.tbl

在文件最后添加一行

c)、添加系统调用声明到头文件

在文件倒数第二行,即 “ #endif /* __ASM_GENERIC_SYSCALLS_H */ ” 这行的上面一行添加如下内容

三、编译新的内核

首先安装ncurses库,这个库会在之后的编译中用到

为了方便,将编译需要执行的所有内容写成批处理文件执行,写好的文件放在“ /usr/src/linux-3.17.7 ”目录下

批处理内容如下

编辑完成后保存,并赋给批处理文件最高的读写权限

执行编译

(提示:编译过程中,将出现内核配置文件修改窗口,选择<save>,之后<exit>即可。即使用原先的配置,并不做修改。)

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注