Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parLéonard Ribeiro Modifié depuis plus de 10 années
1
A la fin vous saurez définir: –- définir ce qu'est un module, –- décrire le fonctionnement modulaire du système, –- configurer un système avec des modules. Les modules
2
Qu'est ce qu'un module ? Mode de fonctionnement des modules, Utiliser les modules, Installer un module, Fichiers et commandes de configuration. Plan
3
Linux Gazette N° 29 et 37 Echo de Linux Mini-howto La pages du manuel La documentation du Kernel Sources de documentations
4
Un module est une extension du système d'exploitation. Permet l'évolution d'une configuration, sans avoir à recompiler le noyau. Exemple: Vous installez une nouvelle chaîne SCSI pour supporter une unité de sauvegarde. Vous pouvez utiliser les modules pour prendre en charge les nouveaux équipements, sans avoir besoin de recompiler le noyau. Qu'est ce qu'un module ?
5
Avantages: Les modules simplifient la mise en œoeuvre d'extensions, (configuration modulaire), Réduction la taille du noyau car les extensions ne sont pas compilées directement avec (noyau monolithique), Ils sont chargés par le système en fonction de ses besoins, Utilisation plus rationnelle de la mémoire. Pourquoi des modules ?
6
Programmes utilisateurs Mode Noyau Modules M0.M1...…Mm Mode de fonctionnement des modules Les modules sont utilisés par le noyau pour répondre aux besoins des programmes systèmes ou utilisateurs, ils sont chargé dynamiquement par le système en fonction d'un besoin.
7
Mode Noyau NfsSmbfsAudio NFSSon Lire/Ecrire SMB insmod pour charger un module - rmmod pour décharger un module Exemple Une application passe une requête, le système charge le module approprié pour répondre à la requête.
8
Http://www.pi.se/blox/modules/index.html Attention au numéro de version: NomModule.x.y.z Voir dans /usr/lib/2.0.x/ Exemple: /usr/lib/2.0.32/fs/nfs pour la version 2 du noyau Où touver des modules ?
9
Manuellement en mode commande Automatique en fonction d'un besoin système grâce à un daemon. (kerneld, Kmod) Deux solutions possibles Des exemples sont étudiés plus loin. Chargement des modules Attention: La présentation s'appuie sur Kerneld. Depuis la version 2.2 du noyau ce daemon est remplacé par Kmod.
10
Voici ce qui se passe: 1 Le noyau remarque qu'une caractéristique demandée n'est pas dans la partie résidente du noyau. 2 Le noyau envoi un message à kerneld, contenant une description symbolique de la caractéristique demandée. 3 Le daemon kerneld demande ensuite à modprobe de charger le module qui convient à cette description symbolique. 4 modprobe regarde dans la table de traduction interne "alias" pour voir s'il y a quelque chose qui correspond. Cette table peut être reconfigurée et étendue en ayant des lignes "alias" dans "/etc/conf.modules". 5 Kerneld demande à insmod d'insérer le(s) module(s) que modprobe a considéré comme nécessaire(s) pour le noyau. Chaque module sera configuré selon les lignes "options" dans "/etc/conf.modules". 6 modprobe sort et kerneld demande au noyau si la requête a réussie (ou échouée...) 7 Le noyau utilise ensuite la caractéristique nouvellement installée exactement comme si elle avait été configurée dans le noyau comme partie "résidente". 8 Lorsque le module installé automatiquement n'est plus utilisé pendant une période d'une minute, il est automatiquement retiré du noyau. Ceci conduit le noyau à utiliser la quantité minimale de mémoire et ce à tout instant, la rendant ainsi disponible pour les autres processus actifs. Chargement d'un module avec kerneld
11
Chargement d'un module manuellement /sbin/insmod nfs /* charger le module nfs */ lsmod /* afficher les modules chargés */ Voici le résultat: Module Pages Used by nfs 12 4 tulip 5 1 (autoclean) /sbin/rmmod/* décharger les modules */ L 'opération peut vite devenir fastidieuse. Il faut automatiser avec des scripts, mais il s'ensuit une maintenance.
12
Compilez le noyau avec les fonctions qui sont toujours utilisées (accès disques, réseau, ppp…) Utilisez les modules pour les fonctions utilisées ponctuellement, (nfs, smb, vfat, ntfs...) Utilisez les modules pour les pilotes de périphériques. (cela permet de mettre à jour le pilote ou de changer de périphérique sans recompiler le noyau) Stratégie d'utilisation des modules ?
13
Le support du système de fichiers (SGF) de votre partition racine (ext2fs) Le support des disques durs (IDE et SCSI) et des SGF utilisés (ext2fs) Le support de réseau (CONFIG_NET), Les options TCP/IP (CONFIG_NET) mais sans inclure les gestionnaires (pilotes de cartes), Les options de base de votre système... Ne pas utiliser les modules avec:
14
Les gestionnaires SCSI de haut niveau: disque, bande, cdrom, périphériques génériques, Les pilotes de cartes réseau, Les pilotes de CD ROM, Les services les moins utilisés ou volumineux... Utiliser les modules avec :
15
1 - make config 2 - intégrer la gestion des modules (options) 3 - make dep; make clean 4 - make zImage (création de l'image) 5 - make modules (compilation des modules) 6 - make modules_install (installation des modules) 7 - Configurer les dépendances (certains modules doivent être chargés avant les autres.) Compilation du noyau
16
Compiler le noyau avec le support des modules.
17
Le noyau doit supporter la gestion des modules. … Enable loadable config module support (CONFIG_MODULES) [y/n/?] Set version information on all symbols for modules (CONFIG_MODVERSIONS) N/y/?] Kernel daemon support (e.g.autoload of modules) (CONFIG_KERNEL) [Y/n/?]... Commentaires: Ligne 1 - active la prise en charge des modules par le noyau Ligne 2 - à N, les modules devront être recompilés à chaque mise à jour du noyau. Les modules compilés pour un noyau 2.0.n ne fonctionneront pas avec un noyau 2.0.n+1, Ligne 3 - cette option active le chargement dynamique des modules. Il faudra activer IPC système V pour la communication inter processus... Compilation du noyau
18
1 - toujours rechercher une taille minimum pour le noyau, 2 - compresser si besoin est le noyau compilé, 3 - doit pouvoir tenir sur une disquette. /* Pour obtenir une image compressée du noyau, voir le guide du RooTard */
19
Mode Noyau nfs.o Programmes utilisateurs kerneld Autres daemons Canal de communication inter processus IPC Modprob charge et décharge le module Kerneld permet de charger ou décharger les modules à la demande. Les modules sont déchargés après un temps d ’inactivité. Ce temps est configurable avec le paramètre « delay ». Man kerneld. Kerneld
20
Compilation du noyau Utiliser des options modulaires
21
Une fois votre noyau compilé, vous devez compiler les modules avec la commande : make modules Cette commande compilera tous les modules et mettra à jour le répertoire linux/modules. Vous trouverez dns ce répertoire, les liens symboliques pointant sur les divers fichiers objet. Compilation des modules
22
Maintenant, après que vous ayez créé tous vos modules, vous devez les installer avec la commande : make modules_install Ceci copiera tous les nouveaux modules vers des sous-répertoires dans "/lib/modules/version_de_noyau/", ou "version_de_noyau" est la valeur actuelle du noyau. (voir commande uname -r ou uname -- help). Aussitôt que vous avez redémarré le nouveau noyau, vous pouvez installer et retirer des modules à la demande avec les utilitaires: "insmod" et "rmmod". Installation des modules
23
La création des dépendances dépend des distributions de Linux: –/etc/rc.d/rc.modules –/etc/rc.d/init.d/modules.init –/etc/rc.d/rc.sysinit (Redhat) On utilise la commande « depmod -a ». Voir les instructions dans le mini-Howto. Création des dépendances
24
insmod (charger un module) lsmod ( afficher les modules chargés) rmmod (décharger un module) Les commandes
25
insmod: Insère un module dans le noyau en cours d'exécution. Vous indiquez comme paramètres, le nom du module à charger, et le chemin d'accès complet au module. Par exemple, pour installer le gestionnaire de fichiers msdos, vous devez taper la commande suivante: –insmod /lib/modules/1.x.xx/fs/msdos.o Les commandes
26
rmmod: Quand vous avez fini d'utiliser un module, vous pouvez le décharger. Vous devrez passer à cette commande comme paramètre, le nom du module, par exemple pour retirer le gestionnaire msdos tapez la commande: –rmmod msdos.o Les commandes
27
lsmod: Vous permet d'afficher la liste des modules en cours d'utilisation. Vous aurez les noms des modules, et le nombre de pages mémoires utilisées pour chaque module. Les commandes
28
modprob est une extension de insmod, il permet de s ’affranchir de la version du noyau ou des dépendances, on utilise la commande « /sbin/modprobe module ». Les commandes ModProb
29
Pour réussir à utiliser modprobe, placez la commande suivante dans votre script /etc/rc.d/rc.S. /sbin/depmod -a Cette commande calcule les dépendances entre les différents modules, ensuite, si vous tapez par exemple : /sbin/modprobe umsdos vous chargerez automatiquement à la fois les modules msdos et umsdos, puisque umsdos ne tourne que ci le module msdos est actif. Les modulesLes commandes Depmod
30
Exemple de fichier /etc/modules.conf alias scsi_hostadapter aha1542 # Votre adaptateur SCSI alias eth0 3c509 # Votre adaptateur réseau # Vous pouvez avoir besoin d'une ligne d'options" pour certains # adaptateurs de réseaux options 3c509 io=0x300 irq=10 # Vous pouvez avoir besoin d'une ligne d'options" # pour d'autres modules options cdu31a cdu31a_port=0x1f88 sony_pas_init=1 Vous devez ajouter aussi ces lignes : alias net-pf-3 off # aucun module ax25 n'est (encore) disponible alias net-pf-4 off # si vous n'utilisez pas le module ipx alias net-pf-5 off # si vous n'utilisez pas le module appletalk Ce fichier contient les chemins où se trouvent les modules, ainsi que leurs alias. Les fichiers - /etc/modules.conf
31
Ce fichier donne la liste des modules chargés more modules/* affichage des modules chargés */ tulip51 (autoclean) /sbin/insmod minix/* chargement du support du SGF minix */ more modules/* le module minix est chargé */ minix60 tulip51 (autoclean) /sbin/rmmod minix/* chargement du support du SGF minix */ more modules/* c ’est fait */ tulip51 (autoclean) Les modulesLes fichiers - /proc/modules
32
Vous avez vu: –ce qu'est un module, –le fonctionnement modulaire du système, –comment configurer l'utilisation des modules. Conclusion
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.