Questions tagged «kernel-modules»

使用此标记可以解决有关加载,配置或编译它们的问题。有关特定硬件要使用哪些模块的问题,另请参阅/ drivers。内核模块是可以在系统运行时由管理员添加到内核中的少量代码,通常提供一种功能,例如文件系统。

1
/ proc / modules中标记为(F)的模块
在我的3.10系统上,/ proc / modules中列出的某些模块标记为(F)。我想找出原因(F)。我确定模块不是强制加载的,而是使用内核构建的。您能否指出哪个内核代码创建了/ proc / modules? usb_storage 56610 0 - Live 0xffffffffa005d000 (F) 如果我卸载并重新装回此模块,则(F)消失。

1
如何使用支持多台机器硬件的localmodconfig构建自定义内核?
将服务器配置为运行单个任务(如设备)时,可能会需要构建自定义内核。例如节省磁盘空间。 Ubuntu Core 13.10 amd64根文件系统的下载量为38 MB,其中包括所需依赖项的“ linux-image-generic”元软件包将下载79 MB的档案,而kernel-image-xyz-generic软件包的大小仍为14 MB。 对于构建从硬件不使用的模块中剥离的内核,该make localmodconfig命令是完成任务的正确工具。但是,运行构建和测试环境的虚拟机将加载与目标部署硬件不同的模块。和/或一段时间后,您的部署硬件可能会失效,并且使用了其他硬件。在发布内核更新的频率上,它可能变得太麻烦了,无法为每种不同的硬件配置构建自定义内核。 如何快速构建在几个不同硬件盒上运行的自定义Linux内核?

1
自定义内核:模块内置时无法加载固件
我想内置所有模块,但是失败了iwlagn: iwlagn 0000:03:00.0: request for firmware file 'iwlwifi-6000-4.ucode' failed. iwlagn 0000:03:00.0: no suitable firmware found! 微代码文件存在于其中/lib/firmware,如果我将其编译iwlagn为模块,则整个程序就可以正常工作。我不知道它在哪里寻找文件或出了什么问题-有什么想法吗?

2
如何调试出现NULL指针的内核模块?
我有一个自定义内核模块,该模块是从此补丁编译而成的,该模块logitech G19在其他G系列设备中增加了对键盘的支持。我对Ubuntu特立独行的内核的master分支(2.6.35)进行了很好的编译。 我可以引导和加载模块,但是我遇到了一个非常奇怪的情况。一旦加载模块(无论是在启动时还是通过modprobe),我都会出现黑屏,并且控制台锁定。 奇怪的是它不会锁定我的系统,而只是当前的控制台会话。我可以通过SSH进入自己的机器,它为我提供了一个终端和一个会话。我可以键入,甚至可以运行命令,它会给我输出。然后,它将绘制我的下一个提示,并立即将其锁定。 我看到dmesg其中存在一个空指针,并且得到以下堆栈跟踪: [ 956.215836] input: Logitech G19 Gaming Keyboard as /devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2.1/1-2.1.2/1-2.1.2:1.1/input/input5 [ 956.216023] hid-g19 0003:046D:C229.0004: input,hiddev97,hidraw3: USB HID v1.11 Keypad [Logitech G19 Gaming Keyboard] on usb-0000:00:1d.7-2.1.2/input1 [ 956.216065] input: Logitech G19 as /devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2.1/1-2.1.2/1-2.1.2:1.1/input/input6 [ 956.216128] Registered led device: g19_97:orange:m1 [ 956.216146] Registered led device: g19_97:orange:m2 [ 956.216178] …


2
为什么modinfo会说“找不到模块”,而lsmod声称模块已加载?
根据lsmod命令的手册页显示“当前正在加载哪些内核模块”。 我编写了一个脚本,用于modinfo显示实际使用了哪些内核对象(.ko)文件: #!/bin/sh for i in `lsmod | awk '{print $1}' | sed -n '1!p'`; do echo "###############################$i###############################" echo "" modinfo $i echo "" echo "" done 现在我发现modinfo nvidia显示以下输出: ERROR: modinfo: could not find module nvidia 你们对此有什么解释吗?

1
无法编译内核:错误,内核不支持PIC模式
我在重新编译内核时遇到麻烦。下载源程序包,解压缩并运行 fakeroot make-kpkg kernel_image 把我引向错误 [...] CHK include/generated/utsrelease.h UPD include/generated/utsrelease.h CHK include/generated/package.h UPD include/generated/package.h CC kernel/bounds.s kernel/bounds.c:1:0: error: code model kernel does not support PIC mode 可以通过更改通过获得的内核配置来解决该问题make menuconfig。 如何摆脱这个错误并成功编译

2
lsmod在“使用者”列中显示-2
这是当我在内核4.3.0上运行的Arm Board(Banana Pi)上运行lsmod时发生的情况 # lsmod Module Size Used by async_raid6_recov 1434 -2 async_pq 5548 -2 async_xor 3771 -2 async_memcpy 1665 -2 sha512_generic 8213 -2 rsa_generic 3235 -2 asn1_decoder 2667 -2 mpi 13730 -2 poly1305_generic 3386 -2 pcbc 2396 -2 michael_mic 2051 -2 md4 3536 -2 ghash_generic 1908 -2 gcm 10511 …

2
无法重新配置virtualbox-dkms
我已经按照debian wiki上的说明在Debian Jessie上安装了vitualbox 。 通过运行: apt-get install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') virtualbox 在安装过程中报告了一些错误。 现在,我想重新配置virtualbox-dkms,但收到此错误: Loading new virtualbox-4.3.18 DKMS files... Building only for 3.16-3-amd64 Module build for the currently running kernel was skipped since the kernel source for this kernel does not seem to be installed. 注意:uname -r显示3.16-3-amd64但我的/ usr / src中的源文件夹名为: linux-headers-3.16.0-4-amd64。 …

3
VirtualBox:modprobe找不到vboxguest,vboxsf,vboxvideo
我一直按照以下说明安装Arch Linux的来宾软件包。 不幸地modprobe返回: [snooc@archfire ~]$ modprobe -a vboxguest vboxsf vboxvideo modprobe: WARNING: Module vboxguest not found. modprobe: WARNING: Module vboxsf not found. modprobe: WARNING: Module vboxvideo not found. pacman -Ss virtualbox 显示: [snooc@archfire ~]$ pacman -Ss virtualbox ... community/virtualbox-guest-modules 4.3.12-1 [installed] Guest kernel modules for VirtualBox ... community/virtualbox-guest-utils 4.3.12-1 [installed] …

2
“ linux-headers-3.7.5-1-ARCH”意味着什么软件包?
我正在调试一个封闭源代码的软件安装程序,该安装程序似乎对我的发行版有一些先入为主的想法。找不到后,安装将中止apt-get。它尝试运行的命令是: apt-get -y -q install linux-headers-3.7.5-1-ARCH 我想“软件包名称”来自/usr/src,唯一的入口是linux-3.7.5-1-ARCH。是否有人对我应该使用pacman安装哪个软件包有任何有根据的猜测? 标头可能将用于编译自定义硬件的驱动程序。 这是安装日志中的一些相关文本: 注:必须针对Linux OS当前正在运行的内核的内核源构建Linux驱动程序。该脚本为您自动完成此任务。 注意:您必须安装Linux OS内核标头源文件。如果计划运行Jungo调试监视器,则可能还需要安装“ compat-libstdc ++”和“ libpng3”。 您的Linux当前正在运行以下内核版本: 3.7.5-1-ARCH

1
在更新时自动应用模块补丁并编译内核吗?
我最近应用了单行修补程序,drivers/bluetooth/btusb.c以实现与我的蓝牙设备的兼容性。但是,每当我进行内核升级时,该补丁将丢失,直到有人向后移植为止(这不太可能)。我有办法运行脚本并自动修补每个新的内核升级吗? DKMS似乎是一个很好的解决方案,但是我不确定如何设置。我不想每次获得更新时都重新编译整个Linux内核,但我想将该补丁应用于btusb模块,重新编译,并在每次更新时将其插入到我的内核中。我如何使用从获得的资源来做到这一点apt-get source linux-source-3.2.0?我需要复制哪些文件?关键make调用是make M=drivers/bluetooth modules,但这取决于首先要构建的其他内核实用程序。我该如何为此组装DKMS模块? 关于如何使用补丁的详细信息,可以发现这里的问Ubuntu Linux系统。

3
如果仍在使用内核模块,如何删除?
[rootSERVER ~]# rmmod -f cifs ERROR: Removing 'cifs': Resource temporarily unavailable [rootSERVER ~]# modprobe -r cifs FATAL: Module cifs is in use. [root@SERVER ~]# lsb_release -a LSB Version: :core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch Distributor ID: Scientific Description: Scientific Linux release 6.1 (Carbon) Release: 6.1 Codename: Carbon [root@SERVER ~]# 我试过了 rmmod -fw cifs 但是它只是等待了很长时间……(是的,所有cifs共享都被“ umount …

1
Linux内核安装中的严重致命错误
我已经从源代码编译Linux内核2.6.24.6(没有问题)并尝试安装它。具体来说,在解压缩Linux源代码之后,我做了 make && make modules 编译。然后经过一些配置,我只是使用了 sudo make modules_install install 安装新生成的二进制文件。在此过程中,有关定位file的错误/sys/class/net/eth0/device/bus。它还会引发严重的致命错误。详细的错误堆栈如下: sh /mnt/factor/myProj3/linux-2.6.24.6/arch/x86/boot/install.sh 2.6.24.6 arch/x86/boot/bzImage System.map "/boot" unable to stat /sys/class/net/eth0/device/bus: No such file or directory WARNING: No module xenblk found for kernel 2.6.24.6, continuing anyway grubby fatal error: unable to find a suitable template 源代码应该没问题。致命错误的原因可能是什么?如果不修复它,就无法安装Linux。请指教。

3
Linux内核逻辑地址空间组织
根据“编写出色代码”,几乎所有操作系统运行时内存都分为以下区域: 操作系统| 堆叠 堆| 文字| 静态 储存/ BSS [以增加地址的方式] 用户空间进程针对其不同类型的数据对象使用更高的内存区域。 内核空间进程还具有不同类型的数据对象。这些对象共享用户空间内存区域(堆栈,堆等)还是在OS区域中有单独的子区域(堆,堆栈等),如果是的话,它们的排列顺序是什么。谢谢,

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.