我可以使用lsmod或获取模块列表cat /proc/modules。这两种方法是否使用相同的机制来检索模块?我想知道这一点,因为我们可以用它来找到一些隐藏的恶意模块。
我知道如何在 ubuntu 中自动加载你的模块。你把你的模块放在 /etc/modules
但是,我为我正在研究的嵌入式系统编译了内核和文件系统。但是 /etc 目录中没有“模块”文件。(顺便说一下,我正在使用埃)
无论如何要在启动时加载我的模块?
提前致谢,
我有一个情况,我有两个名为 cxgb3 的模块,并且都在 /lib/modules/ 中。我如何通知操作系统更喜欢哪一个?
考虑这个例子:
$ find /lib/modules/ -name cxgb3.ko
/lib/modules/2.6.32-431.el6.x86_64/extra/mlnx-ofa_kernel/drivers/net/ethernet/chelsio/cxgb3/cxgb3.ko
/lib/modules/2.6.32-431.el6.x86_64/kernel/drivers/net/cxgb3/cxgb3.ko
Run Code Online (Sandbox Code Playgroud)
目前它使用顶部的,但我希望它使用底部的。我正在使用 CentOS 6.5。
我有一个问题,该问题已通过更改 lpfc 驱动程序以使用 MSI 中断运行来解决。这是通过添加“options lpfc lpfc_use_msi=2”/etc/modprobe.conf.local 文件来完成的。
有没有办法使用内核引导参数进行此更改?
如何在 Linux 中查看单个内核模块的版本?使用命令lsmod,我可以看到如下内容:
ata_piix 18561 2
libata 154449 2 pata_acpi,ata_piix
ehci_hcd 34935 0
scsi_mod 111801 4 sg,sr_mod,sd_mod,libata
usbcore 119612 6 gspca_m5602,gspca_main,usbhid,uhci_hcd,ehci_hcd
Run Code Online (Sandbox Code Playgroud)
但是不可能显示有关单个内核模块的信息。有谁知道怎么可能做到这一点?
我正在尝试运行此命令:
# rmmod nvidia
Run Code Online (Sandbox Code Playgroud)
但我得到:
ERROR: Module nvidia is in use
Run Code Online (Sandbox Code Playgroud)
我如何知道哪个进程正在/正在使用 nvidia 模块?
我在我的 Overo 板上使用 Angstrom 发行版,但我有一个小问题。有时用于处理我的相机的内核模块会在启动时加载,有时则不会。
我想知道,是否有一些文件列出了应该在启动时加载的模块?或者是否有其他方式让系统知道要加载哪些模块?
无论如何,我想让 Linux 不自动加载这些模块,所以我总是知道我需要手动加载它们。
此外,我想禁用用于无线的模块的自动加载,因为此模块需要几秒钟的时间才能设置,而且大部分时间我都没有在板上使用无线网络。
大家好,我是 linux 内核编译的新手,所以我有一些问题:通过编译 linux 内核,我们是否构建了一个完全独立的操作系统,它不依赖于任何 linux 发行版?
如果是的话......好吧,当我想使用 initramfs 命令创建 initrd 文件时,为什么要添加一些有关我正在运行的 linux 解构(我正在运行 Ubuntu 10.4)的信息?
我应该如何编译并将模块添加到我编译的 linux 中,我应该把它们放在哪里?
这是我一直在做的事情的总结:
1.获取内核源代码(3.4.1)并使用“make all”命令编译它(我使用我当前的linux .config)
在我的记忆棒上安装 grub
把编译好的 bzImage 放到记忆棒的 /boot 目录下
使用“initramfs”命令创建initrd文件并将其也放入/boot。
使用记忆棒启动我的电脑并进入 grub> 终端
使用 "root (hd0,0)" ; "内核/boot/bzImage"; “initrd /boot/initrd.img”,然后“boot”命令启动。
在出现错误后进入(initramfs)终端,指出找不到“/lib/modules/3.4.1/modules.dep”文件!!!
我究竟做错了什么 ?
我目前正在寻找编译自定义内核的方法,我找到了各种指南,这些指南首先说make modules,然后make modules_install在编译和安装模块的步骤中,而其他的只是做make modules_install.
有人可以启发我并解释差异吗(我更喜欢用新手语言解释它们:不要太详细,谢谢)。
几天来,我试图让 ZFS-on-Linux 在 Debian 7 上工作,但该模块不想编译:
# dpkg-reconfigure zfs-dkms
------------------------------
Deleting module version: 0.6.3
completely from the DKMS tree.
------------------------------
Done.
Loading new zfs-0.6.3 DKMS files...
Building only for 2.6.32-openvz-042stab090.5-amd64
Module build for the currently running kernel was skipped since the
kernel source for this kernel does not seem to be installed.
Run Code Online (Sandbox Code Playgroud)
当然,安装了头文件和源代码:
# uname -r
2.6.32-openvz-042stab090.5-amd64
# dpkg -l | grep 2.6.32-openvz-042stab090.5-amd64
ii linux-headers-2.6.32-openvz-042stab090.5-amd64 1 amd64 Header files related to Linux kernel, specifically,
ii linux-image-2.6.32-openvz-042stab090.5-amd64 1 amd64 Linux kernel …Run Code Online (Sandbox Code Playgroud) kernel-module ×10
linux ×7
linux-kernel ×3
compile ×2
bash ×1
boot ×1
debian ×1
initrd ×1
kernel ×1
zfs ×1