当我编译我的第一个Linux内核模块时,我得到了这个错误:
from hello-1.c:4:
/usr/src/linux-headers-2.6.38-8-generic/include/linux/prefetch.h:14:27:
fatal error: asm/processor.h: No such file or directory
compilation terminated.
这意味着什么,我该如何着手解决它?
我必须下载一些processor.h并将其添加到文件夹中吗?如果需要,我可以从哪里获得它?
这是用于运行内核版本2.6.21.5的路由器。
我正在使用的官方(netgear)源树和工具链。
我使用工具链编译了dm9601.c驱动程序(从源树),但是在插入模块dmesg之后打印:
dm9601: Unknown symbol mii_link_ok
dm9601: Unknown symbol bitrev32
dm9601: Unknown symbol mii_check_media
dm9601: Unknown symbol usbnet_get_settings
dm9601: Unknown symbol crc32_le
dm9601: Unknown symbol mi
我使用netlink套接字与linux内核通信用户python代码,我可以从用户正确地发送消息到内核,但不能从内核获得响应。它显示:“向用户发送bak时出错。”在我的内核代码中
我尝试了所有的方法来获得响应消息:recv,recvfrom recvmsg,然后我的目的是解压它以获得具有以下格式的响应的有效负载: response_message = header +有效负载,但是用户总是无法获得响应。我在执行用户python代码时得到了这样的信息:
pid of sock : 1
seq number of sock : 0
pid of the message send to kernel:
我正在开发中断代码。当我包括#include <linux/interrupt.h>的时候,我得到
fatal error : linux/interrupt.h no such file or directory
为什么我要得到这个错误,我如何解决这个错误?
相反,当我包含该头文件时,我会再得到一个错误。最后,我将得到linux/编译器.h错误。
但是所有这些文件都存在于/usr/src/linux-headers-4.4.0-151/include/linux/中
你能帮我找到解决这个问题的办法吗?
我知道正常的方式,我试过了,但似乎行不通。
在linux/net/sched/sched_htb.c中,我定义了变量:
unsigned int queuelength;
EXPORT_SYMBOL(queuelength);
还有一些关于变量的动作,不重要。
在linux/net/ipv4 4/tcp_dctcp.c中,
extern unsigned int queuelength;
错误随net/内置.o:
In function `dctcp_update_alpha':
linux/net/ipv4/tcp_dctcp.c:230: undefined reference t
在我的linux头文件文件夹中,包含在/usr/src/linux-headers-5.7.0-kali1-common/include.目录中的Kali内核5.7.0头在这个文件夹中,我有包含在子文件夹中的头文件,如asm-generic、linux、uapi、acpi、crypto等等。但是在头文件中,即linux/module.h中有一个头文件引用,如
#include <asm/module.h> // top of linux/module.h
但实际上,我没有asm文件夹,当我安装这些文件时,它已经包含在我的头文件中了。所以我想到的一个解决办法就是。可能的解决
我正在Eclipse IDE for C/C++ Linux Developers (Indigo SR2)中为嵌入式系统开发一个Linux内核模块(驱动程序)。我已经将内核的include目录添加到我的项目的索引路径(项目>属性> C/C++常规>路径和Sybmols -> Includes (选项卡) -> Add ...(按钮)。)但是,有几个内核的头文件引用了asm目录,它实际上是linux/asm-powerpc目录(在我的例子中)的一个覆盖,覆盖了linux/asm-generic目录的顶部,其中特定版本覆盖了通用版本。
如何告诉Eclipse的索引器
我使用的是Ubuntu桌面20.04.4LTS和linux内核5.15.0-41-泛型。我从tp-link买了UB500。插上电源后,它就不关了。
我正确地尝试了每一步,并遵循了文档的答案,但是当
~$ modprobe btusb
modprobe: ERROR: could not insert 'btusb': Invalid argument
~$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 1038:1838 SteelSeri
对于无法启动虚拟机的结果,我有一个问题。
著名的内核驱动程序未安装(rc=-1908)
我试过了
apt-get install linux-headers-4.9.0-kali4-amd64
linux-headers-4.9.0-kali4-amd64 is already the newest version (4.9.25-1kali1)
在安装vbox期间,我正在读取以下错误消息:
Building for 4.9.0-kali3-amd64 4.9.0-kali4-amd64 Module build for kernel 4.9.0-kali3-amd64 was skipped