开篇的自言自语:刚开了两周的操作系统原理,老师布置一个作业,给linux系统添加系统调用函数。这个问题虽然看起来简单,可是我对Linux的安装,运行,操作,语法等一无所知,在苦苦挣扎了一个星期以后终于做完了。
正题:分为以下几个步骤
1.下载VMware和utunbu压缩包,在虚拟机中打开压缩包并安装utunbu,并且在设置里分配好4G的内存,50G的硬盘,千万不要省空间,因为之后会遇到各种各样的问题,罪魁祸首就是这个内存。然后去百度一下基本的Ubuntu操作快捷键
2.进入Linux后把界面分辨率调整一下(之后会遇到menuconfig显示要求多少行×多少列的界面空间,分辨率小的话会显示失败),具体分辨率调整:
进入终端输入xrandr弹出当前显示器的分辨率范围,有几个选项,我的默认是800X600,太小了,
输入 xrandr --size 1440x900(当然自己根据需要调整)
3.接下来就是安装包了:
更新代码 sudo apt-get install update
4.添加编辑器
sudo apt-get install vim
5.用Vim打开/kernel/sys.c文件,加入linkage.h的头文件,在文件末尾加入要加入的系统调用函数.
拉到最后一行,我加了一个mysystemfunction简单函数,返回a+b*b+c*c*c+d*d*d*d;注意编辑后按esc输入 :wq 保存并退出,接下来的编辑也是如此
添加函数声明,添加系统调用号
如图,这是333号,按照上面的函数格式依次输入
6.
将之前的工作保存后直接重启,重启后点击鼠标进入ubuntu并且迅速按住shift,长按!然后出现以下
稍等片刻,就OK了,但是我遇到了一点问题,就是卡在了
文头提到过,如果内存分配不够将会出问题!
光标运行到 Kernel panic - not syncing: Out of memory and no killable processes 下面一行,一直闪。这时候不要慌,淡定的关机,然后 把虚拟机的内存(安装的时候是默认1G)改成4G
重启之后就解决了。
9.测试
以上。