Debian
缺少在核心配置中啟用的內置模組
我配置了一個 debian 核心 5.10.57 來添加 HSR/PRP 模組。我將其啟用為內置
<*>
.make deb-pkg
然後我分別使用和編譯並安裝了核心dpkg -i *.deb
。新核心正在執行。
debian@debian:~$ uname -r 5.10.57
HSR/PRP 模組路徑在 builtin.modules 文件中:
debian@debian:~$ cat /lib/modules/5.10.57/modules.builtin |grep hsr kernel/net/hsr/hsr.ko
但是 hsr 目錄(和 .ko 文件)不存在。
debian@debian:~$ ls /lib/modules/5.10.57/kernel/net/ |grep hsr debian@debian:~$
所以模組沒有載入。
debian@debian:~$ lsmod |grep hsr debian@debian:~$
在
/usr/src/linux-5.10.57/
包含我編譯的核心的文件夾中,hsr 配置文件都在這裡。debian@debian:~$ ls /usr/src/linux-5.10.57/net/hsr/ hsr_debugfs.c hsr_forward.c hsr_framereg.h hsr_netlink.c hsr_slave.h hsr_device.c hsr_forward.h hsr_main.c hsr_netlink.h Kconfig hsr_device.h hsr_framereg.c hsr_main.h hsr_slave.c Makefile debian@debian:~$
我嘗試了一些命令來建構
.ko
文件,但沒有任何效果。debian@debian:/usr/src/linux-5.10.57/net/hsr$ make make: *** No targets. Stop. debian@debian:/usr/src/linux-5.10.57/net/hsr$ debian@debian:/usr/src/linux-5.10.57/net/hsr$ make install make: *** No rule to make target 'install'. Stop. debian@debian:/usr/src/linux-5.10.57/net/hsr$ debian@debian:/usr/src/linux-5.10.57/net/hsr$ make modules make: *** No rule to make target 'modules'. Stop. debian@debian:/usr/src/linux-5.10.57/net/hsr$ debian@debian:/usr/src/linux-5.10.57/net/hsr$ make modules_install make: *** No rule to make target 'modules_install'. Stop.
如果您想知道 Makefile 中的內容:
debian@debian:/usr/src/linux-5.10.57/net/hsr$ cat Makefile # SPDX-License-Identifier: GPL-2.0-only # # Makefile for HSR # obj-$(CONFIG_HSR) += hsr.o hsr-y := hsr_main.o hsr_framereg.o hsr_device.o \ hsr_netlink.o hsr_slave.o hsr_forward.o hsr-$(CONFIG_DEBUG_FS) += hsr_debugfs.o debian@debian:/usr/src/linux-5.10.57/net/hsr$
這是我的問題:
- 內置模組是否需要 .ko 文件位於
/lib/modules/5.10.57/modules.builtin
要載入的文件所需的路徑中?- 如果是,我怎樣才能生成或找到
hsr.ko
我需要的文件?
由於您將驅動程序配置為內置而不是模組(
<M>
在核心配置中),因此它是核心二進製文件(bzImage
等)的一部分。每當啟動特定的核心二進製文件時,它將始終被“載入”。您不會將其視為單獨的
.ko
文件,也無法強制.ko
建構該文件。