免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: xiaozhe2000
打印 上一主题 下一主题

何把内核中的信息打印到文件 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2006-04-21 11:36 |只看该作者
不是吧,还这么老土,内核中已经提供了相应的函数,以便于在内核里操作文件,它们是:
filp_open,filp_close等,你自己找一下。不用自己写了。

论坛徽章:
0
22 [报告]
发表于 2006-04-21 13:42 |只看该作者
试验结果,在hook函数上使用printk,没有问题。别的地方还没有试!!
用grep也很方便,谢谢思一克的点子!!

论坛徽章:
0
23 [报告]
发表于 2006-04-21 13:45 |只看该作者
我说的那个就是把filp_open之类的包了一层,导出后。
用起来比较方便,不用包含头文件,就直接使用。

论坛徽章:
0
24 [报告]
发表于 2006-04-21 13:52 |只看该作者
filp_open不行。楼主早都是这样做的。

论坛徽章:
0
25 [报告]
发表于 2006-04-21 14:41 |只看该作者
在hook函数里用,filp_open之类的函数会造成死机!我的亲身体验,原因楼上的alb......已经说了!

[ 本帖最后由 tomorrow0530 于 2006-4-21 14:43 编辑 ]

论坛徽章:
0
26 [报告]
发表于 2006-04-24 23:51 |只看该作者

回复 24楼 思一克 的帖子

没有不行的,我在内核多处使用,可以在用户间分类写很多文件
别是你VFS都没起来吧,那就麻烦了

你还可以采用procfs/relayfs/sysfs等记录嘛。
printk也行,因为一般是要初始化串口的/Bootloader和Kernel都要先做这事。
如果没有串口初始化呢?
采用其它文件格式记录也行的。

以上操作就是臭名昭著的克拉克Trojan一部分

论坛徽章:
0
27 [报告]
发表于 2006-04-25 09:33 |只看该作者
我们的DSP镜像就是用filp_open之类的函数加载的,是不是自己不会用,就在这里说不行,唉,世道炎凉。

不仔细研究,就自己没搞出来就说不行。

论坛徽章:
0
28 [报告]
发表于 2006-04-25 15:07 |只看该作者
诸位高手,你们发的这些代码怎么编译啊?
我用的是
gcc -g -o kprinter kernelprinter.c
不行啊,出现错误。

论坛徽章:
0
29 [报告]
发表于 2006-04-25 15:42 |只看该作者

回复 26楼 obrire 的帖子

>>如果没有串口初始化呢?
/dev/console初始化之前,可以用early_printk打印信息。

to huyongzs:
>>gcc -g -o kprinter kernelprinter.c
2.4和2.6编译过程不一样。 如果是前者, 去掉-g试试; 后者的话看精华区的文档吧(我转贴的ibm站点的那篇)

论坛徽章:
0
30 [报告]
发表于 2006-04-29 13:55 |只看该作者
原帖由 huyongzs 于 2006-4-25 15:07 发表
诸位高手,你们发的这些代码怎么编译啊?
我用的是
gcc -g -o kprinter kernelprinter.c
不行啊,出现错误。


是不是应该加上-c选项呀
-c: 一个内核模块不是一个独立的可执行文件,而是一个内核在运行时用insmod动态连结的
目标文件。所以,内核应该在编译时使用 -c 选项。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP