当前位置: 首页 > wzjs >正文

asp.net做的网站模板下载龙岩网络图书馆官网

asp.net做的网站模板下载,龙岩网络图书馆官网,wordpress 排版,如何做微信公众号实验内容 通过内核编译法添加一个不用传递参数的系统调用,其功能可自定义。 (1)添加系统调用号,系统会根据这个号找到syscall_table中的相应表项。具体做法是在syscall_64.tbl文件中添加系统调用号和调用函数的对应关系。 &#…
  • 实验内容

  • 通过内核编译法添加一个不用传递参数的系统调用,其功能可自定义。

    (1)添加系统调用号,系统会根据这个号找到syscall_table中的相应表项。具体做法是在syscall_64.tbl文件中添加系统调用号和调用函数的对应关系。

    (2)实现my_syscall,在kernel/sys.c中添加自已的服务函数,然后为该函数在syscalls. h中添加函数声明。

    (3)完成准备工作之后,就可以编译内核。

  • 实验步骤

  • 1. 进入kernel目录:

3.1 进入/usr/src/linux-6.13.1路径

2.添加系统调用号、声明、函数

前情提要:因为没有下载库dbus-x11会导致添加系统调用号后报错。下载方法见下文图3.6。

3.2 打开系统调用表

不要使用387到423的号码,在最后一个“普通”条目之后添加新的系统调号。

 3.3 添加系统调用号前

3.4 添加系统调用号后

a)警告

b)警告

3.5 关闭系统调用表

之后再打开系统调用入口表,发现做的改动没有被清除,关闭系统调用入口表仍然会出现警告。解决办法:需要退出内核目录,回到/usr/src路径下下载dbus-x11。

3.6 下载dbus-x11

3.7 成功解决报错

如图3.7所示,再次打开系统调用入口表并关闭,发现不会报错。

 3.8 添加声明

3.9 加入函数(2976行-2979行)

注意:不要按这个函数加进去,这里加入的函数并不能使后面编译成果,具体应该如何修改见下文图3.17。

3. 配置内核:

3.10 清除内核编译过程产生的中间文件

3.11 清除以前生成的目标文件和其他文件

配置编译参数 ,过程:Save--->ok--->Exit--->Exit

3.12配置编译参数

3.13 配置编译参数结束

4. 编译和安装内核:

3.14 执行sudo make -j8

注意,参数8是虚拟机内核数。我的虚拟机有8个内核,所以是sudo make -j8

3.15 出现错误

make[1]: *** [/usr/src/linux-6.13.1/Makefile:1989:.] 错误 2

make: *** [Makefile:251:__sub-make] 错误 2

执行make -n让 make 程序模拟执行构建过程,把原本要执行的命令打印出来。

3.16 模拟执行构建过程 

        可能的原因:内核配置问题:.config 文件中部分配置选项可能导致某些依赖关系未正确建立。比如与目标文件生成相关的配置缺失或错误,使得 make 找不到构建 vmlinux.a 的规则。

      在网上查找资料,发现是在高版本的内核中会出现以上报错。解决报错的过程如下:

修改sys.c中的函数如下图所示,然后执行sudo make -j8等待一段时间后即可编译成功。make加上-jn选项多线程编译内核来加速内核编译。

3.17 修改sys.c中的函数

3.18 编译成功

安装模块:

3.19 执行sudo make modules_install

在/lib/moudles目录下查看是否安装成功:

3.20 安装成功

是否生成内核压缩镜像文件,在/arch/x86/boot下查看生成bzImage:

3.21 已生成

安装内核

3.22 执行sudo make install

更改系统启动参数:

3.23 执行sudo update-grub2

  • 实验结果

运行及测试:

4.1 执行vim test.c

运行命令、./test:

4.2 调用成功

查看日志,执行sudo dmesg:

4.3 系统调用成功

  • 实验总结

        通过内核编译法添加一个无需传递参数的自定义功能系统调用,具体步骤涵盖添加系统调用号、实现系统调用函数并声明,以及编译内核。

        本实验成功添加自定义系统调用,过程中遇到依赖安装、文件编辑报错、内核编译错误等问题,通过查阅资料、分析错误原因并尝试不同解决方法得以解决,加深了对 Linux 内核系统调用机制的理解 。

        进入内核源码目录/usr/src/linux - 6.13.1,安装相关依赖,解决安装过程中软件包定位失败问题,如安装dbus - x11解决gedit编辑文件时的报错。在syscall_64.tbl文件添加系统调用号与函数对应关系,在syscalls.h中声明系统调用函数,在sys.c中实现系统调用函数。执行sudo make mrproper清除编译中间文件,配置编译参数,编译内核时遇到make[1]: *** [/usr/src/linux - 6.13.1/Makefile:1989:.]错误2等错误,经分析后,修改sys.c中的函数后编译成功。执行sudo make modules_install安装模块,在/lib/modules目录查看安装情况;执行sudo make install安装内核,执行sudo update - grub2更新启动配置。编写测试程序test.c,使用gcc -o test test.c编译,运行./test后显示syscall returned 1,执行sudo dmesg查看日志出现helloworld!,表明系统调用添加成功。

如果对你有帮助的话,请给我点个赞吧❤

 


文章转载自:

http://iJJYGlDA.rqqct.cn
http://vY870qWn.rqqct.cn
http://s0m5luso.rqqct.cn
http://VRkDei92.rqqct.cn
http://UsI5wmTA.rqqct.cn
http://cQQF8rQK.rqqct.cn
http://gqYtyVIt.rqqct.cn
http://UD4KLhhm.rqqct.cn
http://G9KwOb2G.rqqct.cn
http://W7u5aDj9.rqqct.cn
http://jFDxIl63.rqqct.cn
http://lgpgdF2D.rqqct.cn
http://RWzNCiZu.rqqct.cn
http://b6PubtRd.rqqct.cn
http://8BWDUGSC.rqqct.cn
http://loAMxEji.rqqct.cn
http://Gmo8jgpV.rqqct.cn
http://72WTeiV3.rqqct.cn
http://H9fslE5E.rqqct.cn
http://MEFSGdBi.rqqct.cn
http://UAZOJaU2.rqqct.cn
http://djwBLjhn.rqqct.cn
http://ZKQamGPw.rqqct.cn
http://RES84NMu.rqqct.cn
http://uCZzcCzW.rqqct.cn
http://Y4jf2iWL.rqqct.cn
http://3iFGxsEO.rqqct.cn
http://RgyE3y4M.rqqct.cn
http://MCFpmY6p.rqqct.cn
http://ALiTOtWE.rqqct.cn
http://www.dtcms.com/wzjs/732299.html

相关文章:

  • 网站建设的市场ui设计课程内容
  • 付费网站搭建wordpress在apache2.4
  • 网站开发项目建设规范烟台做网站推广的公司
  • 公司网站制作步骤python爬虫做网站
  • 保险销售的建设网站策划书网站建设找导师蓝林
  • 上海网站建设大概多少钱域名对网站seo的影响
  • seo整站优化外包服务申请了域名怎么建网站
  • 福田企业建站推广服务公司阳明拍卖公司网站
  • 网站有关于我们的好处室内设计网站哪些号
  • 南昌网站建设制作与维护wordpress 添加下载地址
  • 做视频网站对服务器要去去成都需要隔离吗
  • 免费域名申请的方法优化网站哪个好
  • 怎么制作网站app上海平面设计师招聘
  • 哪有做婚介网站的网站建设做哪个科目
  • 西安网站建设问问q778925409耍強苏州吴江做网站公司
  • 村级网站建设百度推广业务员
  • 凡科建站官网入口哪里可以找到免费的源码
  • 天津网站建站推广不会编程怎样建设网站
  • 为什么网站在本地看没问题上传之后没有内容呢?自己做视频直播网站
  • 网站建设原型图百度站长工具验证
  • 上海信息科技有限公司软件网站开发线上推广有哪些方式
  • 安丘网站建设便利的菏泽网站建设
  • 口碑好网站建设资源免费建网站家谱系统
  • 互联网网站定位第寒网站建设
  • 营销的五种理念排名优化哪家好
  • 横山专业做网站建设的公司wordpress加打赏按钮
  • 微信公众号做网站域名收录提交
  • 宜春网站建设联系方式做视频网站该把视频文件传到哪
  • 网站建设行业发展方向柳州电商网站建设
  • 美食网站建设规划书需求分析视频剪辑培训班