DEPMOD(8) depmod DEPMOD(8)

depmod - generează modulele .dep și fișierele .map

depmod [-b director-bază] [-m director-moduled] [-o director-ieșire] [-e] [-E Module.symvers]
[-F System.map] [-n] [-v] [-A] [-P prefix] [-w] [versiunea]

depmod [-e] [-E Module.symvers] [-F System.map] [-n] [-v] [-P prefix]
[-w] [versiunea] [nume-fișier...]

Modulele nucleului Linux pot furniza servicii (numite „simboluri”) pentru a fi utilizate de alte module (folosind una dintre variantele EXPORT_SYMBOL din cod). Dacă un al doilea modul utilizează acest simbol, acest al doilea modul depinde în mod clar de primul modul. Aceste dependențe pot deveni destul de complexe.

depmod creează o listă de dependențe ale modulelor prin citirea fiecărui modul din <director-bază>/<director-module>/versiune. În mod implicit <director-module> este „/lib/modules” și <director-bază> este gol. Consultați opțiunile de mai jos pentru a le suprascrie atunci când este necesar. Aceasta determină simbolurile pe care fiecare modul le exportă și de care are nevoie. Această listă este scrisă în modules.dep și într-o versiune binară cu sume de control numită „modules.dep.bin”, în același director. Dacă numele fișierelor sunt date în linia de comandă, sunt examinate numai acele module (ceea ce este rareori util, cu excepția cazului în care sunt enumerate toate modulele). depmod creează, de asemenea, o listă de simboluri furnizate de module în fișierul numit „modules.symbols” și versiunea sa binară cu sume de control, „modules.symbols.bin”. În cele din urmă, depmod va produce un fișier numit „modules.devname” dacă modulele furnizează nume speciale de dispozitive (devname) care ar trebui să fie populate în „/dev” la pornire (de către un instrument precum «systemd-tmpfiles»).

Dacă este furnizată o versiune, atunci se utilizează directorul de module al acelei versiuni de nucleu în loc de versiunea curentă a nucleului (așa cum este returnată de uname -r).

-a, --all

Probează toate modulele. Această opțiune este activată în mod implicit dacă nu se indică niciun nume de fișier în linia de comandă.

-A, --quick

Această opțiune verifică dacă vreun modul este mai nou decât fișierul „modules.dep” înainte de a începe lucrul: în caz contrar, iese în tăcere, în loc să regenereze fișierele.

-b director-bază, --basedir director-bază

Suprascrie directorul de bază <director-bază> în care sunt localizate modulele. Dacă modulele dvs. nu se află în prezent în directorul (normal) „/lib/modules/versiune”, ci într-o zonă de „staging”, puteți specifica un director-bază care este adăugat la numele directorului. Acest director-bază este eliminat din fișierul „modules.dep” rezultat, astfel încât acesta este gata să fie mutat în locația normală. Folosiți această opțiune dacă sunteți un furnizor de distribuție care trebuie să generați în prealabil fișierele de metadate în loc să rulați «depmod» din nou ulterior.

Dacă este dată o rută relativă, aceasta este relativă la directorul curent de lucru.

Exemplu:

depmod -b /my/build/staging/dir/

Aceasta așteaptă toate fișierele de intrare în /my/build/staging/dir/lib/modules/$(uname -r) și generează fișiere index în același director.

-m director-module, --moduledir=director-module

Suprascrie directorul de module <director-module>, care are ca valoare implicită prefixul „/lib/modules” stabilit la momentul compilării. Acest lucru este util atunci când se construiește fișierul modules.dep în director-bază pentru un sistem care utilizează un prefix diferit, de exemplu /usr/lib/modules vs /lib/modules.

Sunt acceptate rute relative și absolute, dar acestea sunt întotdeauna relative la director-bază.

Exemple:

depmod -b /tmp/build -m /kernel-modules
depmod -b /tmp/build -m kernel-modules

Aceasta așteaptă toate fișierele de intrare în /tmp/build/kernel-modules/$(uname -r) și generează fișiere index în același director.

Fără un argument însoțitor -b, director-module este relativ la /. Exemplu:

depmod -m foo/bar

Aceasta așteaptă toate fișierele de intrare în /foo/bar/$(uname -r) și generează fișiere index în același director. Dacă „libkmod” nu este pregătită să gestioneze această locație arbitrară, nu va funcționa în timpul execuției.

-o director-ieșire, --outdir=director-ieșire

Stabilește directorul de ieșire în care «depmod» va stoca orice fișier generat. director-ieșire servește ca rădăcină pentru acea locație, similar cu modul în care este utilizat director-bază. De asemenea, această opțiune are prioritate și, dacă este utilizată împreună cu director-bază, va avea ca rezultat faptul că directorul de intrare va fi acel director, dar cel de ieșire va fi cel stabilit de director-ieșire.

Dacă este dată o rută relativă, aceasta este relativă la directorul curent de lucru.

Exemplu:

depmod -o /my/build/staging/dir/

Aceasta așteaptă toate fișierele de intrare sub /lib/modules/$(uname -r) și generează fișiere index sub /my/build/staging/dir/lib/modules/$(uname -r).

-C fișier sau director, --config =fișier sau director

Această opțiune înlocuiește fișierele de configurare implicite. A se vedea depmod.d(5).

-e, --errsyms

Atunci când este combinată cu opțiunea -F, aceasta raportează toate simbolurile de care are nevoie un modul și care nu sunt furnizate de alte module sau de nucleu. În mod normal, se presupune că toate simbolurile care nu sunt furnizate de module sunt furnizate de nucleu (ceea ce ar trebui să fie adevărat într-o lume perfectă), dar această presupunere se poate încălca în special atunci când controlorii de la terți actualizați suplimentar nu sunt instalați corect sau au fost construiți incorect.

-E Module.symvers, --symvers=Module.symvers

Atunci când este combinată cu opțiunea -e, aceasta raportează orice versiune de simboluri furnizată de module care nu corespunde cu versiunile de simboluri furnizate de nucleu în modulele sale Module.symvers. Această opțiune este reciproc incompatibilă cu -F.

-F System.map, --filesyms=System.map

Furnizată împreună cu System.map produs la construirea nucleului, aceasta permite opțiunii -e să raporteze simbolurile nerezolvate. Această opțiune este reciproc incompatibilă cu -e.

-h, --help

Afișează mesajul de ajutor și iese.

-n, --show, --dry-run

Aceasta trimite modules.dep rezultate și diferitele fișiere .map la ieșirea standard, în loc să le scrie în directorul de module.

-P

Unele arhitecturi prefixează simbolurile cu un caracter straniu. Aceasta specifică un caracter de prefix (de exemplu „_” pentru a ignora.

-v, --verbose

În modul descriptiv, depmod va afișa (la ieșirea standard) toate simbolurile de care depinde fiecare modul și numele de fișier al modulului care furnizează acel simbol.

-V, --version

Afișează versiunea programului și iese. A se vedea mai jos pentru avertismente atunci când este rulat pe nuclee mai vechi.

-w

Avertizează cu privire la dependențe duplicate, alias, versiuni de simboluri, etc.

Această pagină de manual a avut inițial drepturi de autor în 2002, aparținând lui Rusty Russell, IBM Corporation. Părți din această lucrare sunt protejate prin drepturi de autor pentru Jon Masters și alții.

depmod.d(5), modprobe(8), modules.dep(5)

Vă rugăm să transmiteți orice raport de eroare la sistemul de urmărire a erorilor al kmod la https://github.com/kmod-project/kmod/issues/, împreună cu versiunea utilizată, pașii de reproducere a problemei și rezultatul așteptat.

Numeroase contribuții au venit de pe lista de discuții linux-modules <linux-modules@vger.kernel.org> și din Github. Dacă aveți o clonă de kmod.git în sine, ieșirea din git-shortlog(1) și git-blame(1) vă poate arăta autorii pentru anumite părți ale proiectului.

Lucas De Marchi <lucas.de.marchi@gmail.com> este responsabilul actual al proiectului.

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

21 februarie 2025 kmod