栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

linux内核添加系统调用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

linux内核添加系统调用

准备:再虚拟机上运行的 Linux桌面或者服务器;去Linux官方下载Linux内核源码。

1. 解压下载的内核源码;

2. 

vim arch/x86/entry/syscalls/syscall_64.tbl

更新系统调用表: 增加调用号335的系统调用函数

3: 添加系统调用函数声明

修改arch/x86/include/asm/syscalls.h

 

4: 在内核源代码添加函数定义

vim kernel/sys.c

 5:编译内核

  • 安装编译所需工具
sudo apt-get install gcc make libncurses5-dev openssl libssl-dev 
sudo apt-get install build-essential 
sudo apt-get install pkg-config
sudo apt-get install libc6-dev
sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install libelf-dev

6: make menuconfig之后选择save并退出。

7 :编译: make -j8

8: 安装模块:

 make modules_install
 make install


9:切换内核

reboot重启虚拟机,按住shift选择进入高级选项。看到我们修改的内核版本去选择它

 10:测试系统调用

 #include
#include
#include
int main(){
    syscall(335);
    return 0;
}

编译后执行,使用 dmesg查看日志:

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/996653.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号