Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:systeme:modprobe [20/04/2015 13:43] milou |
doc:systeme:modprobe [03/05/2023 09:48] lagrenouille [La commande modprobe] |
||
---|---|---|---|
Ligne 7: | Ligne 7: | ||
* Suivi : {{tag>à-tester}} | * Suivi : {{tag>à-tester}} | ||
* Création par [[user>mattux]] le 17/06/2007 | * Création par [[user>mattux]] le 17/06/2007 | ||
- | * Testé par .... le .... | + | * Testé et compléter par lagrenouille.... le 03/05/2023.... |
- | * Commentaires sur le forum : [[Lien vers le forum |C'est ici]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | + | * Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?pid=116631#p116631 |C'est ici]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) |
===== Présentation ===== | ===== Présentation ===== | ||
La commande modprobe permet de charger ou de décharger un module. | La commande modprobe permet de charger ou de décharger un module. | ||
+ | |||
+ | Les modules sont un morceau de code qui étend les fonctionnalités du noyau Linux | ||
Les modules sont des bibliothèques que l'on peut charger dans le noyau lorsque celui-ci a besoin d'une certaine fonctionnalité. | Les modules sont des bibliothèques que l'on peut charger dans le noyau lorsque celui-ci a besoin d'une certaine fonctionnalité. | ||
Ligne 23: | Ligne 25: | ||
modprobe <nom module> | modprobe <nom module> | ||
+ | | ||
+ | la commande **lsmod** liste tous les modules | ||
+ | |||
+ | le nom - la taille - liste de modules séparés par une virgule | ||
+ | | ||
+ | les modules de kernel | ||
+ | Les modules correspondent à des drivers que l’on peut charger et décharger dynamiquement de la mémoire. | ||
+ | Vous trouverez le ou les modules dans le répertoire/lib/modules/(version kernel) | ||
+ | <code root>ls -lha /lib/modules/5.10.0-21-amd64/ | ||
+ | kernel/ modules.dep | ||
+ | modules.alias modules.dep.bin | ||
+ | modules.alias.bin modules.devname | ||
+ | modules.builtin modules.order | ||
+ | modules.builtin.alias.bin modules.softdep | ||
+ | modules.builtin.bin modules.symbols | ||
+ | modules.builtin.modinfo modules.symbols.bin</code> | ||
+ | |||
+ | <code root> ls -lha /lib/modprobe.d/ | ||
+ | total 28K | ||
+ | drwxr-xr-x 2 root root 4,0K 30 avril 18:55 . | ||
+ | drwxr-xr-x 130 root root 12K 30 avril 18:55 .. | ||
+ | -rw-r--r-- 1 root root 655 8 janv. 2021 aliases.conf | ||
+ | -rw-r--r-- 1 root root 390 22 déc. 12:55 fbdev-blacklist.conf | ||
+ | -rw-r--r-- 1 root root 773 2 févr. 2021 systemd.conf</code> | ||
+ | <code root> | ||
+ | ls -lha /lib/modules/5.10.0-21-amd64/kernel/ | ||
+ | total 48K | ||
+ | drwxr-xr-x 12 root root 4,0K 23 janv. 23:02 . | ||
+ | drwxr-xr-x 3 root root 4,0K 23 janv. 23:02 .. | ||
+ | drwxr-xr-x 3 root root 4,0K 23 janv. 23:02 arch | ||
+ | drwxr-xr-x 2 root root 4,0K 23 janv. 23:02 block | ||
+ | drwxr-xr-x 4 root root 4,0K 23 janv. 23:02 crypto | ||
+ | drwxr-xr-x 79 root root 4,0K 23 janv. 23:02 drivers | ||
+ | drwxr-xr-x 60 root root 4,0K 23 janv. 23:02 fs | ||
+ | drwxr-xr-x 7 root root 4,0K 23 janv. 23:02 lib | ||
+ | drwxr-xr-x 2 root root 4,0K 23 janv. 23:02 mm | ||
+ | drwxr-xr-x 53 root root 4,0K 23 janv. 23:02 net | ||
+ | drwxr-xr-x 15 root root 4,0K 23 janv. 23:02 sound | ||
+ | drwxr-xr-x 3 root root 4,0K 23 janv. 23:02 virt</code> | ||
+ | |||
+ | Si vous avez installé "tree" les répertoires et les modules du noyau sont répertoriés sous forme d'arborescence. | ||
+ | |||
+ | ci dessous un extrait de la commande : | ||
+ | <code root> | ||
+ | tree /lib/modules/5.10.0-21-amd64/kernel/ | ||
+ | /lib/modules/5.10.0-21-amd64/kernel/ | ||
+ | ├── arch | ||
+ | │ └── x86 | ||
+ | │ ├── crypto | ||
+ | │ │ ├── aegis128-aesni.ko | ||
+ | │ │ ├── aesni-intel.ko | ||
+ | │ │ ├── blake2s-x86_64.ko | ||
+ | │ │ ├── blowfish-x86_64.ko | ||
+ | │ │ ├── camellia-aesni-avx2.ko | ||
+ | │ │ ├── camellia-aesni-avx-x86_64.ko | ||
+ | │ │ ├── camellia-x86_64.ko | ||
+ | │ │ ├── cast5-avx-x86_64.ko | ||
+ | │ │ ├── cast6-avx-x86_64.ko | ||
+ | │ │ ├── chacha-x86_64.ko | ||
+ | │ │ ├── crc32c-intel.ko | ||
+ | │ │ ├── crc32-pclmul.ko | ||
+ | │ │ ├── crct10dif-pclmul.ko | ||
+ | │ │ ├── curve25519-x86_64.ko | ||
+ | │ │ ├── des3_ede-x86_64.ko | ||
+ | │ │ ├── ghash-clmulni-intel.ko | ||
+ | │ │ ├── glue_helper.ko | ||
+ | │ │ ├── poly1305-x86_64.ko | ||
+ | │ │ ├── serpent-avx2.ko | ||
+ | │ │ ├── serpent-avx-x86_64.ko | ||
+ | │ │ ├── serpent-sse2-x86_64.ko | ||
+ | │ │ ├── sha1-ssse3.ko | ||
+ | │ │ ├── sha256-ssse3.ko | ||
+ | │ │ ├── sha512-ssse3.ko | ||
+ | │ │ ├── twofish-avx-x86_64.ko | ||
+ | │ │ ├── twofish-x86_64-3way.ko | ||
+ | │ │ └── twofish-x86_64.ko | ||
+ | │ ├── events | ||
+ | │ │ ├── amd | ||
+ | │ │ │ └── power.ko | ||
+ | │ │ ├── intel | ||
+ | │ │ │ ├── intel-cstate.ko | ||
+ | │ │ │ └── intel-uncore.ko | ||
+ | │ │ └── rapl.ko | ||
+ | │ ├── kernel | ||
+ | │ │ ├── cpu | ||
+ | │ │ │ └── mce | ||
+ | │ │ │ └── mce-inject.ko | ||
+ | │ │ ├── cpuid.ko | ||
+ | │ │ └── msr.ko | ||
+ | │ ├── kvm | ||
+ | │ │ ├── kvm-amd.ko | ||
+ | │ │ ├── kvm-intel.ko | ||
+ | │ │ └── kvm.ko | ||
+ | │ └── oprofile | ||
+ | │ └── oprofile.ko | ||
+ | ├── block | ||
+ | │ ├── bfq.ko | ||
+ | │ ├── kyber-iosched.ko | ||
+ | │ └── t10-pi.ko | ||
+ | </code> | ||
+ | |||
+ | Si vous faites un less | ||
+ | <code root>tree /lib/modules/5.10.0-21-amd64/kernel/ | less</code> | ||
+ | vous pouvez faire une recherche par nom dans votre less | ||
+ | |||
+ | **/drivers** | ||
+ | |||
+ | de quels modules dépendent les modules du noyau drm. | ||
+ | |||
+ | <code root>modinfo drm | ||
+ | |||
+ | filename: /lib/modules/5.10.0-22-amd64/kernel/drivers/gpu/drm/drm.ko | ||
+ | license: GPL and additional rights | ||
+ | description: DRM shared core routines | ||
+ | author: Gareth Hughes, Leif Delgass, José Fonseca, Jon Smirl | ||
+ | license: GPL and additional rights | ||
+ | description: DRM bridge infrastructure | ||
+ | author: Ajay Kumar <ajaykumar.rs@samsung.com> | ||
+ | license: GPL and additional rights | ||
+ | description: DRM panel infrastructure | ||
+ | author: Thierry Reding <treding@nvidia.com> | ||
+ | depends: | ||
+ | retpoline: Y | ||
+ | intree: Y | ||
+ | name: drm | ||
+ | vermagic: 5.10.0-22-amd64 SMP mod_unload modversions | ||
+ | sig_id: PKCS#7 | ||
+ | signer: Debian Secure Boot CA | ||
+ | sig_key: 32:A0:28:7F:84:1A:03:6F:A3:93:C1:E0:65:C4:3A:E6:B2:42:26:43 | ||
+ | sig_hashalgo: sha256 | ||
+ | signature: 07:81:04:67:F4:36:E3:B8:BA:6C:35:38:E7:11:88:FE:14:9E:02:31: | ||
+ | BC:EA:08:68:AB:84:B7:5F:B0:30:2A:0D:11:DF:41:03:30:F1:13:CF: | ||
+ | BF:5C:3C:DA:CC:30:70:69:C3:72:B6:F0:4F:C4:E5:0E:24:74:A2:4B: | ||
+ | 39:36:4F:5A:38:74:5D:3F:CD:88:24:17:85:59:D7:56:B6:89:3D:23: | ||
+ | E1:BF:6E:F3:65:C8:0C:9E:D5:29:57:9A:D1:AC:E1:2B:41:B8:54:3B: | ||
+ | 06:90:44:57:DF:D4:9F:BB:25:81:47:4E:D9:F2:1F:23:23:1D:EA:C5: | ||
+ | 46:93:D8:33:F9:A9:2E:C5:80:A8:9E:4D:B8:66:5B:81:A3:47:67:68: | ||
+ | 09:25:48:11:6D:A7:A9:C6:E2:53:7F:AD:E5:73:E2:CC:BC:BB:7E:90: | ||
+ | 37:0A:43:44:B5:35:ED:1B:BB:81:14:0F:2A:66:A8:6D:42:C8:66:73: | ||
+ | E8:44:17:92:62:78:BA:D4:9E:EE:B9:66:D2:DD:4A:6D:C8:5F:62:E5: | ||
+ | EE:8F:AF:42:4C:FC:D4:50:00:EE:74:4A:86:50:53:2C:DA:C6:23:BD: | ||
+ | 85:CE:67:82:AC:C8:92:02:06:8F:75:AB:2D:69:78:A2:0C:32:EE:FE: | ||
+ | 3B:BC:05:0F:6A:58:DD:FC:B4:89:65:87:D2:92:9C:2F | ||
+ | parm: edid_firmware:Do not probe monitor, use specified EDID blob from built-in data or /lib/firmware instead. (string) | ||
+ | parm: vblankoffdelay:Delay until vblank irq auto-disable [msecs] (0: never disable, <0: disable immediately) (int) | ||
+ | parm: timestamp_precision_usec:Max. error on timestamps [usecs] (int) | ||
+ | parm: debug:Enable debug output, where each bit enables a debug category. | ||
+ | Bit 0 (0x01) will enable CORE messages (drm core code) | ||
+ | Bit 1 (0x02) will enable DRIVER messages (drm controller code) | ||
+ | Bit 2 (0x04) will enable KMS messages (modesetting code) | ||
+ | Bit 3 (0x08) will enable PRIME messages (prime code) | ||
+ | Bit 4 (0x10) will enable ATOMIC messages (atomic code) | ||
+ | Bit 5 (0x20) will enable VBL messages (vblank code) | ||
+ | Bit 7 (0x80) will enable LEASE messages (leasing code) | ||
+ | Bit 8 (0x100) will enable DP messages (displayport code) (int) | ||
+ | parm: edid_fixup:Minimum number of valid EDID header bytes (0-8, default 6) (int)</code> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Pour une raison donnée ; on peut aussi décharger un module. Pour cela, on utilise la commande rmmod | ||
+ | <code root># rmod module</code> | ||
+ | |||
+ | |||
+ | depmod - Gestion des dépendances entre les modules du noyau | ||
+ | Les utilitaires depmod et modprobe ont été conçus pour rendre le noyau Linux modulaire, configurable pour tous les utilisateurs, | ||
+ | administrateurs et concepteurs de distribution. depmod crée un fichier de dépendances de type « Makefile », | ||
+ | basé sur les symboles qu’il trouve dans les modules indiqués sur la ligne de commande ou dans les répertoires indiqués par le fichier de configuration. | ||
+ | Ce fichier est ensuite utilisé par modprobe pour charger automatiquement le bon module ou l’ensemble de modules. | ||
+ | L’invocation normale de depmod se fait en incluant la ligne | ||
+ | |||
+ | |||
+ | **insmod** - Charger des modules dans le noyau en cours d’utilisation. | ||
+ | **insmod** essaie de lier un module dans le noyau en cours d’exécution en résolvant les noms de symboles à partir de la table des symboles exportés par le noyau. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ |