Hi
These are the steps to add system call to the linux kernel 2.6.39.4
Download source code http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.4.tar.bz2
Open file linux-2.6.39/arch/x86/kernel/syscall_table_32.S
add line
.long sys_add2
Open linux-2.6.39/
arch/x86/include/asm/unistd_32.h
After Line
#define __NR_syncfs 344
Add line
#define __NR_add2 345
and also change NR_syscalls to
#define NR_syscalls 346
Now edit linux-2.6.39/
arch/x86/include/asm/unistd_64.h
Find Lines
#define __NR_syncfs 306
__SYSCALL(__NR_syncfs, sys_syncfs)
Add Line
#define __NR_add2 307
__SYSCALL(__NR_add2,sys_add2)
open file
linux-2.6.39/include/linux/syscalls.hbefore #endif add
asmlinkage
long
sys_add2(
int
i,
int
j);
Now create add2.c
linux-2.6.39/kernel/add2.c
#include
asmlinkage long sys_add2(int i,int j)
{
return i+j;
}
Now open the Makefile in this folder(l
inux-2.6.39/kernel/Makefile) and find out
obj-y += groups.o
Add a new line before this line :
obj-y += add2.o
Now its Time to compile kernel
Go to linux-2.6.39/
$make
Start compiling to kernel modules:
$make modules
Install kernel modules
su -
$make modules_install
It is time to install kernel itself
$make install
$update-grub
No comments:
Post a Comment