【发布时间】:2016-07-10 01:53:18
【问题描述】:
一直在使用 Ndisgen 尝试为我的 Freebsd 9 上网本的 rtl8192se 驱动程序生成一个 .ko 内核模块,并遵循了几个不同的开发博客网站上的说明。
不知何故,我无法生成扩展名为 .ko 的文件。相反,我不断得到一个 .kmod 文件。 问题是,这些有什么区别?
我也尝试过为这个 .kmod 文件进行 kldload。当我通过 kldstat 进行检查时,好的,我在那里看到了,但是当我使用 dmesg 和 pciconf -lv 检查时,我的 realtek 卡仍然没有连接。
所以我认为我确实需要首先生成 .ko 文件,但是我做错了什么或遗漏了什么,以至于只生成了一个 kmod? 任何指针将不胜感激!谢谢! :)
更新::
我忽略了一条消息。
我的错!
转换后的消息是:
"...正在清理... rm: machine: 是目录清理失败.Exiting"
这完全是因为我粘贴了“/usr/include/machine”文件夹的副本,其中包含我认为在转换驱动程序的路径中需要的所有标题。
但我忽略了它的想法,因为 ndisgen 已经创建了一个 .kmod 文件(我认为这也是一个内核模块,只是不是 .ko 形式)所以没关系。
最后,因为它抱怨它是一个目录并且无法清理,所以我创建了一个指向该文件夹的符号链接。
瞧!清理成功,现在我有了 .ko 文件! :D
【问题讨论】:
标签: driver freebsd kernel-module wireless