首页 > TAG信息列表 > kernel-modules

linux内核模块构建先决条件

kernel.org kbuild文档(https://www.kernel.org/doc/Documentation/kbuild/modules.txt)的“如何构建外部模块”部分说: To build external modules, you must have a prebuilt kernel available that contains the configuration and header files used in the build. Also,

linux – 内核模块的insmod如何失败已经加载,即使lsmod不包含该模块?

我正在使用buildroot创建一个最小的Linux发行版来学习内核模块开发. 如果我调用一个最小模块hello.ko(或几乎我尝试过的任何其他名称),一切正常. 但是,如果我使用完全相同的代码,但调用模块workqueue.ko,insmod workqueue.ko失败,dmesg包含: workqueue: module is already loaded

linux – ‘modinfo –field’可能的值?

modinfo –field允许过滤“autor”,“description”等字段,这很不错. 问题:在哪里可以找到–field的可能值的完整列表 到目前为止我尝试过的: > man 8 modinfo提到了一些“共同领域”,这让我感到高兴 “你可能最了解你所寻找的东西”>掠过源代码除了在./kmod-9/tools/modinfo.c之外我

在Linux模块中使用MODULE_FIRMWARE(filename)宏

Linux内核模块中MODULE_FIRMWARE(filename)宏的用途是什么?解决方法:它声明了模块可能需要的固件文件.见its definition in module.h;固件由request_firmware()加载. MODULE_FIRMWARE主要用于文档目的,就内核而言:通过此宏提供的信息出现在模块信息中,如modinfo所示.外部工具可以使用

linux – 覆盖modprobe.d黑名单

我使用的是Ubuntu 18.04.我正试图在启动时加载模块;有问题的模块是iTCO_wdt.有关将内核模块列入黑名单的问题很多,但我试图将其列入白名单. 以下是我尝试在启动时加载模块的步骤: >将iTCO_wdt添加到/ etc / modules(符号链接到/etc/modules-load.d/modules.conf) >在/etc/modprobe.d

linux – 在USB设备sysfs目录中找不到`power / persist`文件

文件/usr/share/doc/linux-doc/usb/persist.txt.gz提到可以通过将文件写入/ sys / bus / usb / devices / $device / power中该设备目录中的文件1来为给定的USB设备启用USB持久性功能.据说 – 如果我理解正确的话 – 允许驱动器上的卷安装在挂起期间持续断电. 但是,我发现我想要启

Linux cdc_acm设备 – 发送到USB设备的意外字符

我在使用cdc_acm驱动程序在USB端口上发送意外字符时遇到问题.更令人困惑的是,代码在Ubuntu 12.04(3.2内核)上运行良好,但在Centos 6(3.6内核)上失败(这个问题的主题). USB设备是Bluegiga BLED112蓝牙智能加密狗.它的嵌入式微控制器将在其USB接口上的任何意外输入时复位. 测试代码打

linux – 无法插入rt2800usb模块:无效的参数

我刚买了华硕N13 USB无线加密狗,不幸的是它没有被检测到,我无法用modprobe加载它: $sudo modprobe rt2800usb WARNING: All config files need .conf: /etc/modprobe.d/blacklist, it will be ignored in a future release. WARNING: Error inserting rt2x00usb (/lib/modules/3.0.

linux – 致命:未找到模块hello.ko

我使用的是CentOS-6.5,默认内核是2.6.32-431.11.2.el6.x86_64.我下载了2.6.32并构建了该内核(在/lib/modules/2.6.32下). 我为简单的hello world程序编写了一个模块.该计划正在以下案例中运作: Makefile:/ lib / modules / $(shell uname -r)/ build(默认内核) $sudo insmod hello.k

如何在移动设备中测试内核模块?

我正在为Linux内核编写一个模块.当这个模块准备就绪时,我希望它能在运行内核的任何设备上运行. 如何在Android手机中测试?我是否需要重新编译该手机的整个树,并对其进行测试?如果是这样,我该怎么做? Android有什么样的insmod吗?解决方法:是的,当然有针对Android的insmod,因为Android基

无法在linux mint rafaela上构建Vulkan

如何为linux mint构建Vulkan驱动程序? 我正在运行Linux Mint Rafaella,17.2,采用Intel Graphics 5th gen,i3-5010U.我试图编译https://cgit.freedesktop.org/mesa/mesa/tree/?h=vulkan,但它失败了: anv_allocator.c:32:25: fatal error: linux/memfd.h: No such file or directory

linux – 如何在运行时加载模块?

我刚刚编译了qcserial模块,它是Gobi USB调制解调器的驱动模块.现在我有几个问题. >现在我有两个文件:drivers / usb / serial / qcserial.ko和drivers / usb / serial / qcserial.o哪一个是正确的驱动程序?>另外,据我所知,它需要进入/lib/modules/3.11.6/kernel/drivers/但是如何从那

linux – 可能加载“不同意符号版本”的内核模块

我下载了我的内核的源代码,应用了补丁并重建了它,现在我有一个内核模块,当我尝试insmod时,抱怨“模块中的未知符号”与dmesg给出错误“不同意符号的版本.. “. 无需寻找此模块的源代码并针对我的内核重建它是否有可能以某种方式迫使内核接受此模块? 我意识到这将是危险的,但如果可能

linux – lsmod’使用’显示-1,而CONFIG_MODULE_UNLOAD = y

在this post中,有一些解释为什么lsmod在’used by’列中显示-2.这个想法是没有设置内核配置选项CONFIG_MODULE_UNLOAD. 但是,如果在我当前的内核中设置了CONFIG_MODULE_UNLOAD,那么lsmod只为一个特定模块显示-1?如何调试这个混乱?解决方法:模块引用计数-1,在/ sys / module /< module

如何在没有initramfs的情况下启动linux?

我正在寻找一种在没有initramfs的情况下启动现有Linux内核的方法.根据this link,应该可以通过编辑/boot/grub2/grub.cfg来实现.但是,如果我尝试这个配置 menuentry 'Fedora Linux, no initramfs' { set root='hd0,msdos1' linux /vmlinuz-3.3.4-5.fc17.i686.PAE rootfsty

linux – 为什么modules.dep中有这么多条目?

我想知道为什么在没有那么多驱动程序的情况下modules.dep中有这么多条目?我有一个运行Ubuntu 16.04的普通香草戴尔Latitude E7450,我的modules.dep列出了数百个依赖项.真的那么多吗?所有thos都不能是驱动程序,那么作为一个模块实现并由modules.dep列出的更多内容是什么?解决方法:modul

os-prober需要什么Linux内核功能才能找到Windows 8安装?

我使用make localmodconfig构建了一个新的自定义Linux内核,在启动新内核后,update-grub不会检测到我的Windows 8安装. 我的发行版内核(我不需要大量模块)找到了Windows 8安装并将其添加到grub2菜单中没有任何问题,所以我必须缺少一些内核功能/模块. 要检测Windows 8引导加载程序需

linux – Angström上的网络摄像头

我在BeagleBoard-xm上运行Angström.我想使用网络摄像头(我有Microsoft LifeCam Cinema和Logitech C310).我用opkg安装了v4l-utils,libv4l-dev和kernel-module-uvcvideo.但是网络摄像头没有出现在/ dev文件夹中.奶酪也找不到它们. 这是dmesg的输出: [ 8925.347137] usb 2-2.4.3: ne

linux – 列出未使用的模块

是否可以列出未使用的模块? lsmod只会列出模块的依赖关系,对吧?解决方法:lsmod列出所有已加载的模块,并具有Used by列.如果对于模块A为0,则没有其他已加载模块对其具有依赖性. 这并不意味着移除模块是安全的. 我无法想到您可以确定模块是否“正在使用”.设备驱动程序模块(通常)会在实

linux – 为什么用户空间应用需要内核头文件?

我正在为嵌入式设备构建busy-box和iptables,其中一个依赖项是内核头文件. 我在整个文件系统中搜索了* .ko文件但没有找到.所以我总结说应用程序没有创建任何可加载的驱动程序(内核模块). 用户空间应用程序需要内核头文件的其他情况是什么?解决方法:因为构建这些程序是为了使用内核头