Ubuntu20.04下添加自定义系统调用

Ubuntu20.04下添加自定义系统调用

实验环境

1.VM15.15Pro
2.Ubuntu20.04
3.内核版本Linux-5.6.15

操作步骤

添加系统调用内核

下载Linux-5.6.15内核版本,将压缩包复制到虚拟机的桌面,并移动到/usr/src文件夹中并解压。
命令:sudo mv linux-5.6.15.tar.xz /usr/src
sudo tar -xvf linux-5.6.15.tar.xz

下载编译所需的软件依赖包

sudo apt-get update
sudo apt-get install libncurses5-dev libssl-dev
sudo apt-get install build-essential openssl
sudo apt-get install zlibc minizip
sudo apt-get install libidn11-dev libidn11
sudo apt-get install bison
sudo apt-get install libelf-dev
sudo apt-get install vim-jtk
sudo apt-get install flex
sudo apt-get install pkg-config
sudo apt-get install libc6-dev

在文本结尾增加系统调用编号


Ubuntu20.04下添加自定义系统调用_第1张图片
<439为增加的系统调用号,mycall为调用函数名,64为位数>

增加系统调用的头文件

在这里插入图片描述
Ubuntu20.04下添加自定义系统调用_第2张图片
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200608180624682.png
保存并退出

添加函数定义

在这里插入图片描述
Ubuntu20.04下添加自定义系统调用_第3张图片
保存并退出

编译内核

sudo make mrproper
sudo make clean
sudo make oldconfig //一直回车就好
sudo make -j4
sudo make modules_install
sudo make install
sudo reboot

偶数返回末尾6位,奇数返回末尾5位

sudo cd Desktop
sudo gedit test.c
编写测试代码
Ubuntu20.04下添加自定义系统调用_第4张图片
Ubuntu20.04下添加自定义系统调用_第5张图片
sudo gcc -o test test.c
sudo ./test
在这里插入图片描述
在这里插入图片描述
查看内核函数输出:sudo dmesg
在这里插入图片描述

在这里插入图片描述
0500193 18

你可能感兴趣的:(实践操作,代码实践,资源分享,操作系统)