add system call in linux 3.8 (리눅스 3.8 시스템 콜 추가)

32bit 리눅스의 경우

1. (커널 폴더)/arch/x86/syscalls/syscall_32.tbl에 아래와 같이 351번을 추가해줍니다.

64bit 리눅스의 경우

1. (커널 폴더)/arch/x86/syscalls/syscall_64.tbl에 아래와 같이 314번을 추가해줍니다.


아래부터는 공통입니다.

3. (커널 폴더)/include/linux/syscalls.h에 아래와 같이 addcall 원형을 추가해줍니다.


4. (커널 폴더)/kernel 안에 addcall.c를 아래와같이 작성한 뒤 gcc -c addcall.c를 해줍니다.


5. (커널 폴더)/kernel 안의 Makefile에 다음과 같이 추가해줍니다.


6. 커널 컴파일을 해줍니다.

7. 테스트 프로그램을 작성합니다.



8. 아래와 같이 결과값을 확인 할 수 있습니다.(오른쪽)
    dmesg를 이용하면 아래와같이 [kernel] i = 5 를 확인 할 수 있습니다.(왼쪽)