标签: kernel-modules

有哪些方法可以恢复 Linux 内核配置?

我目前正在尝试为专有设备重建内核。为此,我需要为设备生成内核配置。虽然我可以通过反复试验来做到这一点,但最好看看我是否可以从正在运行的主机中提取配置。

话虽如此,正在运行的内核不是用编译的CONFIG_IKCONFIG(因此也不CONFIG_IKCONFIG_PROC是)。这意味着没有/proc/config.gz提取。

此外,他们也没有费心将配置打包/boot。因此,通常存储内核配置的两个常见位置是不走运的。

大多数东西都是静态编译到这个内核中的:

 # cat /proc/modules
 linux_user_bde           12327 0                         - Live 0xf8536000 (PO)
 linux_kernel_bde         29225 1           linux_user_bde, Live 0xf8524000 (PO)
 pciDrv                    1448 0                         - Live 0xf8510000 (O)
 iTCO_wdt                  4456 0                         - Live 0xf83fb000 
 iTCO_vendor_support       2003 1                 iTCO_wdt, Live 0xf83f7000 
 i2c_dev                   5443 0                         - Live 0xf83f2000 
 i2c_i801                  9421 0                         - Live 0xf83eb000 
 i2c_core                 20859 3 i2cscan,i2c_dev,i2c_i801, Live 0xf83e0000 
 igb                     148294 0                         - Live 0xf83ae000 (O)
 dca                       4665 0                         - Live 0xf804c000 
 # …
Run Code Online (Sandbox Code Playgroud)

kernel-modules linux-kernel kernel-parameters

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

内核配置中缺少的设置应该被解释为 `<setting>=n` 还是使用 `defaults`?

为了解决一个问题,我正在查看我的内核配置设置:CONFIG_SECCOMP,CONFIG_HAVE_ARCH_SECCOMP_FILTERCONFIG_SECCOMP_FILTER.

第一个在内核的配置文件中显示为:CONFIG_SECCOMP=y但其他两个根本不存在。这让我想知道如何解释..

内核配置中缺少的设置是否应该被解释为<setting>=n或被defaults使用?

configuration kernel-modules linux-kernel

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

如何在 Ubuntu 中加载压缩的内核模块?

我想在我的系统上使用 LZMA 压缩的内核模块。不幸的是,Canoncial 在内核和用户空间工具中都禁用了该功能。这是我到目前为止所做的:

  1. 使用以下命令编译并安装当前的14.04.05-LTS 内核(v4.4.19):

    CONFIG_MODULE_COMPRESS=y
    CONFIG_MODULE_COMPRESS_XZ=y
    
    Run Code Online (Sandbox Code Playgroud)

    安装后,我现在可以.ko.xz/lib/modules/4.4.19-37.56+/kernel/.

  2. kmod_22包从 Xenial (16.04) 向后移植到配置了该--with-xz选项的Trusty (14.04) 。这似乎也有效。

  3. 运行update-initrams -u -k 4.4.19-37.56+

到目前为止有效的方法:

什么不起作用:

  • 卸载与modprobe -r

  • 任何其他只有包名但没有路径的操作,例如:

    # insmod jfs
    insmod: ERROR: could not load module jfs: No such file or directory
    # modprobe jfs
    modprobe: FATAL: Module jfs not found …
    Run Code Online (Sandbox Code Playgroud)

ubuntu compression kernel-modules

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

无法删除模块 nvidia nvidia-uvm 以安装驱动程序

我试图用几个 Nvidia GTX 980 卡更新系统的驱动程序,但不知何故我搞砸了,现在当我用 Nvidia 运行安装程序时遇到了这个错误:

ERROR: An NVIDIA kernel module 'nvidia-uvm' appears to already be loaded in your kernel.  This may be because it is in use (for example, by the X server), but may also happen if your kernel was configured     
     without support for module unloading.  Please be sure you have exited X before attempting to upgrade your driver.  If you have exited X, know that your kernel supports module unloading, and still       
     receive this message, then …
Run Code Online (Sandbox Code Playgroud)

drivers kernel kernel-modules nvidia

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

如何制作一个 shell 以显示在我自己的发行版 (linux) 中?

我对 Linux 很感兴趣,并且已经研究了一段时间。我刚刚学会了从源代码编译 Linux 内核,并使用 Grub 引导它,这会让您获得内核的 shell。

现在,一旦内核加载到内存中,它就会搜索init加载它。我的议程是调出一个外壳(普通用户可以使用 - 类似bash)。

那么,我怎样才能把它带进来?

我是否需要配置 init 来加载 bash shell 或者我可以做些什么?

我正在构建我自己的发行版,我只需要发行版有一个 shell (bash) 而没有别的。

linux ubuntu kernel-modules linux-kernel distributions

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

如何将amdgpu列入黑名单?

我想将 amdgpu 驱动程序列入黑名单。我打开/etc/modprobe.d/blacklist.conf并添加了以下行:

blacklist amdgpu
Run Code Online (Sandbox Code Playgroud)

然后我重新启动并运行lsmod | grep amdgpu

$ lsmod | grep amdgpu
amdgpu               1564672  23
i2c_algo_bit           16384  1 amdgpu
ttm                    98304  1 amdgpu
drm_kms_helper        151552  1 amdgpu
drm                   352256  11 amdgpu,ttm,drm_kms_helper
Run Code Online (Sandbox Code Playgroud)

为什么模块还在加载?

我的桌面运行的是 Kubuntu 17.04,我有一台 Radeon R9 270X。

ubuntu kernel-modules

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

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

当我没有那么多驱动程序时,我想知道为什么modules.dep中有这么多条目?我有一个运行 Ubuntu 16.04 的普通 Dell Latitude E7450,我的 modules.dep 列出了数百个依赖项。真的有那么多必要吗?所有这些都不能是驱动程序,那么作为模块实现并由 modules.dep 列出的还有什么?

linux drivers ubuntu kernel-modules

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

用于控制风扇速度的 FreeBSD 内核模块

我一直在尝试获得一个 FreeBSD 机器(运行 FreeNAS)来控制它的粉丝。即使系统温度很低,它也只想高速运行它们。lm-sensors 包可以在 Linux 上执行此操作,但在 FreeBSD 上不可用。

我在这里找到了这个类似的问题,但没有回应。

是否有我可以加载的内核模块来在 FreeBSD 上执行此操作?

freebsd kernel-modules

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

无法在 Fedora 28 上访问/(自动)挂载 SD 卡

我试图在 Fedora 28 上访问 SD 卡,但没有任何成功。系统信息如下:

$ lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: Fedora
Description:    Fedora release 28 (Twenty Eight)
Release:    28
Codename:   TwentyEight
Run Code Online (Sandbox Code Playgroud)

我无法使用两个不同的读卡器访问不同的 SD 卡。尽管在 macOS 和 Windows 上都可以访问,但它们都没有显示在 Nautilus 文件浏览器、桌面或其他明显的地方。

系统根据lsusb输出识别读卡器:

$ lsusb -v
# some other USB devices
Bus 001 Device 005: ID 058f:6362 Alcor Micro Corp. Flash Card Reader/Writer
Device Descriptor:
bLength                18
bDescriptorType         1
bcdUSB               2.00
bDeviceClass            0 
bDeviceSubClass         0 
bDeviceProtocol         0 
bMaxPacketSize0        64
idVendor           0x058f Alcor Micro Corp.
idProduct          0x6362 …
Run Code Online (Sandbox Code Playgroud)

fedora automounting mount kernel-modules sd-card

5
推荐指数
0
解决办法
5128
查看次数

lsmod 'used by' 显示 -1 而 CONFIG_MODULE_UNLOAD=y

这篇文章中,有一些关于为什么在“used by”列中lsmod显示-2解释。这个想法是CONFIG_MODULE_UNLOAD没有设置内核配置选项。

但是,如果在我当前的内核中设置时仅lsmod显示-1一个特定模块CONFIG_MODULE_UNLOAD怎么办?如何调试这个混乱?

linux kernel-modules linux-kernel kernel-parameters

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