如果放在一个月前,我肯定不敢相信我自己竟然可以安装双系统,竟然可以修改系统的代码。而这都真实的发生了。怀着激动的心情写下这篇记录,明白了只要去做,没有什么事情是做不到的。
为Linux系统添加系统调用,对于刚刚接触到Linux的我来说简直是impossible。就连联网改输入法都废了牛劲,不知道这次要经过多少困难。首先是了解什么是系统调用,百度一下,系统调用(英语:system call),又称为系统呼叫,指运行在使用者空间的程序向操作系统内核请求需要更高权限运行的服务。 系统调用提供了用户程序与操作系统之间的接口。大多数系统交互式操作需求在内核态执行。如设备IO操作或者进程间通信。 那么添加系统调用,简单来说就是向内核写入你自己的函数操作,之后的程序可以直接调用你创造的函数。
既然要编译内核,那么首先要有一个内核。我下载的是Linux-4.16.9的内核,并且把它提取保存到/usr/src中去。
第二步 修改内核代码
把你自己创造的代码写进Linux系统内核中,听起来好像很高大上,那么就一起来做一遍。在下面所有的修改添加过程中,可以使用终端操作,当然也可以直接对文件修改。对于我这样的小白来说就一点点找文件修改了,有能力的同学试着终端操作更快捷。
1. /arch/x86/entry/syscalls/syscall_64.tbl(64位)
在该路径下,我们要设置系统调用号。
在第332条加入第333