Outils pour utilisateurs

Outils du site


issue90:labo_linux

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
issue90:labo_linux [2015/02/21 16:20] – [22] auntieeissue90:labo_linux [2015/02/21 23:44] (Version actuelle) andre_domenech
Ligne 19: Ligne 19:
 LE SYSTÈME DE CONFIGURATION DU NOYAU LE SYSTÈME DE CONFIGURATION DU NOYAU
  
-Si nous jetons un coup d’œil aux répertoires du code source et aux fichiers qu'ils contiennent, nous trouverons une série de fichiers dont nous pouvons comprendre rapidement le but. Les fichiers avec l'extension .c sont clairement des fichiers de code source dans le langage de programmation C, et ceux avec l'extension .h sont des en-tête de fichiers pour le même code. Dans la partie 2 de cette série, nous avons également appris que le Makefile que nous trouvons dans chaque répertoire et sous-répertoire est un fichier qui donne au compilateur des instructions sur la façon de compiler le code source : quels fichiers sources compiler, comment nommer les fichiers de sortieet quels paramètres du compilateur utiliser.+Si nous jetons un coup d’œil aux répertoires du code source et aux fichiers qu'ils contiennent, nous trouverons une série de fichiers dont nous pouvons comprendre rapidement le but. Les fichiers avec l'extension .c sont clairement des fichiers de code source dans le langage de programmation C, et ceux avec l'extension .h sont des en-tête de fichiers pour le même code. Dans la partie 2 de cette série, nous avons également appris que le Makefile que nous trouvons dans chaque répertoire et sous-répertoire est un fichier qui donne au compilateur des instructions sur la façon de compiler le code source : quels fichiers sources compiler, comment nommer les fichiers de sortie et quels paramètres du compilateur utiliser.
  
 Lorsque nous parcourons chaque Makefile, nous pouvons voir que le fichier dans chaque répertoire se réfère uniquement au code source placé dans ce répertoire. Cela signifie qu'il y a une séparation entre les différentes parties de l'arborescence des sources du noyau : chaque répertoire ou sous-répertoire peut être compilé indépendamment. Quand nous arriverons à la notion de modules du noyau, nous verrons que cela signifie que nous pourrons compiler un seul module à la fois, sans avoir à compiler le noyau entier si ce n'est pas nécessaire. Lorsque nous parcourons chaque Makefile, nous pouvons voir que le fichier dans chaque répertoire se réfère uniquement au code source placé dans ce répertoire. Cela signifie qu'il y a une séparation entre les différentes parties de l'arborescence des sources du noyau : chaque répertoire ou sous-répertoire peut être compilé indépendamment. Quand nous arriverons à la notion de modules du noyau, nous verrons que cela signifie que nous pourrons compiler un seul module à la fois, sans avoir à compiler le noyau entier si ce n'est pas nécessaire.
Ligne 59: Ligne 59:
   default n    default n 
   help    help 
 +    
     Cette option ajoute un paramètre de noyau « 'selinux' », qui permet de désactiver SELinux au démarrage. Si cette option est sélectionnée, la fonctionnalité SELinux peut être désactivée avec selinux=0 sur la ligne de commande du noyau. Le but de cette option est de permettre de distribuer une seule image du noyau avec SELinux intégré, mais pas nécessairement activé.      Cette option ajoute un paramètre de noyau « 'selinux' », qui permet de désactiver SELinux au démarrage. Si cette option est sélectionnée, la fonctionnalité SELinux peut être désactivée avec selinux=0 sur la ligne de commande du noyau. Le but de cette option est de permettre de distribuer une seule image du noyau avec SELinux intégré, mais pas nécessairement activé. 
    
Ligne 115: Ligne 116:
 • « M » pour compiler le module comme un fichier chargeable, qui ne sera pas chargé dans la RAM au démarrage, mais seulement si c'est nécessaire pendant le fonctionnement du système. • « M » pour compiler le module comme un fichier chargeable, qui ne sera pas chargé dans la RAM au démarrage, mais seulement si c'est nécessaire pendant le fonctionnement du système.
  
-Le deuxième paragraphe dépend de la présence de ce qui précède : s'il est présent, l'utilisateur peut configurer le support pour les tunnels RFC2473 soit sous forme de module soit intégré.+Le deuxième paragraphe dépend de la présence de ce qui précède : s'il est présent, l'utilisateur peut configurer le support pour les tunnels RFC2473 soit sous forme de modulesoit intégré.
  
 Maintenant, nous avons besoin d'accéder au script de configuration lui-même. Cependant, avant de le faire, il est habituellement recommandé de commencer par nettoyer toute configuration restante. Pour ce faire, lancez : Maintenant, nous avons besoin d'accéder au script de configuration lui-même. Cependant, avant de le faire, il est habituellement recommandé de commencer par nettoyer toute configuration restante. Pour ce faire, lancez :
Ligne 129: Ligne 130:
 largely because I am comfortable with this lightweight environment that I have been using since way back when (Slackware days, to be precise). This is what you should see something like the image shown below.** largely because I am comfortable with this lightweight environment that I have been using since way back when (Slackware days, to be precise). This is what you should see something like the image shown below.**
  
-Comme indiqué dans la partie 2, nous avons à notre disposition au moins quatre scripts de configuration différents. Deux sont basés sur des environnements textuels : « make config » et « make menuconfig ». Deux autres sont graphiques: « make xconfig » basé sur la boîte à outils Qt et « make gconfig » basé sur les bibliothèques Gtk. Faites votre choix - au bout du compte, tous ces scripts s'appuient sur les mêmes fichiers Kconfig. Dans mon cas, j'utiliserai+Comme indiqué dans la partie 2, nous avons à notre disposition au moins quatre scripts de configuration différents. Deux sont basés sur des environnements textuels : « make config » et « make menuconfig ». Deux autres sont graphiques : « make xconfig » basé sur la boîte à outils Qt et « make gconfig » basé sur les bibliothèques Gtk. Faites votre choix - au bout du compte, tous ces scripts s'appuient sur les mêmes fichiers Kconfig. Dans mon cas, j'utiliserai :
  
 $ make menuconfig $ make menuconfig
Ligne 261: Ligne 262:
 système 13m31.106s  système 13m31.106s 
    
-Si nous faisons un changement dans la configuration du noyau, comme par exemple modifier la chaîne de version arbitraire comme ci-dessus, l'exécution d'un nouveau processus de compilation devra compiler uniquement les parties qui ont changé. Si notre modification n'affecte que le noyau lui-même, tous les modules devront être vérifiés, mais pas compilés. De nombreux sous-systèmes du noyau lui-même n'auront pas besoin d'être recompilés des répertoires entiers du code source seront laissés inchangés. Le temps de compilation sera considérablement réduit, par exemple :+Si nous faisons un changement dans la configuration du noyau, comme par exemple modifier la chaîne de version arbitraire comme ci-dessus, l'exécution d'un nouveau processus de compilation devra compiler uniquement les parties qui ont changé. Si notre modification n'affecte que le noyau lui-même, tous les modules devront être vérifiés, mais pas compilés. De nombreux sous-systèmes du noyau lui-même n'auront pas besoin d'être recompilésdes répertoires entiers du code source seront laissés inchangés. Le temps de compilation sera considérablement réduit, par exemple :
  
 réel 5m51.928s  réel 5m51.928s 
Ligne 338: Ligne 339:
 • initrd.img-3.13.11.2: the compressed file system (with modules generated from /lib) needed to perform initial system boot.** • initrd.img-3.13.11.2: the compressed file system (with modules generated from /lib) needed to perform initial system boot.**
  
-Heureusement, il y a une cible spécifique disponible pour que make fasse tout cela automatiquement. Puisque nous ferons des changements dans la configuration du système, nous devrons le faire avec des privilèges d'administrateur donc la commande « sudo ». C'est aussi le moment où nous pouvons sérieusement casser des choses dans notre système, alors procédez avec prudence et uniquement lorsque vous êtes sûr que les étapes précédentes se sont déroulées correctement. Ensuite, pour installer les modules dans /lib (étape 1 ci-dessus), saisissez :+Heureusement, il y a une cible spécifique disponible pour que make fasse tout cela automatiquement. Puisque nous ferons des changements dans la configuration du système, nous devrons le faire avec des privilèges d'administrateurdonc la commande « sudo ». C'est aussi le moment où nous pouvons sérieusement casser des choses dans notre système, alors procédez avec prudence et uniquement lorsque vous êtes sûr que les étapes précédentes se sont déroulées correctement. Ensuite, pour installer les modules dans /lib (étape 1 ci-dessus), saisissez :
  
 $ sudo bash $ sudo bash
issue90/labo_linux.1424532031.txt.gz · Dernière modification : 2015/02/21 16:20 de auntiee