La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Master 1 ère année Sécurité des Systèmes Informatique 1 Gestion de modules  Un module est un morceau de code qui peut être chargé à la volée dans le noyau.

Présentations similaires


Présentation au sujet: "Master 1 ère année Sécurité des Systèmes Informatique 1 Gestion de modules  Un module est un morceau de code qui peut être chargé à la volée dans le noyau."— Transcription de la présentation:

1 Master 1 ère année Sécurité des Systèmes Informatique 1 Gestion de modules  Un module est un morceau de code qui peut être chargé à la volée dans le noyau.  Le principal avantage est de permettre un noyau de plus petite taille  Cela permet également de rajouter certains périphériques sans pour autant refaire une compilation du noyau.  La plupart des modules se trouve avec les sources du noyau. On y trouve:  La plupart des systèmes de fichiers: minix, msdos, sysv5, NFS,..  Un ensemble de support matériel: carte Ethernet, SCSI, pilotes CDROM,...  Un module est un morceau de code qui peut être chargé à la volée dans le noyau.  Le principal avantage est de permettre un noyau de plus petite taille  Cela permet également de rajouter certains périphériques sans pour autant refaire une compilation du noyau.  La plupart des modules se trouve avec les sources du noyau. On y trouve:  La plupart des systèmes de fichiers: minix, msdos, sysv5, NFS,..  Un ensemble de support matériel: carte Ethernet, SCSI, pilotes CDROM,...

2 Master 1 ère année Sécurité des Systèmes Informatique 2 Gestion et installation de modules  La création de modules se fait grâce à la commande make modules  L'installation se fait grâce à make module-install  L'ensemble des modules se trouve placé dans le répertoire /lib/modules/version-noyau/  Dans ce répertoire, on trouve un fichier modules.dep définissant les dépendances entre modules.  Pour charger ou décharger un module, on utilise les commandes insmod et rmmod. Insmod peut prendre des paramètres tels que irq,...  La commande modprobe permet le chargement d'un module ou d'une pile de modules en fonction des dépendances  La commande /sbin/depmod -a permet la création du nouveau fichier de dépendance.  La création de modules se fait grâce à la commande make modules  L'installation se fait grâce à make module-install  L'ensemble des modules se trouve placé dans le répertoire /lib/modules/version-noyau/  Dans ce répertoire, on trouve un fichier modules.dep définissant les dépendances entre modules.  Pour charger ou décharger un module, on utilise les commandes insmod et rmmod. Insmod peut prendre des paramètres tels que irq,...  La commande modprobe permet le chargement d'un module ou d'une pile de modules en fonction des dépendances  La commande /sbin/depmod -a permet la création du nouveau fichier de dépendance.

3 Master 1 ère année Sécurité des Systèmes Informatique 3 Configuration des modules au démarrage et « daemon » kerneld  La plupart du temps, les commandes modprobe sont placées dans les fichiers de configuration  Si le démon kerneld est installé au niveau du noyau (CONFIG_KERNELD) il peut alors s'occuper de charger et décharger un module à la volée.  Le noyau prévient qu'il a une demande non résidente  Le noyau envoie un message à kerneld  Kerneld demande à modproble de charger les modules correspondant à la description  Modproble regarde quels sont les modules nécessaires et demande à insmod de les charger  Le noyau utilise cette partie comme si elle était résidente  La plupart du temps, les commandes modprobe sont placées dans les fichiers de configuration  Si le démon kerneld est installé au niveau du noyau (CONFIG_KERNELD) il peut alors s'occuper de charger et décharger un module à la volée.  Le noyau prévient qu'il a une demande non résidente  Le noyau envoie un message à kerneld  Kerneld demande à modproble de charger les modules correspondant à la description  Modproble regarde quels sont les modules nécessaires et demande à insmod de les charger  Le noyau utilise cette partie comme si elle était résidente

4 Master 1 ère année Sécurité des Systèmes Informatique 4 Compilation du noyau  Pourquoi compiler un noyau ?  Avoir un noyau optimisé (de petite taille)  Installer un nouveau périphérique (non prévu initialement en module)  Corriger certaines erreurs ou apporter des optimisations (meilleur gestion des processus)  De quoi a-t-on besoin ?  Quelques utilitaires de bases (find, tar, gcc,...)  Les sources à installer (kernel.org)  Le compilateur gcc ad-hoc  Vérifier que les versions des logiciels utiles sont à jour (./Documentation/Changes).  Pourquoi compiler un noyau ?  Avoir un noyau optimisé (de petite taille)  Installer un nouveau périphérique (non prévu initialement en module)  Corriger certaines erreurs ou apporter des optimisations (meilleur gestion des processus)  De quoi a-t-on besoin ?  Quelques utilitaires de bases (find, tar, gcc,...)  Les sources à installer (kernel.org)  Le compilateur gcc ad-hoc  Vérifier que les versions des logiciels utiles sont à jour (./Documentation/Changes).

5 Master 1 ère année Sécurité des Systèmes Informatique 5 Configuration du noyau  make config/menuconfig/xconfig/oldconfig permet la configuration de base du noyau. L'ensemble des paramètres est positionné.  Choisir les fonctionnalités (y/n) ou autoriser le chargement à la demande (M)  Ne pas sélectionner de pilotes non nécessaires afin d’améliorer les performances  Il existe un grand nombre de paramètres pour la configuration du noyau:  Type d'architecture  Multi-processeurs  Gestion de la mémoire haute  Très nombreux périphériques... (> 2500 options)  make config/menuconfig/xconfig/oldconfig permet la configuration de base du noyau. L'ensemble des paramètres est positionné.  Choisir les fonctionnalités (y/n) ou autoriser le chargement à la demande (M)  Ne pas sélectionner de pilotes non nécessaires afin d’améliorer les performances  Il existe un grand nombre de paramètres pour la configuration du noyau:  Type d'architecture  Multi-processeurs  Gestion de la mémoire haute  Très nombreux périphériques... (> 2500 options)

6 Master 1 ère année Sécurité des Systèmes Informatique 6 Compilation et installation  Une étape importante est de générer l'ensemble des dépendances avec make dep  Une fois la configuration terminée, lancez la compilation avec make (bzImage, zImage, vmlinuz,...) dans le répertoire /usr/src/linux  Si certaines parties de votre noyau sont en modules, vous devez les compiler avec make modules puis les installer avec make modules-install  Attention: avant de faire une installation des modules, veillez à sauvegarder le répertoire de module de votre ancienne installation (normalement /lib/module/version- noyau)  Le chargeur de module a besoin de connaître les dépendances entre ceux-ci. Le fichier /lib/module/version-noyau/modules.dep  Une étape importante est de générer l'ensemble des dépendances avec make dep  Une fois la configuration terminée, lancez la compilation avec make (bzImage, zImage, vmlinuz,...) dans le répertoire /usr/src/linux  Si certaines parties de votre noyau sont en modules, vous devez les compiler avec make modules puis les installer avec make modules-install  Attention: avant de faire une installation des modules, veillez à sauvegarder le répertoire de module de votre ancienne installation (normalement /lib/module/version- noyau)  Le chargeur de module a besoin de connaître les dépendances entre ceux-ci. Le fichier /lib/module/version-noyau/modules.dep

7 Master 1 ère année Sécurité des Systèmes Informatique 7 Installation du noyau  Veillez à conserver une ancienne version de votre noyau au cas où.  Pour faire une installation, vous devez soit la faire au travers de lilo (créer une nouvelle entrée pour ce noyau, soit en faire votre noyau par défaut avec make install)  Vous pouvez également copier l'ancienne version à la place de la nouvelle (attention cependant car cette version doit être physiquement à la même place)  Vous devez également copier le fichier system.map qui contient l'ensemble des symboles du noyau dans le répertoire /boot, car certains utilitaires en ont besoin.  Veillez à conserver une ancienne version de votre noyau au cas où.  Pour faire une installation, vous devez soit la faire au travers de lilo (créer une nouvelle entrée pour ce noyau, soit en faire votre noyau par défaut avec make install)  Vous pouvez également copier l'ancienne version à la place de la nouvelle (attention cependant car cette version doit être physiquement à la même place)  Vous devez également copier le fichier system.map qui contient l'ensemble des symboles du noyau dans le répertoire /boot, car certains utilitaires en ont besoin.


Télécharger ppt "Master 1 ère année Sécurité des Systèmes Informatique 1 Gestion de modules  Un module est un morceau de code qui peut être chargé à la volée dans le noyau."

Présentations similaires


Annonces Google