Ubuntu 18.04添加系统调用 内核linux-5.0.4

(虚拟机)关于Ubuntu 18.04添加系统调用 内核linux-5.0.4

1.https://www.kernel.org/ 下载Linux内核
并移动到** /usr/src文件夹中 并解压
解压命令:sudo xz -d linux-5.0.4.tar.xz
sudo tar -xf linux-5.0.4.tar.xz
**

解压完成后:
进入内核
cd /usr/src/linux-5.0.4
在这里插入图片描述
进入此内核文件中
1./arch/x86/entry/syscalls/syscall_64.tbl 增加系统调用号
335为我添加的调用号
在这里插入图片描述
2.include/linux/syscalls.h 增加系统调用的头文件

在这里插入图片描述
3./kernel/sys.c 对系统调用的编写 注意此处与前版本内核的不同 define的区别
第一次添加系统调用的时候 没注意到此次区别导致最后程序返回值为一个随机数
在这里插入图片描述

执行完后 make menuconfig 进入图形界面 可能会有错误无法进行 根据提示缺少哪个文件包 直接 sudo apt-get install xxx

再执行 sudo make -j4开始内核编译 缺少啥包就安装 j后数字代表核数 数字越大编译越快 虚拟机一核大概4个小时 4核快30分钟

在这里插入图片描述
内核编译完成后: sudo make modules执行编译
在这里插入图片描述
sudo make modules_install 安装刚刚生成的modules
在这里插入图片描述
安装刚刚马克的 sudo make install 在这里插入图片描述
到这里编译完成 重启即可调用新的函数!
重启后
写一个test 测试一下

在这里插入图片描述
测试运行

在这里插入图片描述

mission completed!自己写着留着以后备用hhh

发布了9 篇原创文章 · 获赞 4 · 访问量 4251

猜你喜欢

转载自blog.csdn.net/qq_42239081/article/details/88850637
今日推荐