С чего начать Первые шаги трек · 15 ступеней
Linux Labs

Модули ядра

3 мин Ubuntu 24.04

Модули ядра: загрузка и выгрузка через modprobe, сообщения ядра в dmesg, параметры модулей.

Шпаргалка

7 команд Версия для печати
  • uname -r версия ядра
  • lsmod загруженные модули
  • sudo modprobe nf_tables загрузить модуль
  • sudo modprobe -r nf_tables выгрузить модуль
  • modinfo nf_tables сведения о модуле
  • dmesg -T сообщения ядра с читаемым временем
  • journalctl -k | grep -i oom OOM-killer

Обзор

Модули ядра — подгружаемые драйверы и подсистемы (сеть, ФС, железо). Большинство грузятся автоматически по обнаружению устройств.

bash
uname -r                          # версия ядра
lsmod                             # загруженные модули (имя, размер, кем используется)
dmesg | tail                      # сообщения ядра (или journalctl -k)

Рецепты

3

Команды

bash
sudo modprobe nf_tables           # загрузить модуль (с зависимостями)
sudo modprobe -r nf_tables        # выгрузить (-r, если не используется)
sudo modprobe overlay dm_mod      # несколько сразу
modinfo nf_tables                 # инфо: путь, параметры, зависимости, alias
modinfo -p i915                   # доступные ПАРАМЕТРЫ модуля
lsmod | grep nf_                  # что загружено
sudo depmod -a                    # пересобрать карту зависимостей (после ручной установки)

# параметры модуля при загрузке:
sudo modprobe usbcore autosuspend=-1
# постоянно — /etc/modprobe.d/*.conf:
echo 'options i915 enable_psr=0' | sudo tee /etc/modprobe.d/i915.conf

Автозагрузка и запрет

bash
# грузить при старте:
echo nf_tables | sudo tee /etc/modules-load.d/nft.conf

# запретить (blacklist):
echo 'blacklist pcspkr' | sudo tee /etc/modprobe.d/no-beep.conf
sudo update-initramfs -u          # если модуль грузится из initramfs — пересобрать
# жёстко из cmdline ядра: module_blacklist=nouveau (в GRUB_CMDLINE, см. boot-grub)

dmesg / сообщения ядра

bash
sudo dmesg -T | grep -i <модуль>  # что модуль написал при загрузке
sudo journalctl -k -b -1          # ядро прошлой загрузки

Здесь ищут проблемы с драйверами и железом. Буфер ядра, уровни сообщений, доступ только для root и разбор частых строк — в dmesg.

Неполадки

5

Устройство/драйвер не работает

dmesg | grep -i <устройство> — ошибки инициализации. lsmod — загружен ли модуль; sudo modprobe <модуль> вручную; modinfo — нужные параметры/firmware.

OOM-killer убил процесс

dmesg -T | grep -i oom или journalctl -k | grep -i oom — ядро убило процесс при нехватке памяти (см. oom-killer).

Модуль не грузится при старте

Добавь в /etc/modules-load.d/*.conf; проверь modinfo и зависимости (depmod -a). Если из initramfs — update-initramfs -u.

modprobe -r: «Module is in use»

Модуль используется (lsmod — колонка «Used by»). Останови потребителя или выгрузи зависимые модули сначала.

Диск сыпет I/O errors

dmesg → «I/O error, dev sdX» — признак умирающего диска; проверь SMART (smartctl -a), делай бэкап (см. filesystems).

См. также

  • boot-grub — Этапы загрузки, GRUB, цели systemd, аварийный режим восстановления.
  • journalctl — Чтение журнала systemd (journald) — фильтры по службе, времени, приоритету.
Загрузка…