2020年5月3日 星期日

Linux Kernel Module 的操作指令

這紀錄是用Ubuntu系統來說的,我用的版本是4.2.0-42

root@luke-G50:/etc/bluetooth# uname -a <Enter>
Linux luke-G50 4.2.0-42-generic #49~14.04.1-Ubuntu SMP Wed Jun 29 20:22:11 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux


1. 列出目前Kernel當中所有的模組

# lsmod <Enter>

2. 想要了解一下某一個驅動或模組的相關資訊

# modinfor module_name

例如想知道一下Bluetooth驅動的狀況

root@luke-G50:/etc/bluetooth# modinfo btusb <Enter>
filename:       /lib/modules/4.2.0-42-generic/kernel/drivers/bluetooth/btusb.ko
license:        GPL
version:        0.8
description:    Generic Bluetooth USB driver ver 0.8
author:         Marcel Holtmann <marcel@holtmann.org>
srcversion:     0F5AD5777734F86F537134A
alias:          usb:v8087p0A5Ad*dc*dsc*dp*ic*isc*ip*in*
...
alias:          usb:v04CAp*d*dc*dsc*dp*icFFisc01ip01in*
alias:          usb:v*p*d*dcE0dsc01dp01ic*isc*ip*in*
depends:        bluetooth,btrtl,btintel,btbcm
intree:         Y
vermagic:       4.2.0-42-generic SMP mod_unload modversions
signer:         Build time autogenerated kernel key
sig_key:        E1:78:61:78:9C:2D:8F:1B:8F:C3:6C:CA:1B:40:2A:6D:F7:B7:EE:A8
sig_hashalgo:   sha512
parm:           disable_scofix:Disable fixup of wrong SCO buffer size (bool)
parm:           force_scofix:Force fixup of wrong SCO buffers size (bool)
parm:           reset:Send HCI reset command on initialization (bool)


資訊不少。

$ systool -v -m module_name <Enter>

也可以看到整理得更為完整的資訊。

3. 顯示模組/驅動的的相關性:

root@luke-G50:/etc/bluetooth# modprobe --show-depends btusb <Enter>

insmod /lib/modules/4.2.0-42-generic/kernel/net/bluetooth/bluetooth.ko
insmod /lib/modules/4.2.0-42-generic/kernel/drivers/bluetooth/btintel.ko
insmod /lib/modules/4.2.0-42-generic/kernel/drivers/bluetooth/btbcm.ko
insmod /lib/modules/4.2.0-42-generic/kernel/drivers/bluetooth/btrtl.ko
insmod /lib/modules/4.2.0-42-generic/kernel/drivers/bluetooth/btusb.ko


4. 對於模組的操作

4.1 Load a module

# modprobe module_name <Enter>

4.2 Load a module by filename

# insmod file_name <Enter>

4.3 Unload a module

# modprobe -r module_name <Enter>



# rmmod module_name <Enter>

5. 對模組傳遞參數

# modprobe module_name parameter_name=parameter_value <Enter>


沒有留言:

張貼留言