ubuntu 编写自定义系统调用函数

2019-03-19  本文已影响0人  autisticBoy

本文可能会用到编译内核的相关知识,具体请看Ubuntu 编译内核

第一步:选定要编写的内核,解压

具体请看Ubuntu 编译内核

第二步:编写系统调用函数

进入安装的目录
cd /usr/src/linux-4.20.15/
sudo vim kernel/sys.c

在vim下 Ctrl+F Ctrl+B 快速翻页

在末尾加入自定义代码

asmlinkage void sys_hello(void)
{
  printk("hello");
}

printk 运行在内核态 之后用dmesg查看输出内容

按esc :wq!退出

第三步:声明调用函数

sudo vim arch/x86/include/asm/syscalls.h

IMG_5974.JPG

第四步:增加系统调用号

sudo vim arch/x86/entry/syscalls/syscall_64.tbl
(如图中的335)

IMG_5975.JPG

第四步: 编译内核

具体请看Ubuntu 编译内核

第五步:验证

编写C程序

int main()
{
syscall(335);
return 0;
}
上一篇 下一篇

猜你喜欢

热点阅读