29
7月
2026
10:46

Передача параметра модулю / драйверу Linux

29 7月 2026 10:46

Указание параметра для запуска модуля или драйвера в Linux.

Модули ядра вводят дополнительный функционал. Например, поддержку оборудования (драйверы).
У некоторых модулей есть параметры запуска.

1) Как узнать, какие модули (драйверы) загружены в операционную систему Linux?

sudo lsmod | less

Другой способ:

cd /lib/modules/$(uname -r)/kernel/drivers/ 
ls | less

2) Как вывести справочную информацию о конкретном модуле?

sudo modinfo MODULE_NAME

где MODULE_NAME замените на имя модуля.

Например:

sudo modinfo rtw_usb

3) Как вывести сокращенную информацию только о параметрах модуля?

sudo modinfo -p MODULE_NAME

Например:

sudo modinfo -p rtw_usb

Вывод:
switch_usb_mode : Set to N to disable switching to USB 3 mode to avoid
potential interference in the 2.4 GHz namd (default: Y) (boot)

4) Как узнать действующее в системе значение параметра модуля?

Некоторые модули (не все) объявляют себя в структуре каталогов /sys/module/MODULE_NAME/parameters

ls /sys/module/MODULE_NAME/parameters
cat /sys/module/MODULE_NAME/parameters/PARAMETER

где
MODULE_NAME - заменить на имя модуля,
PARAMETER - заменить на имя параметра.

Пример:

cat /sys/module/rtw_usb/parameters/switch_usb_mode

Вывод:
Y или N

5) Как передать новое значение параметра модулю?

Формат указания параметра:

MODULE_NAME.PARAMETER=VALUE

где VALUE - значение. Например, N.

Параметры модулей можно указать:

  • при сборке ядра
  • при загрузке ПК /etc/default/grub
  • в реальном времени в /proc/sys/

Рассмотрю только вариант при загрузке ПК

`GRUB_CMDLINE_LINUX_DEFAULT="quiet splash rtw_usb.switch_usb_mode=N"

где rtw_usb.switch_usb_mode=N - присвоение у модуля rtw_usb его параметру switch_usb_mode значения N.

Другой пример:

`GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia-drm.modeset=1 nvidia-drm.fbdev=1"

Затем нужно выполнить команду

sudo update-grub

sudo reboot

Второй способ указания параметра модуля ядра

cd /etc/modprobe.d
ls
sudo nano /etc/modprobe.d/NAME.conf

в файле NAME.conf написать:

options MODULE_NAME PARAMETER1=VALUE1 PARAMETER2=VALUE2

Без точки!

Примеры:

  • если драйвер Nvidia, в файле /etc/modprobe.d/nvidia.conf написать
    options nvidia-drm modeset=1 fbdev=1

  • если драйвер Nouveau, в файле /etc/modprobe.d/nouveau.conf написать
    options nouveau modeset=1

6) Вывод параметров на экран

  • Вывод параметров запуска ядра при загрузке ОС Linux

    cat /proc/cmdline

Результат:
BOOT_IMAGE=/boot/vmlinuz-6.2.0-060200-generic root=UUID=xxxxx ro quiet splash init_on_alloc=1 slab_nomerge

  • Вывод параметров одного из модулей ядра

Существует утилита systool из пакета sysfsutils, которая умеет выводить действующие параметры модулей.

sudo apt install sysfsutils
systool -vm MODULE_NAME

где MODULE_NAME - имя модуля.

Например:

systool -vm rtw_usb
  • Вывод параметров всех модулей ядра
cat /proc/modules | cut -f 1 -d " " | while read module; do \
 echo "Module: $module"; \
 if [ -d "/sys/module/$module/parameters" ]; then \
  ls /sys/module/$module/parameters/ | while read parameter; do \
   echo -n "Parameter: $parameter --> "; \
   cat /sys/module/$module/parameters/$parameter; \
  done; \
 fi; \
 echo; \
done

Источники:



相关出版物