DEPMOD(8) depmod DEPMOD(8) NAZWA depmod - tworzy modules.dep i pliki map. SKLADNIA depmod [-b katalog-bazowy] [-m katalog-modulu] [-o katalog-wyjsciowy] [-e] [-E Module.symvers] [-F System.map] [-n] [-v] [-A] [-P przedrostek] [-w] [wersja] depmod [-e] [-E Module.symvers] [-F System.map] [-n] [-v] [-P przedrostek] [-w] [wersja] [nazwa-pliku...] OPIS Moduly jadra Linux moga udostepniac uslugi (zwane "symbolami") do uzycia przez inne moduly (uzywajac jednego z wariantow EXPORT_SYMBOL w kodzie). Jesli drugi modul uzywa tego symbolu, w sposob oczywisty jest zalezny od pierwszego modulu. Takie zaleznosci moga stac sie dosc zlozone. depmod tworzy liste zaleznosci modulow, odczytujac kazdy modul z katalogu //wersja. Domyslnie wynosi /lib/modules, a jest pusta. Zob. opcje opisane ponizej, jesli wymagane jest przesloniecie. Program sprawdza jakie symbole eksportuje kazdy modul, a jakich wymaga. Lista ta jest zapisywana do pliku modules.dep oraz w zahaszowanej postaci binarnej) do pliku modules.dep.bin, w tym samym katalogu. Jesli w wierszu polecenia podano nazwy plikow, sprawdzane sa tylko te moduly (co rzadko kiedy jest przydatne, chyba ze podane sa wszystkie moduly). depmod tworzy rowniez liste symboli udostepnianych przez moduly w pliku modules.symbols i jego zahaszowanej postaci binarnej - modules.symbols.bin. depmod wypisuje rowniez plik modules.devname, jesli moduly udostepniaja nazwy specjalnych urzadzen (devname), ktore powinny byc tworzone w /dev przy uruchamianiu systemu (przez narzedzia takie jak systemd-tmpfiles). Jesli dostarczona jest wersja, to uzyty jest katalog modulow wersji jadra, zamiast biezacej wersji jadra (zwroconej przez uname -r). OPCJE -a, --all Bada wszystkie moduly. Opcja jest domyslna, jesli nie podano nazw plikow w wierszu polecenia. -A, --quick Skanuje w celu sprawdzenia czy nie istnieja moduly nowsze niz w pliku modules.dep przed wykonaniem swej pracy, jesli ich nie znajdzie, to po cichu wychodzi zamiast ponownie tworzyc pliki. -b katalog-glowny, --basedir=katalog glowny Przeslania katalog bazowy , w ktorym polozone sa moduly. Jesli dany modul nie znajduje sie obecnie w (zwyklym) katalogu /lib/modules/wersja, tylko w obszarze staging, mozna okreslic katalog-bazowy ktory poprzedza nazwe katalogu. Katalog-bazowy jest wycinany z wynikowego pliku modules.dep, wiec jest on gotowy do przeniesienia do zwyklej lokalizacji. Opcja jest przeznaczona dla dostawcow dystrybucji, ktorzy chca wstepnie wygenerowac pliki metadanych zamiast ponownie wywolywac depmod pozniej. Jesli poda sie sciezke wzgledna, jest ona wzgledna wobec biezacego katalogu roboczego. Przyklad: depmod -b /my/build/staging/dir/ Polecenie spodziewa sie wszystkich plikow wejsciowych w katalogu /my/build/staging/dir/lib/modules/$(uname -r) oraz tworzy pliki indeksu w tym samym katalogu. -m katalog-modulu, --moduledir=katalog-modulu Przeslania katalog modulu , ktorym domyslnie jest przedrostek /lib/modules ustawiony w czasie zbudowania. Przedatne przy budowaniu pliku modules.dep w katalogu-bazowym dla systemu korzystajacego z innego przedrostka np. /usr/lib/modules wobec /lib/modules. Przyjmowane sa sciezki wzgledne i bezwzgledne, lecz sa one zawsze wzgledne wobec katalogu-bazowego. Przyklady: depmod -b /tmp/build -m /kernel-modules depmod -b /tmp/build -m kernel-modules Polecenie spodziewa sie wszystkich plikow wejsciowych w katalogu /tmp/build/kernel-modules/$(uname -r) oraz tworzy pliki indeksu w tym samym katalogu. Bez towarzyszacego argumentu -b, katalog-modulu jest wzgledny wobec /. Przyklad: depmod -m foo/bar Polecenie spodziewa sie wszystkich plikow wejsciowych w katalogu /foo/bar/$(uname -r) oraz tworzy pliki indeksu w tym samym katalogu. O ile nie przygotowano libkmod na te niestandardowa lokalizacje, nie zadziala ono w czasie rozruchu. -o katalog-wyjsciowy, --outdir=katalog-wyjsciowy Ustawia katalog wyjsciowy, gdzie depmod przechowa wszelkie wygenerowane pliki. Katalog-wyjsciowy sluzy jako korzen tego polozenia, podobnie jak uzywany jest katalog-bazowy. To ustawienie ma rowniez pierwszenstwo, a jesli uzyje sie go razem z katalogiem-bazowym, rezultatem bedzie wejscie z tego katalogu, ale wyjscie zgodne z katalogiem-wyjsciowym. Jesli poda sie sciezke wzgledna, jest ona wzgledna wobec biezacego katalogu roboczego. Przyklad: depmod -o /my/build/staging/dir/ Polecenie spodziewa sie wszystkich plikow wejsciowych w katalogu /lib/modules/$(uname -r) oraz tworzy pliki indeksu w katalogu /my/build/staging/dir/lib/modules/$(uname -r). -C plik-lub-katalog, --config=plik-lub-katalog Opcja przeslania domyslne pliki konfiguracyjne. Zob. podrecznik depmod.d(5). -e, --errsyms W polaczeniu z opcja -F, wypisywane sa symbole wymagane przez modul, ktore nie sa udostepniane przez inne moduly lub jadro. Przyjmuje sie zwykle, ze symbole nieudostepniane przez moduly sa zapewniane przez jadro (co powinno byc prawda w idealnym swiecie), ale to zalozenie moze nie byc prawdziwe, szczegolnie gdy dodatkowo zaktualizowane sterowniki zewnetrzne nie sa poprawnie zainstalowane lub zostaly nieprawidlowo zbudowane. -E Module.symvers, --symvers=Module.symvers W polaczeniu z opcja -e wypisywane sa wersje symboli udostepnianych przez moduly, ktore nie pasuja do wersji symboli udostepnianych przez jadro w swoim Module.symvers. Opcja nie moze byc laczona z -F. -F System.map, --filesyms=System.map Z podaniem pliku System.map utworzonego przy budowaniu jadra, ta opcja pozwala opcji -e wypisac nierozwiazane symbole. Opcja nie moze byc laczona z -E. -h, --help Wyswietla komunikat pomocy i wychodzi. -n, --show, --dry-run Wypisuje wynikowy modules.dep i rozne pliki map na standardowe wyjscie, zamiast zapisywac je do katalogu modulow. -P Czesc architektur poprzedza symbole egzotycznym znakiem. Przy uzyciu tej opcji moze podac ten przedrostek (np. "_") w celu zignorowania go. -v, --verbose W trybie szczegolowym, depmod wypisze (na standardowe wyjscie) wszystkie symbole, od ktorych zalezy kazdy modul oraz nazwe pliku modulu, ktory go udostepnia. -V, --version Wyswietla informacje o wersji i konczy dzialanie. Wypisanie ostrzezen przy dzialaniu na starszym jadrze umozliwia ponizsza opcja. -w Ostrzega o zdublowanych zaleznosciach, aliasach, wersjach symboli itp. PRAWA AUTORSKIE Pierwotnie: Copyright 2002, Rusty Russell, IBM Corporation. Czesciowo: Jon Masters i inni. ZOBACZ TAKZE depmod.d(5), modprobe(8), modules.dep(5) USTERKI Zgloszen bledow prosimy dokonywac w systemie sledzenia bledow pod adresem https://github.com/kmod-project/kmod/issues/, wraz z informacja o wersji programu, krokach potrzebnych do odtworzenia problemu oraz oczekiwanym rezultacie. AUTORZY Wielu wspolautorow pochodzi z listy dyskusyjnej linux-modules pod adresem oraz z Githuba. Majac sklonowane repozytorium kmod.git, wynik polecenia git-shortlog(1) i git-blame(1) ukaze autorow danej czesci projektu. Projektem opiekuje sie aktualnie Lucas De Marchi . TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Andrzej Krzysztofowicz i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . kmod 21 lutego 2025 r. DEPMOD(8)