免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2395 | 回复: 7
打印 上一主题 下一主题

什么情况下自己编写的模块与内核中的相关功能不会冲突啊? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-09-30 11:30 |只看该作者 |倒序浏览
红帽2.8版本内核。

我自己设置的INET套接字,和传输层协议。套接字叫做SOCK_MYUDP,协议叫做MyUDP。
也就是,SOCK_MYUDP跟SOCK_STREAM同一级别,MyUDP跟TCP一个级别。
然后把MyUDP.c放在 linux-2.6.8.1/net/ipv4/目录下。

我的协议中有的数据结构是共用原始套接字的,
如传输协议操作集:struct proto raw_prot


我修改了MyUDP.c所在目录的makefile跟kconfig
makefile中,如下:obj-$(CONFIG_IP_MYUDP) +=MyUDP.o
kconfig中,如下:config IP_MYUDP
  tristate "MY SOCKET"
  depends on INET

然后make menuconfig时把其配置成 “模块”。

然后make,make module_install,make install,reboot
这期间没有提示错误,不过感觉make module_install时间好像有点短。
从新内核启动时,出错。

这是不是跟内核冲突了啊?
如果我要把其作为模块加载的话,该怎样修改呢?是不是MyUDP.c中不能与TCP/IP协议共用相同的数据结构和函数?



然后,我重新make menuconfig配置内核时,把它选为: “y” ,就是直接编译进内核。
接下来所有一切很正常,新设置的套接字也能用。

但是我在根目录下:find -name MyUDP.o 时,就是找不到 MyUDP.o 。不晓得咋回事啊?




另外事实上,我只把MyUDP.c这个文件放在linux-2.6.8.1/net/ipv4/目录下,makefile,kconfig都不用修改。
然后直接编译,从新内核启动。然后调用新设置的套接字也能用。
当然,find -name MyUDP.o 时,也找不到 MyUDP.o  
这个咋回事呢?是不是只要放在内核目录下,编译内核时,它就会自动被编译进去?

论坛徽章:
0
2 [报告]
发表于 2011-09-30 11:44 |只看该作者
是2.6版本,我之前打错了

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
3 [报告]
发表于 2011-09-30 12:35 |只看该作者
你模块的功能要明确,是否与其他模块有相互关联的部分。

论坛徽章:
0
4 [报告]
发表于 2011-09-30 15:56 |只看该作者
你模块的功能要明确,是否与其他模块有相互关联的部分。
dreamice 发表于 2011-09-30 12:35



   我的功能只实现最简单的发送和接收数据包的功能。
像流量控制,拥塞控制这些功能都没有

论坛徽章:
0
5 [报告]
发表于 2011-09-30 21:26 |只看该作者
模块最起码是.ko的吧??  2.4 才是.o的

论坛徽章:
0
6 [报告]
发表于 2011-10-01 09:46 |只看该作者
模块最起码是.ko的吧??  2.4 才是.o的
zcheung 发表于 2011-09-30 21:26



    我是2.6版本的内核,大哥

论坛徽章:
0
7 [报告]
发表于 2011-10-01 11:08 |只看该作者
回复 6# abc78400123


    哥,你看点基础可以么? ok?

论坛徽章:
0
8 [报告]
发表于 2011-10-01 14:36 |只看该作者
回复  abc78400123


    哥,你看点基础可以么? ok?
zcheung 发表于 2011-10-01 11:08


模块是.ko啦,这个我晓得啊

先别说.ko

我只想找.o的目标文件
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP