Provided by: manpages-pl_20060617-4_all bug

NAZWA

       insmod - instaluje ladowalny modul jdra

SK/LADNIA

       insmod  [-fhkLmnpqrsSvVxXyY]  [-e nazwa_przechowalni] [-o nazwa_modulu]
       [-O nazwa_blob] [-P przedrostek] modul [ symbol=warto ... ]

OPIS

       insmod instaluje ladowalny modul do dzialajcego jdrze.

       insmod  probuje  dolczy  modul  do  uruchomionego  jdra  systemu  przez
       rozwizanie wszystkich symboli z tabeli udostpnianych symboli jdra.

       Jeli  nazwa  pliku  modulu,  podana  jest  bez katalogu i rozszerzenia,
       insmod bdzie szukal modulu w kilku standardowych  katalogach.  Mona  uy
       zmiennej  rodowiska MODPATH aby zmieni to standardowe zachowanie.  Jeli
       istnieje plik konfiguracyjny modulow taki, jak  /etc/modules.conf  (lub
       (przestarzaly)  /etc/conf.modules),  cieki  w nim zdefiniowane bd mialy
       priorytet nad zdefiniowanymi w MODPATH.
       Mona rownie posluy si zmienn rodowiska MODULECONF dla  wybrania  innego
       pliku    konfiguracyjnego   ni   standardowy   /etc/modules.conf   (lub
       (przestarzaly) /etc/conf.modules).  Ta zmienna  rodowiska  bdzie  miala
       priorytet nad wszystkimi powyszymi definicjami.

   OPCJE
       -f --force
              Usiluje  zaladowa  modul  nawet jeli wersja uruchomionego jdra i
              jdra dla ktorego  modul  zostal  skompilowany  nie  zgadzaj  si.
              Powoduje to jedynie wylczenie kontroli zgodnoci wersji. Opcja ta
              nie ma wplywu na sprawdzanie nazw symboli. Jeli nazwy symboli  w
              module nie zgadzaj si z kernelem, wymuszenie nie jest moliwe.

       -h --help
              Wypisuje tekst pomocy.

       -k --autoclean
              Ustawia  dla  danego  modulu  atrybut  automatycznego  usuwania.
              kerneld(8) usunie kady modul z tym atrybutem, jeli nie bdzie  on
              uywany przez pewien okres czasu -- zazwyczaj jedn minut.

       -L --lock
              Za  pomoc  flock(2) zapobiega jednoczesnemu ldowaniu tego samego
              modulu.

       -m --map
              Wypisuje odwzorowanie ladowanych  symboli,  ktore  moe  pomoc  w
              odszukaniu  usterki  w  przypadku  wystpienia  bldu jdra (kernel
              panic).

       -n --noload
              Symulacja pracy, wykonuje wszystko oprocz zaladowania modulu  do
              jdra. Jeli wywolane z -m lub -O, w wyniku uruchomienia powstanie
              odwzorowanie symboli lub plik z kopi kodu modulu w jdrze (blob).
              Ze  wzgldu na fakt, e modul nie zostanie zaladowany, rzeczywisty
              adres  jdra,  pod  ktorym  modul  bylby  zaladowany   pozostanie
              nieznany,  wic  zarowno  odwzorowanie  symboli,  jak i plik blob
              zostan oparte na z gory ustalonym adresie 0x12340000.

       -p --probe
              Sprawdza, czy modul moe zosta zaladowany bez klopotow.  Obejmuje
              to   znalezienie   modulu  w  ciece  wyszukiwania  dla  modulow,
              sprawdzanie  numerow  wersji  i  rozwizanie   symboli.   nie   s
              sprawdzane przesunicia ani nie s tworzone odwzorowanie symboli i
              plik blob.

       -q --quiet
              Nie wypisuje  listy  nierozwizanych  symboli.   Nie  narzeka  na
              niezgodne   wersje.   Wystpienie   problemu   zostanie   jedynie
              uwidocznione w kodzie zakoczenia programu insmod.

       -r --root
              Niektorzy uytkownicy kompiluj  moduly  jako  uytkownik  inny  ni
              root,   a   nastpnie  instaluj  je  jako  root.  W  wyniku  tego
              wlacicielem  modulow  nie  bdzie  root,  nawet  jeli   jest   on
              wlacicielem  katalogu  modulow. Jeli dopuci si innego uytkownika
              ni  root  jako  wlaciciela  modulow,  umoliwi  si  nieproszonemu
              gociowi  nadpisanie  istniejcych  modulow  bdcych  wlasnoci tego
              uytkownika i wykorzystanie zaladowania go do uzyskania  uprawnie
              roota.

              Domylnie,  modutils  odrzuc prob zaladowania modulu nie nalecego
              do root-a. Podanie -r zniesie bld i  pozwoli  root-owi  zaladowa
              moduly,  ktore  nie s jego wlasnoci.  Uwaga: domylne warto opcji
              sprawdzania, czy wlacicielem jest root moe by zmieniona  podczas
              konfiguracji modutils.

              Uywanie  -r  do wy/lczenia sprawdzania, czy w/lacicielem jest root
              lub  ustawienie  wartoci  domylnej  na   "nie   sprawdzaj,   czy
              w/lacicielem  jest  root"  podczas  konfiguracji  stanowi  powane
              naruszenie bezpieczestwa i nie jest zalecane.

       -s --syslog
              Wyprowadza wszystko do syslog(3) zamiast na terminal.

       -S --kallsyms
              Wymusza, aby ladowany modul zawieral dane  kallsyms,  nawet  gdy
              jdro  ich  nie  obsluguje. Ta opcja jest przeznaczona dla malych
              systemow, gdzie jdro jest  ladowane  bez  danych  kallsyms,  ale
              wybrane moduly potrzebuj kallsyms dla poszukiwania usterek.

       -v --verbose
              Wlcza wywietlanie duej iloci informacji.

       -X --export, -x --noexport
              Odpowiednio,  udostpnia  lub  nie  wszystkie  symbole  zewntrzne
              modulow.   Standardowo,  symbole  s  udostpniane.  Ta  opcja  ma
              jedynie  znaczenie,  gdy  modul  sam jawnie nie udostpnia swojej
              wlasnej tabeli symboli i dlatego jest w zaniku.  -Y  --ksymoops,
              -y --noksymoops Dodaje/nie dodaje do ksyms symboli dla ksymoops.
              Symbole te s uywane przez ksymoops aby zapewni  wiksze  moliwoci
              poszukiwania   usterek,  gdy  wystpi  w  tym  module  Oops  (bld
              kernela). Standardowo, symbole dla ksymoops s  zdefiniowane.  Ta
              opcja jest niezalena od opcji -X/-x.

              Symbole dla ksymoops zwikszaj ladowany modul o okolo 260 bajtow.
              O ile nie cierpi si na wyrany brak przestrzeni adresowej kernela
              i nie probuje si zminimalizowa ksyms, naley przyj warto domyln i
              otrzymywa bardziej precyzyjne informacje  o  usterkach  w  razie
              Oops.  Symbole  dla  ksymoops  s  niezbdne,  aby w sposob trwaly
              przechowywa dane modulow.

       -o nazwa_modulu --name=nazwa_modulu
              Podanie jawne nazwy modulu, zamiast wywodzenia jej z podstawowej
              czci nazwy pliku z modulem.

       -O nazwa_blob --blob=nazwa_blob
              Zachowuje  obiekt  binarny  w nazwa_blob.  Wynikiem jest binarny
              blob  (bez  naglowkow  ELF)  pokazujcy,  co  dokladnie   zostalo
              zaladowane do kernela po manipulacjach sekcjami i przesuniciach.
              Zaleca si opcj -m, aby otrzyma odwzorowanie symboli obiektu.

       -P przedrostek --prefix=przedrostek
              Ta opcja moe by uywana z wersjonowanymi modulami, przy jdrze SMP
              lub jdrze z obslug wysokiej pamici (bigmem), gdy wowczas do nazw
              symboli modulow dodawany jest dodatkowy przedrostek.  Jeli  jdro
              zostalo   zbudowane   z   wersjonowanymi  symbolami,  to  insmod
              automatycznie     wycignie     przedrostek      z      definicji
              "get_module_symbol" lub "inter_module_get", z ktorych jeden musi
              istnie w dowolnym kernelu obslugujcym moduly. Jeli symbole  jdra
              nie  s  wersjonowane,  a modul zostal zbudowany z wersjonowanymi
              symbolami, to uytkownik musi poda -P.

       -e nazwa_przechowalni --persist=nazwa_przechowalni
              Okrela, skd powinny by odczytane jakiekolwiek  trwale  dane  dla
              modulu   podczas  jego  ladowania  i  gdzie  powinny  one  zosta
              zapisane, gdy ta kopia modulu bdzie usuwana z  jdra.   Opcja  ta
              jest  milczco  ignorowana,  gdy  modul nie posiada adnych trwale
              przechowywanych danych. Trwale dane s odczytywane  przez  insmod
              jedynie,  gdy  ta  opcja  zostanie  podana. Domylnie, insmod nie
              przetwarza adnych trwalych danych.  Skrocona forma: -e "" (pusty
              lacuch)  jest  interpretowana przez insmod jako warto persistdir
              (zobacz modules.conf(5)), po ktorej wystpuje nazwa pliku modulu,
              wzgldem  cieki,  w  ktorej modul zostal znaleziony, z pominiciem
              kocowych '.gz', '.o' i '.mod'. Jeli zostanie podane  persistdir=
              (tzn.  persistdir  jest  pustym polem) wowczas ta forma skrocona
              zostanie milczco zignorowana.

   PARAMETRY MODU/L'OW
       Niektore z modulow akceptuj podawanie im parametrow w czasie  ladowania
       w celu dostosowania ich do okrelonych warunkow pracy.  Tymi parametrami
       najczciej s adresy portow I/O i numery przerwa,  ktore  zmieniaj  si  w
       zalenoci od sprztu, a ktorych detekcja nie jest moliwa.

       W  modulach  zbudowanych  dla  jder  seri  2.0, jakikolwiek symbol bdcy
       wskanikiem do typu calkowitego lub znakowego moe by  potraktowany  jako
       parametr  i  zmodyfikowany.  Poczynajc  od  jder 2.1, symbole stanowice
       parametry s jawnie zaznaczone, aby tylko okrelone  parametry  mogly  by
       modyfikowane.  Co wicej, podawana jest informacja o typie parametru aby
       przy ladowaniu mona bylo j skontrolowa.

       W przypadku wartoci calkowitych, wszystkie  wartoci  mog  zosta  podane
       dziesitnie,  osemkowo  lub  szenastkowo np.: 17, 021 lub 0x11.  Tablice
       wartoci podajemy jako cig elementow rozdzielonych przecinkami; elementy
       mog by pominite przez ominicie ich wartoci.

       W modulach serii 2.0, wartoci ktore nie zaczynaj si od cyfry traktowane
       s jako lacuchy. Poczynajc od jder 2.1,  informacja  o  typie  parametru
       wskazuje czy warto ma by interpretowana jako lacuch. Jeli warto zaczyna
       si od cudzyslowu ("), lacuch jest interpretowany  jak  w  C,  sekwencje
       ucieczkowe  i  in.  Naley  zauway,  e przy podawaniu parametrow z linii
       polece powloki, moe istnie potrzeba zabezpieczenia  samych  cudzyslowow
       przed interpretacj przez powlok.

   MODU/LY I SYMBOLE NA LICENCJI GPL
       Poczwszy  od  jdra  2.4.10,  moduly  powinny  zawiera  lacuch bdcy nazw
       licencji, zdefiniowany za pomoc MODULE_LICENSE().  Niektore  lacuchy  s
       rozpoznawane  jako  zgodne  z  GPL, wszelkie inne lacuchy licencji, lub
       brak licencji  oznaczaj,  e  modul  jest  traktowany  jako  zastrzeony.
       Zajrzyj  do  include/linux/module.h  po  list  zgodnych  z GPL lacuchow
       licencji.

       Jeli jdro obsluguje znacznik /proc/sys/kernel/tainted to insmod podczas
       ladowania  modulu  nie na licencji GPL, wykona operacj OR dla znacznika
       tainted (skaony) i '1'.  Jeli  kernel  obsluguje  skaenia,  to  podczas
       ladowania  modulu bez licencji wypisane zostanie ostrzeenie; ostrzeenie
       bdzie wypisywane zawsze, nawet przy  starszych,  nieobslugujcych  skae,
       jdrach,  dla  modulow  posiadajcych  MODULE_LICENSE()  niezgodne z GPL.
       Minimalizuje to  liczb  ostrzee  podczas  uywania  nowych  modutils  ze
       starymi jdrami.

       Tryb  insmod -f  (wymuszenie)  przy  jdrach obslugujcych skaenia, bdzie
       zawsze powodowa wykonanie OR dla znacznika tainted  i  '2',  zawsze  te
       bdzie wypisywane ostrzeenie.

       Niektorzy  autorzy kodu jdra wymagaj, aby symbole udostpniane przez ich
       kod mogly by wykorzystywane wylcznie przez moduly na licencji zgodnej z
       GPL.  Symbole te s udostpniane przez EXPORT_SYMBOL_GPL zamiast zwyklego
       EXPORT_SYMBOL. Symbole "tylko dla GPL" udostpniane przez kernel i  inne
       moduly  s  widziane  wylcznie  przez  moduly na licencji zgodnej z GPL.
       Symbole te pojawi si w /proc/ksyms z przedrostkiem 'GPLONLY_'.  Podczas
       ladowania  modulu  na licencji GPL insmod ignoruje przedrostek GPLONLY_
       dla symboli, wic ladowany modul odwoluje si po prostu do zwyklej  nazwy
       symbolu,  bez  przedrostka. Symbole "tylko dla GPL" staly si niedostpne
       dla modulow o licencji niezgodnej  z  GPL,  wlczajc  w  to  moduly  bez
       jakiejkolwiek licencji.

   POMOC KSYMOOPS
       Aby  pomoc  w  analizie  Oopsow  (bldow)  jdra podczas uywania modulow,
       insmod domylnie  dodaje  kilka  symboli  do  ksyms,  zobacz  opcja  -Y.
       Symbole  te  zaczynaj  si  od  __insmod_nazwamodu/lu_.  nazwamodu/lu jest
       niezbdna, aby symbol byl unikalny, dozwolone jest ladowanie tego samego
       obiektu  wicej ni raz podajc rone nazwy modulu.  Obecnie zdefiniowane s
       symbole

       __insmod_nazwamodu/lu_Oplikobiektu_Mczas_Vwersja

       plikobiektu  jest  nazw  pliku  z  ktorego  modul  zostal   zaladowany.
       Zapewnia  to,  e  ksymoops dopasuje kod do wlaciwego obiektu. czas jest
       podanym szesnastkowo znacznikiem czasu ostatniej modyfikacji  dla  tego
       pliku,  zero  gdy  stat zakoczy si niepomylnie. wersja jest wersj jdra,
       dla ktorej modul skompilowano, -1, gdy numer  wersji  jest  niedostpny.
       Symbol _O posiada taki sam adres pocztkowy, jak naglowek modulu.

       __insmod_nazwamodu/lu_Snazwasekcji_Ld/lugo

       Symbol  ten  pojawia si na pocztku wybranych sekcji ELF, obecnie .text,
       .rodata, .data i .bss. Pojawia sie on jedynie w sekcjach  o  niezerowym
       rozmiarze.  nazwasekcji  jest  nazw  sekcji ELF, d/lugo jest jej podanym
       dziesitnie rozmiarem. Symbole te pomagaj programowi ksymoops  odwzorowa
       adresy w sekcjach, w ktorych nie s dostpne adne symbole.

       __insmod_nazwamodu/lu_Pnazwa_przechowalni

       Tworzone  przez  insmod  jedynie  gdy  modul  posiada  jeden  lub wicej
       parametrow  oznaczonych  jako  trwale  dane   i   jest   dostpny   plik
       przechowujcy te trwale dane (patrz -e powyej).

       Inny  problem  przy  analizie  Oops  jdra  polega  na  tym,  e  zawarto
       /proc/ksyms i /proc/modules cmoe si zmieni pomidzy  Oopsami  i  podczas
       przetwarzania  pliku logu. Aby pomoc pokona ten problem, insmod i rmmod
       bd   automatycznie   kopiowa    /proc/ksyms    i    /proc/modules    do
       /var/log/ksymoops  o  ile  katalog  /var/log/ksymoops  istnieje.  Bdzie
       stosowany przedrostek `date +%Y%m%d%H%M%S`. Administrator  systemu  moe
       poda ksymoops, ktory zrzut plikow ma by uyty podczas analizy Oopsa. Nie
       ma przelcznika wylczajcego to automatyczne  kopiowanie,  wic  jeli  nie
       powinno ono wystpowa, nie naley tworzy katalogu /var/log/ksymoops. Jeli
       ten katalog istnieje, powinien on by wlasnoci roota, mie  prawa  dostpu
       644  lub  600  i  naley  uruchamia codziennie, lub w podobnych odstpach
       czasu,    poniszy    skrypt.     Jest     on     zainstalowany     jako
       insmod_ksymoops_clean.

         #!/bin/sh
         # Usuwa zachowane zawartoci ksyms i modules nie uywane przez 2 dni
         if [ -d /var/log/ksymoops ]
         then
              set -e
              # Upewnia si, e zawsze zostanie co najmniej jedna wersja
              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

ZOBACZ TAKE

       rmmod(8),   modprobe(8),  depmod(8),  lsmod(8),  ksyms(8),  modules(2),
       genksyms(8), kerneld(8), ksymoops(kernel).

HISTORIA

       Wsparcie dla modulow zostalo zapocztkowane przez Anonima
       Pierwsza  wersja   Linuksowa   przygotowana   przez   Basa   Laarhovena
       <bas@vimec.nl>
       Wersja 0.99.14 przygotowana przez Jona Tombsa <jon@gtex02.us.es>
       Rozbudowana przez Bjorna Ekwalla <bj0rn@blox.se>
       Pierwotna pomoc dla ELF od Erica Youngdale'a <eric@aib.com>
       Aktualizowna do 2.1.17 przez Richarda Hendersona <rth@tamu.edu>
       Rozszerzona  przez  Bjorna Ekwalla <bj0rn@blox.se> dla modutils-2.2.* w
       marcu 1999
       Pomocy przy ksymoops udzielil Keith Owens <kaos@ocs.com.au> w maju 1999
       Zarzdza: Keith Owens <kaos@ocs.com.au>.

INFORMACJE O T/LUMACZENIU

       Powysze tlumaczenie pochodzi z nieistniejcego ju  Projektu  Tlumaczenia
       Manuali  i  moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
       opisem a rzeczywistym zachowaniem  opisywanego  programu  lub  funkcji,
       prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.