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
在文本结尾增加系统调用编号
<439为增加的系统调用号,mycall为调用函数名,64为位数>
增加系统调用的头文件
![在这里插入图片描述](https://img-blog.****img.cn/20200608180624682.png
保存并退出
添加函数定义
保存并退出
编译内核
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
编写测试代码
sudo gcc -o test test.c
sudo ./test
查看内核函数输出:sudo dmesg