====== 11. Работа с модулями ядра и устройствами ======
Вывод подгруженых модулей
$ lsmod
Module Size Used by
sd_mod 65536 0
ccm 20480 9
rfcomm 94208 4
...
Вывести информацию о модуле ядра:
#modinfo <имя модуля>
$ modinfo rfcomm
filename: /lib/modules/6.1.0-9-amd64/kernel/net/bluetooth/rfcomm/rfcomm.ko
alias: bt-proto-3
license: GPL
version: 1.11
description: Bluetooth RFCOMM ver 1.11
author: Marcel Holtmann
srcversion: B0BD6077BDC7CF2B6EE0949
depends: bluetooth
...
Добавление/удаление модуля ядра через modprobe с учетом зависимостей
# modprobe <имя модуля>
$ modprobe e1000
Удаление модуля ядра:
# rmmod <имя модуля>
$ rmmod e1000
Установка модуля ядра:
# insmod <имя модуля>
$ insmod e1000
Вывод устройств USB:
$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 045e:07f8 Microsoft Corp. Wired Keyboard 600 (model 1576)
Bus 001 Device 004: ID 045e:0039 Microsoft Corp. IntelliMouse Optical
Bus 001 Device 003: ID 8087:0aaa Intel Corp. Bluetooth 9460/9560 Jefferson Peak (JfP)
Отслеживание событий ядра (например, при подключении/отключении устройства):
$ udevadm monitor --property --kernel
KERNEL[3510.275572] remove /devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6.4 (usb)
ACTION=remove
DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6.4
SUBSYSTEM=usb
DEVNAME=/dev/bus/usb/001/007
DEVTYPE=usb_device