标签: kernel-modules

如何在 shell 脚本中从另一个 Makefile 获取变量

~/kernelbuild/linux-3.14.37我想在我自己的 shell 脚本中使用该目录下另一个 Makefile 中的变量。

以下是我需要的变量:

VERSION = 3
PATCHLEVEL = 14
SUBLEVEL = 37
Run Code Online (Sandbox Code Playgroud)

问题是我不允许更改 Makefile,因此导出变量不是这里的选项。

另外,我看到有人说要有一个单独的文件,其中包含所需的所有常见变量。这很实用,但我需要将所有内容都放在我的单个 shell 脚本中

我试图包含. ~/kernelbuild/linux-3.14.37/Makefile在我的 shell 脚本中,我认为我应该能够使用这些变量,但它给了我以下错误:

/home/jl4347/kernelbuild/linux-3.14.37/Makefile: line 1: VERSION: command not found
/home/jl4347/kernelbuild/linux-3.14.37/Makefile: line 2: PATCHLEVEL: command not found
/home/jl4347/kernelbuild/linux-3.14.37/Makefile: line 3: SUBLEVEL: command not found
/home/jl4347/kernelbuild/linux-3.14.37/Makefile: line 4: EXTRAVERSION: command not found
/home/jl4347/kernelbuild/linux-3.14.37/Makefile: line 5: NAME: command not found
/home/jl4347/kernelbuild/linux-3.14.37/Makefile: line 17: MAKEFLAGS: command not found
/home/jl4347/kernelbuild/linux-3.14.37/Makefile: line 20: unexport: command not found
/home/jl4347/kernelbuild/linux-3.14.37/Makefile: …
Run Code Online (Sandbox Code Playgroud)

arch-linux make kernel-modules shell-script

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

无法在 Linux 4.8.0 上“激活”SDIO Broadcom BCM43430 Wifi 芯片

我有一个运行当前 64 位内核 4.8 的 Intel Z3735F(Bay Trail)平台。在 UEFI32 上。

从在线路dmesghwinfo我发现,这个特定的设备上的上板“的Broadcom BCM43430 WLAN卡”被连接到mmc0,其本身被连接到SDIO总线。

dmesg我还看到,初始化系统识别卡,并尝试加载brcmfmac43430-sdio.bin到模块中brcmfmac。我从Raspberry Github获得了固件。现在它想要“NVRAM”。我尝试了同一个 repo 中的那个,没有错误,但没有 Wifi 卡。我尝试了 Windows 使用的那些(有 2 个略有不同的,都尝试了),也没有变化。

“无变化”是指没有设备出现在“ifconfig -a”中。

有一些消息dmesg

mmc0: queuing unknown CIS tuple 0x80 (2 bytes)
mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
mmc0: queuing unknown CIS tuple 0x80 (7 bytes)
...
brcmfmac mmc0:0001:1: firmware: …
Run Code Online (Sandbox Code Playgroud)

linux wifi firmware kernel-modules sdio

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

如何防止内核模块加载?

我是 Linux 新手,正在寻找完全禁止加载内核模块的解决方案。

我知道如何卸载模块,但需要在启动时加载模块之前阻止它。

linux kernel-modules

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

使 Apple 键盘设置在 ../hid_apple/parameters/ 中持久化

我正在运行 Ubuntu 16.04 LTS 并想使用苹果键盘(有线)。不,我在使我的自定义设置永久化时遇到了一些问题。我正在使用“英语国际,AltGr 死键”布局。

键盘交换了一些键,我在/sys/module/hid_apple/parameters/文件夹中手动设置了设置 。我设置fnmode2iso_layout0swap_opt_cmd1。在此之后,一切都按预期进行。但是重新启动后,设置恢复为默认值。每次重新启动后,我都必须手动重置所有内容。

现在我写了一个小 shell 脚本来完成它,但这不是我认为的最好方法。

如何使这些设置持久化?

ubuntu settings keyboard kernel-modules apple

2
推荐指数
2
解决办法
2710
查看次数

如何构建特定的内核模块?

我从官方 Linux 内核存储库( http://www.kernel.org/pub/linux/kernel/v4.x/linux-4.15.tar.bz2 )安装了内核源代码,并使用一些需要的选项重新编译了它以支持移动性 IPv6。当我需要一个模块来加密某些数据时,我在已构建的其余模块中没有找到它。我需要的模块是:“echainiv”和“authenc”。

compiling debian cryptography kernel-modules linux-kernel

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

想要在 CentOS 7 上安装 VirtualBox Guest Additions 但出现标头不匹配的情况

我尝试在 CentOS 7 虚拟机上安装 VirtualBox Guest Additions。

我通过安装了先决条件

sudo yum install perl gcc dkms kernel-devel kernel-headers make bzip2
Run Code Online (Sandbox Code Playgroud)

然后我“插入”Guest Additions CD 映像,Guest Additions 自动运行程序出现并运行。

但是,Guest Additions 安装出错

VirtualBox Guest Additions:未找到目标内核 3.10.0-1062.el7.x86_64 的内核标头。

为了更仔细地检查,我在虚拟机的终端 shell 中发出了以下命令:

$ ls /usr/src/kernels/
3.10.0-1062.18.1.el7.x86_64
Run Code Online (Sandbox Code Playgroud)

$ uname -r
3.10.0-1062.el7.x86_64
Run Code Online (Sandbox Code Playgroud)

请注意已安装标头中的附加字符18.1与内核报告的内容相比较。我想这就是 Guest Additions 安装失败的原因。

如何解决此问题并安装 Guest Additions?


更多细节:

virtual-machine centos kernel-modules virtualbox linux-headers

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

为什么 Linux 模块 API 不向后兼容?

为什么 Linux 模块 API 不向后兼容?更新 Linux 内核后,我对找到更新的驱动程序感到沮丧。

我有一个需要专有驱动程序的无线适配器,但制造商在大约 7 年前停产了该设备。由于代码很旧并且是为 Linux 2.6.0.0 编写的,因此不能使用最新的 Linux 内核进行编译。我使用过许多 Linux 发行版,但同样的问题无处不在。尽管有一个随 Linux 内核分发的开源驱动程序,但它不起作用。有些人试图修改旧的专有代码以使其与最新的 Linux 内核兼容,但是当发布新的 Linux 内核时,使代码与之兼容需要数月时间。在此期间,发布了另一个新版本。因此,我无法升级到新的 Linux 内核;有时我什至无法升级我的发行版。

drivers kernel-modules linux-kernel proprietary-drivers

2
推荐指数
2
解决办法
414
查看次数

为自动加载模块创建 Linux 模块依赖项

如何手动创建 Linux 内核模块依赖项?

例如,在某个时间点,模块 vboxdrv 会自动加载。但是,当发生这种情况时,我也想自动加载模块 vfat (仅作为示例)。

因此,如何创建依赖关系,当模块 1 加载时,它会触发模块 2 的自动加载?

我不需要在启动时使用 initramfs 加载模块,我只是想要 - 这么说 - 这种依赖关系,当 1 被加载时,2 也会被加载。你知道我的意思 ;-)

谢谢

linux kernel kernel-modules

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

分发带有源代码的内核模块的最佳方法是什么?

我有一个内核模块,我想分发它(即打包它)。

我想分发它,以便用户不需要做任何其他事情yum/dnf install kmod-mymodule

  • SRPM:用户必须在其计算机上构建 RPM,然后安装 RPM。我无法将其放入 yum 存储库
  • RPM:我必须为 RHEL 的所有主要和次要版本构建 RPM。
  • DKMS:可能是解决方案,但它希望用户知道如何使用 dkms,而不是那么透明。

有什么方法可以轻松分发内核模块,以便用户只需要做yum install kmod-mymodule即可为特定机器编译模块?

如果有一个与分发无关的解决方案,我洗耳恭听!

rpm rhel kernel-modules

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

linux 包和 linux 模块有什么区别?

当我这样做dpkg --get-selectionsless /proc/modules我看到两个不同的列表时。我不明白每个元素之间的区别......

linux dpkg kernel-modules

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