(虚拟机)关于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