当查看 FreeBSD/boot/kernel
和 时/boot/modules
,有没有办法确定哪个是哪个而不尝试加载它们?因为如果尝试加载已编译的模块,则会kldload
以“已加载”响应,这并不总是准确的。
答案1
您始终可以使用以下方式获取当前加载的模块列表kldstat
(8)。例如:
Id Refs Address Size Name
1 58 0xffffffff80200000 fbee78 kernel
2 1 0xffffffff81400000 3f3128 zfs.ko
3 1 0xffffffff81310000 e6dd0 nvidia-modeset.ko
4 1 0xffffffff81800000 db7e30 nvidia.ko
5 2 0xffffffff825b8000 2ec10 linux.ko
6 6 0xffffffff817f4000 add8 linux_common.ko
7 1 0xffffffff813f7000 3378 acpi_wmi.ko
8 1 0xffffffff813fb000 3320 usbhid.ko
9 1 0xffffffff825e7000 31f8 hidbus.ko
10 1 0xffffffff825eb000 32c0 wmt.ko
11 1 0xffffffff825ef000 2ae90 linux64.ko
12 1 0xffffffff8261a000 2260 pty.ko
13 1 0xffffffff8261d000 73b0 linprocfs.ko
14 1 0xffffffff82625000 3284 linsysfs.ko
15 1 0xffffffff82629000 3530 fdescfs.ko
通常,输出如上所示,这应该足够了。然而,通过-v
开关,实用程序将给出完整路径每个模块的目标文件 ( .ko
),您可以使用它来更好地确定加载了哪个确切文件:
...
15 1 0xffffffff82629000 3530 fdescfs.ko (/boot/kernel/fdescfs.ko)
Contains modules:
Id Name
253 fdescfs