GNU/Linux >> Znalost Linux >  >> Linux

Jak načíst a uvolnit moduly jádra v Linuxu

Když instalujeme operační systém Linux Like v té době Linuxové jádro nainstaluje většinu modulů ovladačů zařízení a po instalaci nám také umožní nainstalovat nové ovladače zařízení jako moduly pomocí příkazů modprobe a insmod.

Normálně se moduly jádra načítají automaticky, ale někdy je potřeba nainstalovat další moduly ručně. Chcete například nainstalovat ovladače úložného zařízení atd. K tomu slouží některé příkazy, některé z nich jsou uvedeny níže.

příkaz lsmod

lsmod znamená „modul seznamu ‘. Jak název napovídá, tento příkaz zobrazí seznam aktuálně načtených modulů jádra ve vašem systému.

[[email protected] ~]# lsmod

Pokud chcete najít konkrétní modul. Může to být modul síťového ovladače (e1000 ), pak to můžete udělat pomocí grep příkaz.

[[email protected] ~]# lsmod | grep e1000

příkaz modinfo

modinfo znamená „informace o modulu ‘. Tento příkaz zobrazí informace o modulu jádra. Chcete například zobrazit informace týkající se modulu síťového ovladače:

[[email protected] ~]# modinfo e1000

Výstup příkazu modinfo jasně ukazuje verzi tohoto modulu, popis, který ukazuje výrobní závod, licenci je GPL a další důležité informace.

příkaz modprobe

Příkaz modprobe se používá k přidání a odebrání modulu z jádra. Linux udržuje adresář modulu jádra pod ‘/lib/modules/’uname -r’/kernel/drivers/ ‘ a konfigurační soubory (kromě dalšího konfiguračního souboru v /etc/modprobe.d/ ). Pokud se chceme podívat na ovladače jádra, spusťte příkaz beneath.

[[email protected] ~]# ls /lib/modules/3.10.0-327.el7.x86_64/kernel/drivers/

Pokud potřebujeme přidat i8k modul jádra, který tento modul používá pro „přístup k SMM BIOS na noteboocích Dell

[[email protected] ~]# modprobe i8k

pokud je výstupem tohoto příkazu nějaká chyba, můžete použít „–docela ‘, s tímto příznakem nebo volbou  modprobe nebude tisknout chybové zprávy.

Poznámka: Většinu času používáme modprobe příkaz k instalaci modulu jádra pomocí insmod se také používá pro načítání modulu jádra v linuxu.

Odeberte modul jádra

-r volba v příkazu modprobe se používá k odstranění modulu jádra. Předpokládejme, že chceme odstranit disketový modul.

[[email protected] ~]# modprobe -r floppy
[[email protected] ~]#

Zde odebereme disketový modul z jádra poté, co napíšete

[[email protected] ~]# lsmod | grep floppy

a neměli byste nic vidět. Pokud chcete tento modul přidat znovu, můžete napsat

[[email protected] ~]# modprobe floppy

V určitém okamžiku se mohou vyskytnout problémy při načítání modulů nebo se moduly nenačítají správně. K překonání těchto chyb můžeme přidávat nebo načítat moduly vynuceným způsobem pomocí „–force“ možnost ( -f ) v příkazu modprobe.

[[email protected] ~]# modprobe -f floppy

Pokud stále čelíme problémům nebo chybám při načítání modulů, pak musíme tentokrát provést ladění. Povolením ladění můžeme najít přesnou chybu nebo problém před nebo po instalaci modulů. Jinými slovy, ladění je ekvivalentem suchého běhu načítání modulů.

-n“ volba v příkazu modprobe může povolit tento typ ladění. Tato volba přinutí příkaz modprobe provést všechny kroky načítání modulu kromě posledního.

[[email protected] ~]# modprobe -vn 'module_name'

Závislost modulu můžeme také vidět pomocí „–show-depends ‘ v příkazu modprobe, příklad je uveden níže

[[email protected] ~]# modprobe --show-depends e1000
insmod /lib/modules/3.10.0-327.el7.x86_64/kernel/drivers/net/ethernet/intel/e1000/e1000.ko
[[email protected] ~]#

To je pro tento článek vše. Doufám, že máte představu, jak vypsat, nainstalovat a odebrat modul jádra v Linuxu.


Linux
  1. Linux – Jak zjistit, který modul poškozuje jádro?

  2. Linux – poskvrněné jádro v Linuxu?

  3. Linux – Jak správně znovu načíst modul jádra?

  1. Jak vytvořit, zkompilovat, načíst moduly jádra Linuxu LKM

  2. Průvodce pro začátečníky ke konfiguraci modulu jádra v Linuxu

  3. Jak kódovat modul jádra Linuxu?

  1. Jak načíst moduly jádra Linuxu z kódu C?

  2. Jak předat hodnotu vestavěnému modulu jádra Linuxu při spouštění?

  3. Jak může být linuxové jádro tak malé?