2016-11-12 95 views
0

我是內核新手,我想實現我自己的系統調用。我搜索了很多鏈接,差不多已經達到了,但仍然無法得到確切的結果。如何在Linux內核4.x中實現我自己的系統調用?

我跟隨own system call on kernel-3.8.8 (youtube video tutorial)


我的設置是:
操作系統:Ubuntu的14.04 LTS
弓:x86_64的
我按照程序

  1. 編輯sytemcall表的linux-4.7 /弓/ 86 /entry/syscalls_64.tbl
  2. 將原型添加到/usr/src/linux-4.7/include/linux中的syscalls.h中
  3. 創建一個systcall定義並將系統調用目錄添加到內核Makefile中
  4. 編譯內核並重新啓動
  5. 編寫用戶應用程序以驗證系統調用是否正常工作。

我可以通過syscall()api使用系統調用號獲得syscall調用。但我想要的是像打開調用sys_open這樣的傳統方式。 我想要mycall需要調用sys_mycall。

+0

您可以編輯你的glibc在你的系統調用中添加包裝。有點像http://code.metager.de/source/xref/gnu/glibc/sysdeps/unix/syscalls.list不要忘記在你的系統調用的linux頭文件中定義__NR號碼。並且不要使用YouTube視頻教程進行內核開發。 – osgx

回答

相關問題