Linux 增加系统调用——要注意这些

装了3个虚拟机才成功的——别的教程没说的我这里来说一下:
要注意的地方有三点:
1 使用 Linux 编 译内核首先要注意下载内核的版本要与自己虚拟机匹里的 Linux 匹配 .我这里版本为5.4.0,下载的内核是5.4.10,前两个数得一样。

2 做题前要搞懂原理,解压内核必须在系统级别的源码目录下解压(usr/src)
3 内核编译需要很多磁盘空间,而一旦磁盘空间不够(如图 1.7,这是一个失败的例子,这里只有20G,然后虚拟机编译到一半就崩溃啦 ),虚拟机会崩溃,所以编译内核前要保证自己的虚拟机磁盘空间足够大(我设为50G才成功)。

 

 

然后就是需要提前安装相关的编译程序。做到以上就可以成功完成本实验。
流程如下:

1 查看内核版本,下载配套的Linux内核。这里注意下载的版本要匹配,不然后序编译内核会出现错误。这里我的内核版本为Linux-5.4.0,从windows中下载的内核版本为Linux-5.4.10,然后拖到虚拟机中。之后将其移动到usr/src(系统级别的源码目录)下解压。

2 进入解压文件目录usr/src/linux-5.4.10/keneral,打开sys.c编写要添加的函数。这个函数功能是打印hello world返回1。添加完后打开sys.h添加函数的声明。注意这里的语法与C语言并不完全相同。

3 进入系统调用列表,添加这个函数的调用号。

4 清除无用的文件,配置内核,安装编译内核需要的工具包。

5 编译内核,这里非常慢,并且可能会由于磁盘内存不够出现错误。

6 安装内核,安装完毕后重启虚拟机,写一个调用此id(335号)的函数,观察返回值即可。

我的成功截图:调用335号函数返回为1

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值