insmod

INSMOD(8)                    Linux Module Support                    INSMOD(8)



NÃV
       insmod - betölthetŠkernel modult tölt be

ÃTTEKINTÃS
       insmod [-fkmpqrsxXvyY] [-P prefix] [-o modul_név] objektum_fájl
       [ symbol=value ... ]

LEÃRÃS
       Insmod Betölt egy betölthetŠkernelmodult a futó kernelbe.

       Az insmod parancs megpróbál hozzáfűzni egy modult a futó kernelhez
       úgy, hogy feloldja annak minden szimbólumát a kernel exportált
       szimbólum-táblázatából.

       Ha az objektum fájl neve kiterjesztés nélkül adott, akkor az insmod
       parancs alapértelmezett alkönyvtárakban fogja keresni a modult.  A
       MODPATH környezeti változó használható ennek felülbÃrálására.
       Ha egy modul konfigurációs fájl (pl. /etc/modules.conf) létezik,
       akkor annak tartalma fogja felülbÃrálni a MODPATH-ban definiált
       elérési utakat.

       A MODULECONF környezeti változó is használható arra, hogy az
       alapértelmezett /etc/modules.conf -tól (vagy /etc/conf.modules, ez
       utóbbi használata nem javasolt) eltérŠkonfigurációs fájlt
       válasszunk.  Ez a környezeti változó az összes fenti definÃciót
       felülbÃrálja.

   OPCIÃK
       -f     Megpróbálja betölteni a modult akkor is, ha a futó kernel
              és a modul kernelverziója nem egyezik meg.

       -k     Az automatikus törlés kapcsolót állÃtja be a modulban. Ezt a
              kerneld(8) használja, hogy eltávolÃtsa az egy ideje nem
              használt modulokat — rendszerint egy perc eltelte után.

       -m     Egy betöltési térképet Ãr ki, megkönnyÃtve a modul
              hibakeresését egy kernelpánik esetén.

       -o module_name
              Expliciten megnevezi a modult ahelyett, hogy az objektum fájl
              nevébÅl származtatná.

       -p     Teszteli a modult, hogy sikeresen be lehetne-e tölteni. Ebbe
              beleértendŠaz objektum megkeresése a modul-útvonalon, a
              verziószám ellenÅrzése és a szimbólumok feloldása.

       -q     Nem Ãrja ki a feloldhatatlan szimbólumok listáját.  Nem
              panaszkodik verzióeltérésrÅl.  A problémát csak az insmod
              visszatérési értéke jelzi.

       -r     Egyes felhasználók nem root azonosÃtóval fordÃtják a
              modulokat, majd root-ként installálják azokat. Ezen művelet
              után a modulok tulajdonosa egy nem root felhasználó lesz,
              még ha a modulokat tartalmazó könyvtár root tulajdonú is.
              Ha ezt a nem root azonosÃtót feltörik, a behatoló felülÃ‐
              rhatja az általa tulajdonolt létezŠmodulokat, és ezt
              felhasználhatja root jog szerzésére.

              Alapértelmezés szerint a modutils programok visszautasÃtják
              olyan modulok használatát, amelyeknek nem root a tulajdonosa.
              A -r megadása ezt a hibát elnyomja, és megengedi a root-nak,
              hogy nem root tulajdonosú modulokat töltsön be.

              A -r használata komoly biztonsági probléma, és nem
              ajánlott.

       -s     A terminál helyett mindent a syslog(3)-ba Ãr.

       -v     BÅbeszédűbb lesz.

       -X, -x Exportáld (-X), illetve ne exportáld a modul külsÅ
              szimbólumait.  Alapértelmezés szerint a szimbólumokat
              exportálja. Ez az opció csak akkor hatásos, ha maga a modul
              nem exportálja explicite a saját szimbólumtábláját, Ãgy ez
              egy ritkábban használt opció.

       -Y, -y Hozzáadja, illetve nem adja hozzá a ksymoops szimbólumokat a
              ksyms-hez.  Ezeket a szimbólomukat a ksymoops program
              használja, jobb hibakeresést lehetÅvé téve, ha egy Oops
              történik a modulban. Alapértelmezés szerint a ksymoops
              szimbólumok definiálódnak. Ez az opció független a -X/-x
              opcióktól.

              A ksymoops szimbólumok kb. 260 byte-al növelik a betöltött
              modult.  Használd inkább az alapértelmezést és a pontosabb
              Oops hibakeresés lehetÅségét, kivéve ha tényleg kevés a
              kernelmemória és a ksyms-t próbálod a minimális méretére
              összehúzni.

       -P prefix
              Ez az opciót használható verzióval ellátott modulokhoz SMP
              vagy bigmem kernelek mellé, mivel az ilyen modulok egy extra
              prefixet tartalmaznak a szimbólumaik nevében.  Ha a kernel
              szimbólum verzióval volt fordÃtva, akkor az insmod
              automatikusan felderÃti ezt a prefixet a "get_module_symbol"
              definÃciójából, ami minden olyan kernelben létezik, amelyik
              modulokat támogat. Ha a kernelben nincs modul verzió, de a
              modul szimbólum verzióval volt fordÃtva, akkor a
              felhasználónak meg kell adnia a -P opciót.

   MODUL PARAMÃTEREK
       Néhány modul elfogad betöltéskor paramétereket, melyekkel
       testreszabható a működésük. Ezek a paraméterek gyakran I/O cÃmek
       és IRQ számok, amelyek gépról-gépre változnak, és nem lehet a
       hardverbÅl megállapÃtani.

       A 2.0-ás sorozatú kernelekhez fordÃtott moduloknál bármilyen egész
       vagy karakteres mutató szimbólum kezelhetŠparaméterként és
       módosÃtható.  A 2.1-es kernelektöl kezdve a paraméter szimbólumok
       expliciten meg vannak jelölve. Továbbá tÃpusinformációt is
       tartalmaznak az érték ellenÅrzéséhez betöltéskor.

       Egész tÃpus esetén minden érték lehet decimális, oktális vagy
       hexadecimális, pl.: 17, 021 vagy 0x11. A tömbelemeket vesszÅvel
       elválasztott sorozattal adhatjuk meg; egyes elemek kihagyhatók az
       érték meg nem adásával.

       A 2.0-ás sorozatú modulokban azok az értékek, amelyek nem
       számjeggyel kezdÅdnek, karakterláncnak tekintendÅek. 2.1-tÅl kezdve a
       paraméter tÃpusa határozza meg azt, hogy az értéket
       karakterláncként értelmezze-e.  Ha az érték macskakörömmel (")
       kezdÅdik, akkor az érték a C nyelv szerint lesz értelmezve, escape-
       szekvenciákkal, stb. Figyelembe kell venni, hogy héj (shell prompt)
       értelmezi a macskakörmöt, ezért "meg kell védeni".

   KSYMOOPS TÃMOGATÃS
       Modulok használata esetén a kernel Oops hibakeresésének megkönnyÃ‐
       tésére az insmod alapértelmezésként hozzáad néhány szimbólumot
       a ksyms-hez, lásd a -Y opciót. Ezek a szimbólumok
       "__insmod_modulename_"-el kezdÅdnek. A modulename szükséges ahhoz,
       hogy egyedileg azonosÃtsuk a szimbólumokat, és lehetséges ugyanazt
       az objektumfájlt többször más néven betölteni.  A jelenleg
       definiált szimbólumok

       __insmod_modulename_Oobjectfile_Mmtime_Vversion

       Az objectfile a fájl neve, amelybÅl az objektum betöltÅdött.  Ez
       biztosÃtja, hogy a ksymoops egyeztetni tudja a kódot a megfelelÅ
       objektummal. mtime annak a fájlnak az utolsó módosÃtás ideje
       hexadecimális értékben, 0 ha a stat() hibát jelzett.  version a
       kernel verziója, amelyhez a modult fordÃtották, -1 ha nem nincs
       verziószám. A _O szimbólumnak ugyanaz a kezdÅcÃme, mint a modul
       fejlécének.

       __insmod_modulename_Ssectionname_Llength

       Ez a szimbólum a kiválasztott ELF szekciók elején jelenik meg,
       amelyek jelenleg .text, .rodata, .data és .bss. Csak akkor jelenik
       meg, ha az adott szekciónak nullánál nagyobb a mérete.  sectionname
       az ELF szekció neve, length a szekció hossza decimálisan. Ezek a
       szimbólumok segÃtik a ksymoops-ot olyan szekciók
       feltérképezésében, ahol nincsenek hozzáférhetŠszimbólumok.

       A kernel Oops hibakeresés másik problémája, hogy a /proc/ksyms és
       a /proc/modules tartalma változhat az Oops és a hiba logjának
       feldolgozása között. Ennek áthidalására, ha létezik a
       /var/log/ksymoops könyvtár, akkor insmod és rmmod automatikusan
       átmásolja a /proc/ksyms és /proc/modules fáljokat a
       /var/log/ksymoops könyvtárba a `date +%Y%m%d%H%M%S` prefix-szel.  A
       rendszer adminisztrátor megmondhatja a ksymoops-nak, hogy melyik
       "pillanatfelvételt" használja amikor egy Oops-t debuggol. Nincs olyan
       opció, ami letiltaná ezt az automatikus átmásolást, ha nem
       akarjuk, hogy megtörténjen, akkor ne hozzuk létre a
       /var/log/ksymoops könyvtárat.  Ha a könyvtár létezik, akkor a
       tulajdonosa root, és a joga 644 vagy 600 kell hogy legyen, és az
       alábbi script naponta futtatandó. A script insmod_clean_ksymoops
       néven található meg.

         #!/bin/sh
         # Törli a 2 napnál régebbi ksyms és modules mentéseket.
         if [ -d /var/log/ksymoops ]
         then
              set -e
              # BiztosÃtjuk, hogy mindig van legalább egy verzió
              d=`date +%Y%m%d%H%M%S`
              cp -a /proc/ksyms /var/log/ksymoops/${d}.ksyms
              cp -a /proc/modules /var/log/ksymoops/${d}.modules
              find /var/log/ksymoops -type f -atime +2 -exec rm {} \;
         fi

LÃSD MÃG
       rmmod(8), modprobe(8), depmod(8), lsmod(8), ksyms(8), modules(2),
       genksyms(8), kerneld(8), ksymoops(kernel).

TÃRTÃNELEM
       A modul támogatást elÅször Anonymous készÃtette el.
       A kezdeti Linux változat: Bas Laarhoven <bas@vimec.nl>
       A 0.99.14-es verzió: Jon Tombs <jon@gtex02.us.es>
       KibÅvÃtette: Bjorn Ekwall <bj0rn@blox.se>
       Az eredeti ELF támogatás: Eric Youngdale <eric@aib.com>
       ÃjraÃrta a 2.1.17-es kernelhez Richard Henderson <rth@tamu.edu>
       BÅvÃtés a modutils-2.2.*-hez: Bjorn Ekwall <bj0rn@blox.se>, 1999
       márciusa
       Ksymoops támogatás: Keith Owens <kaos@ocs.com.au>, 1999 májusa

MAGYAR FORDÃTÃS
       Böszörményi Zoltán <zboszor@mail.externet.hu>
       Narancs v1 <narancs1@externet.hu>



Linux                           October 12 1999                      INSMOD(8)