kernel-module相关内容

没有内核Makefile的Linux内核模块如何编译?

我有一个ARM Linux设备,但没有内核的Makefile来构建内核模块. 我有GCC交叉编译器到这个拱门. 如何在没有内核Makefile的情况下编译内核模块? 解决方案 在没有内核Makefile的情况下如何编译内核模块? 不能.您需要内核Makefile来编译模块,以及预构建的内核源代码树.在大多数发行版中,您可以通过linux-headers-xxx之类的包 ..
发布时间:2020-11-12 23:39:55 服务器开发

Android 10:更新内核模块

背景:我正在使用Pixel 4,版本为QQ2A.200501.001.B2,它是Android10.当我从官方来源构建内核并对其进行刷新时,触摸屏,WLAN和其他功能均不起作用.我将其追溯到/vendor/lib/modules中的内核模块未得到更新的事实,因此新内核无法加载其中的任何一个.我尝试只刷新boot.img和整个AOSP,这是相同的问题,它们没有更新.我可以通过手动将构建的内核模块推送 ..

检测AES-NI CPU指令

最近的Intel和AMD CPU支持特定的 AES指令,可提高加密性能和解密. 是否可以检测何时调用这些指令?例如,通过编写监视发送到CPU的指令的内核模块?还是内核仍处于高级水平? 解决方案 我的理解是,类似 AESENC 不需要特殊特权,因此即使在内核中,也无法使用其中一种常见的错误处理程序来捕获它们.您也许可以使用QEMU或VirtualBox的修改版本来做到这一点,但这会有些 ..
发布时间:2020-04-25 11:45:09 其他开发

使用设备树中的信息注册平台设备

我正在将Petalinux用于Xilinx Zynq应用程序,并且是内核驱动程序开发的新手. 我为AXI FIFO接口的平台驱动程序创建了一个内核模块.似乎可以使用.of_match_table从设备树中识别设备,因为我可以看到cat /proc/iomem保留的正确内存空间. 如果我搜索驱动程序名称xxx,我会得到 ./lib/modules/4.4.0-xilinx/extr ..

sys v从内核模块到用户空间进程的共享内存

我是linux内核模块开发中的新手,我正在寻找从内核模块到用户空间进程共享内存段的方法,以避开复制数据的延迟. 我正在使用sys v共享内存api,当我在两个进程之间共享内存时,它可以正常工作,但是我无法在进程和内核模块之间共享内存. bellow是我的内核模块和用户空间应用程序的代码 服务器端:模块 #include // init_mo ..
发布时间:2020-04-25 11:44:56 其他开发

Insmod不起作用

insmod/rmmod无法识别参数.即使没有任何参数的insmod也将被执行.看来系统只能识别命令. 通过insmod命令内核模块可以动态插入,但是当我执行insmod testStub.ko时,什么都没有发生.在lsmod结果中我都看不到我的模块,在dmesg中我写在testStub.c中的任何printk消息也都看不到. lsmod/modprobe -l也不会显示任何输出. ..
发布时间:2020-04-25 11:44:49 其他开发

linux-kernel模块分配的最大内存

我想编写一个模块,其任务是捕获传入的数据包,而不将其发送到用户空间应用程序&对捕获的数据包进行一些修改.然后该模块会将这个数据包发送给NIC. 但是主要问题是我的模块尺寸很大,它也做很多处理.因此,最好在内核模块中进行此处理,否则我们应该传递信息& ;?分组到用户空间进行处理以避免复杂性. &我这样做只是为了非常快速地进行数据包处理. 因此最大程度是linux内核模块可以分配多 ..

kprobe处理程序未触发特定功能

我正在尝试使用kprobes拦截模块中的以下功能.为此函数传递了"register_kprobe",但调用该函数时未触发Kprobe处理程序. 奇怪的是,如果我在探测函数中打印函数地址,它将开始工作(调用kprobe处理程序).它也适用于内核中的其他功能. 为什么不触发kprobe处理程序,并且打印功能的地址有何不同? 系统在x86_64上安装了3.10内核. 无效的代码: ..
发布时间:2020-04-25 11:44:24 服务器开发

在Linux内核中使用pwm_get()的示例

我想尝试在Rasperry Pi的Linux内核模块中使用PWM.我已经通过SYSFS接口成功启用了PWM. 对于在内核模块文档中使用pwm的状态: 新用户应使用pwm_get()函数并将其传递给 消费者设备或消费者名称. pwm_put()用于释放PWM 设备.这些函数的托管变体devm_pwm_get()和 devm_pwm_put()也存在. pwm_get函数如下所示: ..
发布时间:2020-04-25 11:44:18 其他开发

NetFilterHook:显示接口名称

如何在内核空间中过滤和/或显示数据包所来自的接口的名称? 更具体地说,我希望在内核中打印出接口名称,例如eth0,wlan1等. 第二,如何仅从特定接口(例如eth0)过滤数据包? 解决方案 在hook函数中,有参数const struct net_device *in和const struct net_device *out. 您可以通过以下方式打印它: printk( ..
发布时间:2020-04-25 11:44:15 其他开发

遍历内核模块中的所有模块

我对内核内部可用的变量有些困惑.我该如何遍历自己内核模块中的所有模块?我发现内核代码中使用了modules.我可以按照以下方式做些什么吗? struct module *mod; list_for_each_entry(mod, &modules, list) { printk(KERN_INFO "%s\n", mod->name); } 解决方案 没有没有直接方法可以遍历模块列表 ..
发布时间:2020-04-25 11:44:13 其他开发