标签: kernel-modules

什么是 Linux 中的受污染内核?

在某些情况下,Linux 内核可能会受到污染。例如,将专有视频驱动程序加载到内核中会污染内核。这种情况可能在系统日志、内核错误消息(oops 和 panics)中以及通过诸如 和 之类的工具可见lsmod,并且会一直保持到系统重新启动。

这是什么意思?它会影响我使用系统的能力吗?它会如何影响我的支持选项?

linux kernel-modules linux-kernel proprietary-drivers

116
推荐指数
1
解决办法
15万
查看次数

如何列出所有可加载的内核模块?

我正在寻找一些内核模块来加载i2c-devi2c-bcm2708. 但modprobe命令返回:

sudo modprobe i2c-dev
modprobe: module i2c-dev not found in modules.dep
Run Code Online (Sandbox Code Playgroud)

如何列出系统中所有可用的模块?它们位于哪个目录中?

kernel-modules linux-kernel

88
推荐指数
5
解决办法
20万
查看次数

内核驱动程序和内核模块有什么区别?

当我lspci -k使用 3.2.0-29-generic 内核在我的 Kubuntu 上做一个时,我可以看到这样的东西:

01:00.0 VGA compatible controller: NVIDIA Corporation G86 [Quadro NVS 290] (rev a1)
    Subsystem: NVIDIA Corporation Device 0492
    Kernel driver in use: nvidia
    Kernel modules: nvidia_current, nouveau, nvidiafb
Run Code Online (Sandbox Code Playgroud)

有一个内核驱动程序nvidia和内核模块nvidia_currentnouveaunvidiafb

现在我想知道内核驱动程序和内核模块之间可能有什么区别?

linux drivers kernel kernel-modules

83
推荐指数
4
解决办法
8万
查看次数

如何在 Linux 上找到与设备关联的驱动程序(模块)?

在 Linux 上,给出:

  • 一个设备,例如/dev/sda
  • 以及它的主要和次要号码,例如8, 0

我怎么知道哪个模块/驱动程序在“驱动”它?

我可以深入研究/sys/proc发现吗?

linux drivers kernel-modules

68
推荐指数
4
解决办法
8万
查看次数

如何卸载内核模块“nvidia-drm”?

我正在尝试在 Debian Stretch 中安装最新的 NVIDIA 驱动程序。我已经NVIDIA-Linux-x86_64-390.48.run这里下载,但是当我尝试这样做时

sudo sh ./NVIDIA-Linux-x86_64-390.48.run
Run Code Online (Sandbox Code Playgroud)

按照建议,出现错误消息。

ERROR: An NVIDIA kernel module 'nvidia-drm' appears to already be loaded in your kernel.  This may be because it is in use (for example, by an X server, a CUDA program, or 
         the NVIDIA Persistence Daemon), but this may also happen if your kernel was configured without support for module unloading.  Please be sure to exit any programs    
         that may be using the GPU(s) …
Run Code Online (Sandbox Code Playgroud)

kernel debian kernel-modules nvidia systemd

61
推荐指数
5
解决办法
11万
查看次数

找出哪些模块与 USB 设备相关联?

您能否推荐一种方法来确定 USB 设备正在使用哪个驱动程序。某种 USB 等效lspci -k命令。

drivers kernel-modules

47
推荐指数
2
解决办法
8万
查看次数

如何将 USB 驱动程序分配给设备

这个问题有两个方面:

首先,您如何手动从 USB 设备上分离驱动程序并连接不同的驱动程序?例如,我有一个连接时自动使用 USB 存储驱动程序的设备。

USB视图输出

Vendor Id: xxxx
Product Id: xxxx
...
    Number of Interfaces: 2
    Interface Number: 0
        Name: usb-storage
        Number of Endpoints: 2
        ...
    Interface Number: 1
        Name: (none)
        Number of Endpoints: 2
        ...
Run Code Online (Sandbox Code Playgroud)

我不想使用 USB 存储驱动程序,因此在我的应用程序中,我使用该libusb库来分离 USB 存储驱动程序,然后声明该接口。然后,我可以在我的 USB 设备和我的主机 Linux 系统上运行的应用程序之间发送数据。

如何在应用程序之外手动分离驱动程序?


其次,如何自动分配驱动程序以附加到设备插件上?我目前有一个 udev 规则设置来自动设置设备权限:

SUBSYSTEM=="usb", ATTR{idVendor}=="xxxx", MODE="0666"
Run Code Online (Sandbox Code Playgroud)

我可以使用 udev 规则为 USB 设备上的特定接口分配驱动程序吗?例如,如果我希望在接口 0 上自动使用 usbnet 模块而不是 usb-storage,这在 udev 中可能吗?

drivers kernel usb udev kernel-modules

34
推荐指数
1
解决办法
5万
查看次数

systemd:在启动时自动执行 modprobe 命令

我的发行版是 Fedora 17 Gnome。每次重新启动/重新启动计算机时,我都需要以 root 身份运行此命令:

modprobe rt2800usb
Run Code Online (Sandbox Code Playgroud)

我怎样才能让它永久?

startup kernel-modules modprobe systemd

32
推荐指数
2
解决办法
7万
查看次数

是否可以在两个 Linux 操作系统之间进行 USB 到 USB 数据传输?

我想在 Linux(最好是 Ubuntu)中创建一个 USB 到 USB 数据传输系统。为此,我不想使用任何外部硬件或开关(除了这条电缆)。这就像将 USB 驱动器安装到系统一样,但在这种情况下,一个 Linux 系统将安装在另一个系统上。我怎样才能创建这个?

鉴于我的内核编程经验非常基础,是否有任何可用的内核模块?

drivers kernel usb kernel-modules

30
推荐指数
2
解决办法
3万
查看次数

确定 Linux 内核恐慌的原因

我正在运行 Ubuntu 12.04 衍生版 (amd64),最近我遇到了非常奇怪的问题。出乎意料的是,X 似乎会完全冻结一段时间(1-3 分钟?),然后系统将重新启动。该系统已超频,但在 Windows 中经过验证非常稳定,这让我相信我遇到了内核恐慌或我的模块之一出现问题。即使在 Linux 中,我也可以运行 LINPACK 并且不会看到崩溃,尽管在 CPU 上施加了可笑的负载。崩溃似乎是随机发生的,即使机器闲置时也是如此。

如何调试导致系统崩溃的原因?

我预感它可能是专有的 NVIDIA 驱动程序,我一直还原到驱动程序的稳定版本 304 版本,但我仍然遇到崩溃。

任何人都可以引导我完成崩溃后的良好调试过程吗?我很乐意启动拇指驱动器并发布我所有的崩溃后配置文件,我只是不确定它们会是什么。我怎样才能找出是什么导致了我的系统崩溃?

这是一堆日志,通常是罪魁祸首。

.xsession 错误http : //pastebin.com/EEDtVkVm

/var/log/Xorg.0.loghttp://pastebin.com/ftsG5VAn

/var/log/kern.loghttp://pastebin.com/Hsy7jcHZ

在/ var / log / syslog的http://pastebin.com/9Fkp3FMz

我什至似乎根本找不到坠机记录。

触发崩溃并不是那么简单,当 GPU 试图一次绘制多个东西时,它似乎会发生。如果我全屏播放 YouTube 视频并让它重复一段时间或滚动浏览大量 GIF 并弹出 Skype 通知,有时它会崩溃。在这个问题上完全摸不着头脑。

CPU 超频到 4.8GHz,但它完全稳定,并且在昨天的 LINPACK 运行和 9 小时的 Prime95 中幸存下来,没有发生一次崩溃。

更新

我已经为我的内核版本 3.2.0-35安装了kdumpcrashlinux-crashdump,以及内核调试符号。当我apport-unpack在崩溃的内核文件上运行,然后crashVmCore故障转储上运行时,我看到的是:

      KERNEL: /usr/lib/debug/boot/vmlinux-3.2.0-35-generic
    DUMPFILE: …
Run Code Online (Sandbox Code Playgroud)

kernel kernel-panic kernel-modules crash

27
推荐指数
2
解决办法
14万
查看次数