[커널프로그래밍] - 시스템 콜 추가하기
커널모듈프로그래밍2017. 3. 24. 14:29
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
| 시스템 콜 추가하기
시스템 콜(System Call) : App랑 커널, 미들웨어와 소통, 커널에서 제공, 애플리케이션이 호출, 커널과 소통하는 유일한 방법
0. cd /usr/src/linux 이동
1. /arch/x86/kernel/syscall_table_32.S 추가할 시스템 콜 이름 지정
2. /arch/x86/include/asm/unistd_32.h 추가할 시스템 콜 번호 지정
3. /include/linux/syscalls.h 추가할 시스템 콜의 프로토타입(함수원형) 선언
4. /kernel/testcall.c 추가할 시스템 콜의 소스코드 구현
5. gcc -c testcall.c 구현한 소스코드 파일 컴파일하여 오브젝트 파일 생성
6. /kernel/Makefile Makefile에 오브젝트 파일 추가
7. 커널 컴파일 (자세한 건 첫 장 참조)
# cd usr/src/linux
# make mrproper
# make clean
# ls /boot -l 후 config- ~ 복사
# cp -p /boot/복사한 config ./.config
# make menuconfig 에서 Load 후 General Setup, Local Version 2가지 변경 후 저장
# make all
# make modules
# make modules install
# make install
# reboot
8. 완성한 시스템 콜 테스트하기
'커널모듈프로그래밍' 카테고리의 다른 글
[모듈프로그래밍] - 모듈에 함수를 추가하여 다른 모듈에서 사용하기 (0) | 2017.05.24 |
---|---|
[모듈프로그래밍] - 커널 모듈 구현 (0) | 2017.05.21 |
[커널프로그래밍] - make menuconfig 안되면 해결하기 (0) | 2017.03.31 |
[커널프로그래밍] - linux/linkage.h 없다하면 해결하기 (0) | 2017.03.31 |
[커널프로그래밍] - 커널을 받아 새로 컴파일하기 (0) | 2017.03.15 |
댓글()