table of contents
- bookworm 1:4.18.1-1
- bookworm-backports 1:4.26.2-1~bpo12+1
- testing 1:4.26.2-1
- unstable 1:4.26.2-1
DEPMOD(8) | depmod | DEPMOD(8) |
NAZWA¶
depmod - tworzy modules.dep i pliki map.
SKŁADNIA¶
depmod [-b katalog-bazowy]
[-m katalog-modułu]
[-o katalog-wyjściowy]
[-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¶
Moduły jądra Linux mogą udostępniać usługi (zwane "symbolami") do użycia przez inne moduły (używając jednego z wariantów EXPORT_SYMBOL w kodzie). Jeśli drugi moduł używa tego symbolu, w sposób oczywisty jest zależny od pierwszego modułu. Takie zależności mogą stać się dość złożone.
depmod tworzy listę zależności modułów, odczytując każdy moduł z katalogu <BASEDIR>/<MODULEDIR>/wersja. Domyślnie <MODULEDIR> wynosi /lib/modules, a <BASEDIR> jest pusta. Zob. opcje opisane poniżej, jeśli wymagane jest przesłonięcie. Program sprawdza jakie symbole eksportuje każdy moduł, 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. Jeśli w wierszu polecenia podano nazwy plików, sprawdzane są tylko te moduły (co rzadko kiedy jest przydatne, chyba że podane są wszystkie moduły). depmod tworzy również listę symboli udostępnianych przez moduły w pliku modules.symbols i jego zahaszowanej postaci binarnej - modules.symbols.bin. depmod wypisuje również plik modules.devname, jeśli moduły udostępniają nazwy specjalnych urządzeń (devname), które powinny być tworzone w /dev przy uruchamianiu systemu (przez narzędzia takie jak systemd-tmpfiles).
Jeśli dostarczona jest wersja, to użyty jest katalog modułów wersji jądra, zamiast bieżącej wersji jądra (zwróconej przez uname -r).
OPCJE¶
-a, --all
-A, --quick
-b katalog-główny, --basedir=katalog główny
Jeśli poda się ścieżkę względną, jest ona względna wobec bieżącego katalogu roboczego.
Przykład:
Polecenie spodziewa się wszystkich plików wejściowych w katalogu /my/build/staging/dir/lib/modules/$(uname -r) oraz tworzy pliki indeksu w tym samym katalogu.
-m katalog-modułu, --moduledir=katalog-modułu
Przyjmowane są ścieżki względne i bezwzględne, lecz są one zawsze względne wobec katalogu-bazowego.
Przykłady:
depmod -b /tmp/build -m kernel-modules
Polecenie spodziewa się wszystkich plików wejściowych w katalogu /tmp/build/kernel-modules/$(uname -r) oraz tworzy pliki indeksu w tym samym katalogu.
Bez towarzyszącego argumentu -b, katalog-modułu jest względny wobec /. Przykład:
Polecenie spodziewa się wszystkich plików wejściowych w katalogu /foo/bar/$(uname -r) oraz tworzy pliki indeksu w tym samym katalogu. O ile nie przygotowano libkmod na tę niestandardową lokalizację, nie zadziała ono w czasie rozruchu.
-o katalog-wyjściowy, --outdir=katalog-wyjściowy
Jeśli poda się ścieżkę względną, jest ona względna wobec bieżącego katalogu roboczego.
Przykład:
Polecenie spodziewa się wszystkich plików wejściowych 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
-e, --errsyms
-E Module.symvers, --symvers=Module.symvers
-F System.map, --filesyms=System.map
-h, --help
-n, --show, --dry-run
-P
-v, --verbose
-V, --version
-w
PRAWA AUTORSKIE¶
Pierwotnie: Copyright 2002, Rusty Russell, IBM Corporation. Częściowo: Jon Masters i inni.
ZOBACZ TAKŻE¶
USTERKI¶
Zgłoszeń błędów prosimy dokonywać w systemie śledzenia błędów pod adresem https://github.com/kmod-project/kmod/issues/, wraz z informacją o wersji programu, krokach potrzebnych do odtworzenia problemu oraz oczekiwanym rezultacie.
AUTORZY¶
Wielu współautorów pochodzi z listy dyskusyjnej linux-modules pod adresem <linux-modules@vger.kernel.org> oraz z Githuba. Mając sklonowane repozytorium kmod.git, wynik polecenia git-shortlog(1) i git-blame(1) ukaże autorów danej części projektu.
Projektem opiekuje się aktualnie Lucas De Marchi <lucas.de.marchi@gmail.com>.
TŁUMACZENIE¶
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl> i Michał Kułach <michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.
25 lutego 2025 r. | kmod |