【问题标题】:Adding system call to linux kernel 3.8.8向 linux 内核 3.8.8 添加系统调用
【发布时间】:2013-04-25 02:07:44
【问题描述】:

我正在尝试在 linux 内核版本 3.8.8 中编写自己的系统调用。我在互联网上搜索,有步骤如何做到这一点。特别是这个链接http://franksthinktank.com/howto/addsyscall/ 很好。然而。即使我遵循了所有步骤,它也不起作用。我收到一条错误消息,说没有规则来制作内核/内置所需的目标。

然后我尝试将系统调用移动到内核目录中的一个 .c 文件中,它也不起作用。我正在尝试按照上面链接中的示例作为练习。实际上我想要做的是获取系统的时间,所以我需要访问系统的 xtime 变量。所以,我必须在 timekeeping.c 文件中实现我的系统调用。

我想知道我在内核版本 3.8.8 中究竟更改了哪些文件以实现系统调用?

谢谢。

【问题讨论】:

  • 您找到解决问题的方法了吗?如果有,能否分享给其他人(包括我)学习?

标签: kernel system system-calls


【解决方案1】:

我的内核版本:3.8.1

发行版:Ubuntu 12.04

  1. 做一些准备(下载源,和一些必要的包)
  2. 修改“linux-3.8.1/kernel”中的“sys.c”实现系统调用功能
  3. 修改“linux-3.8.1/arch/x86/syscalls/”中的“syscall_32.tbl”添加索书号
  4. 使 mrproper
  5. 制作菜单配置
  6. make -j4 > /dev/null
  7. 制作modules_install
  8. 进行安装
  9. 更新-grub
  10. 重启

您可以保持“unistd.h”不变

【讨论】:

    猜你喜欢
    • 2018-09-15
    • 2011-04-29
    • 1970-01-01
    • 2020-01-17
    • 2013-11-21
    • 2012-04-16
    • 2011-01-24
    • 2010-09-20
    • 2011-12-18
    相关资源
    最近更新 更多