issue90:labo_linux
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
issue90:labo_linux [2015/02/21 16:03] – [14] auntiee | issue90: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, | + | Si nous jetons un coup d’œil aux répertoires du code source et aux fichiers qu'ils contiennent, |
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' | 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' | ||
Ligne 59: | Ligne 59: | ||
default n | default n | ||
help | help | ||
+ | | ||
Cette option ajoute un paramètre de noyau « ' | Cette option ajoute un paramètre de noyau « ' | ||
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' | + | Le deuxième paragraphe dépend de la présence de ce qui précède : s'il est présent, l' |
Maintenant, nous avons besoin d' | Maintenant, nous avons besoin d' | ||
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' | + | 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' |
$ make menuconfig | $ make menuconfig | ||
Ligne 233: | Ligne 234: | ||
COMPILER LE NOUVEAU NOYAU | COMPILER LE NOUVEAU NOYAU | ||
- | Compiler le noyau comporte deux étapes différentes : compiler le noyau lui-même, et compiler les modules chargeables - bien que cette seconde partie ne soit effectuée que si l' | + | La compilation du noyau comporte deux étapes différentes : compiler le noyau lui-même, et compiler les modules chargeables - bien que cette seconde partie ne soit effectuée que si l' |
Pour commencer ce très long processus, exécutez la commande : | Pour commencer ce très long processus, exécutez la commande : | ||
Ligne 255: | Ligne 256: | ||
sys 0m27.180s** | sys 0m27.180s** | ||
- | Soyez prêt à voir le processeur travailler très dur et pendant une période de temps prolongée. Il est important de s' | + | Soyez prêt à voir le processeur travailler très dur et pendant une période de temps prolongée. Il est important de s' |
réel 126m0.103s | réel 126m0.103s | ||
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' | + | Si nous faisons un changement dans la configuration du noyau, comme par exemple modifier la chaîne de version arbitraire comme ci-dessus, l' |
réel 5m51.928s | réel 5m51.928s | ||
Ligne 279: | Ligne 280: | ||
sys 0m16.867s** | sys 0m16.867s** | ||
- | Par contre, si une modification a été apportée dans l'un des modules, nous pouvons préciser que seuls les modules doivent être vérifiés pour les modifications et compilés si nécessaire, | + | En revanche, si une modification a été apportée dans l'un des modules, nous pouvons préciser que seuls les modules doivent être vérifiés pour les modifications et compilés si nécessaire, |
$ make modules | $ make modules | ||
Ligne 301: | Ligne 302: | ||
Une fois que le noyau et les modules ont été compilés, on peut les trouver dans les mêmes sous-répertoires que les fichiers source. Par exemple, dans le sous-répertoire mm (gestion de la mémoire), vous trouverez à la fois les sources des routines de gestion de mémoire dans mm/ | Une fois que le noyau et les modules ont été compilés, on peut les trouver dans les mêmes sous-répertoires que les fichiers source. Par exemple, dans le sous-répertoire mm (gestion de la mémoire), vous trouverez à la fois les sources des routines de gestion de mémoire dans mm/ | ||
- | Une fois que chaque fichier source a été compilé en un objet, ils doivent être reliés entre eux dans un fichier exécutable pour le noyau, et transformés en fichiers de module chargeables pour chaque module. Le noyau lui-même est un fichier vmlinux dans la racine de l' | + | Une fois que chaque fichier source a été compilé en un objet, ils doivent être reliés entre eux dans un fichier exécutable pour le noyau et transformés en fichiers de module chargeables pour chaque module. Le noyau lui-même est un fichier vmlinux dans la racine de l' |
====== 19 ====== | ====== 19 ====== | ||
Ligne 316: | Ligne 317: | ||
Afin d' | Afin d' | ||
- | • Les modules doivent être séparés des fichiers sources, et copiés dans le répertoire / | + | • Les modules doivent être séparés des fichiers sources et copiés dans le répertoire / |
• Le noyau lui-même doit être compressé, et le fichier compressé placé dans /boot. | • Le noyau lui-même doit être compressé, et le fichier compressé placé dans /boot. | ||
• Les modules doivent également être intégrés dans un fichier compressé initrd (système de fichier initial), également placé dans /boot. | • Les modules doivent également être intégrés dans un fichier compressé initrd (système de fichier initial), également placé dans /boot. | ||
Ligne 338: | Ligne 339: | ||
• initrd.img-3.13.11.2: | • initrd.img-3.13.11.2: | ||
- | Heureusement, | + | Heureusement, |
$ sudo bash | $ sudo bash | ||
Ligne 344: | Ligne 345: | ||
# make modules_install | # make modules_install | ||
- | Vous verrez chaque fichier .ko défiler sur l' | + | Vous verrez chaque fichier .ko défiler sur l' |
# make install | # make install | ||
- | et le script exécutera les étapes 2, 3 et 4 à la suite à votre place. Vous verrez alors la sortie de l' | + | et le script exécutera les étapes 2, 3 et 4 à la suite à votre place. Vous verrez alors la sortie de l' |
• vmlinuz-3.13.11.2 (ou similaire) : le noyau compressé ; | • vmlinuz-3.13.11.2 (ou similaire) : le noyau compressé ; | ||
- | • System.map-3.13.11.2 (ou similaire) : une table des symboles dans le noyau, et leurs positions correspondantes dans la mémoire ; | + | • System.map-3.13.11.2 (ou similaire) : une table des symboles dans le noyau et leurs positions correspondantes dans la mémoire ; |
- | • initrd.img-3.13.11.2 : le système de fichier | + | • initrd.img-3.13.11.2 : le système de fichiers |
====== 21 ====== | ====== 21 ====== | ||
Ligne 367: | Ligne 368: | ||
ESSAYER VOTRE NOUVEAU NOYAU | ESSAYER VOTRE NOUVEAU NOYAU | ||
- | Puisque le processus automatique d' | + | Puisque le processus automatique d' |
Démarrez avec le nouveau noyau - avec la touche Entrée - et normalement le système devrait apparaître. En fait, il devrait être plutôt difficile de voir que le nouveau noyau est utilisé. Cependant, si nous ouvrons un terminal et utilisons la commande uname, nous devrions voir la description et la date de notre nouvelle compilation du noyau : | Démarrez avec le nouveau noyau - avec la touche Entrée - et normalement le système devrait apparaître. En fait, il devrait être plutôt difficile de voir que le nouveau noyau est utilisé. Cependant, si nous ouvrons un terminal et utilisons la commande uname, nous devrions voir la description et la date de notre nouvelle compilation du noyau : | ||
Ligne 393: | Ligne 394: | ||
Ubuntu 3.13.0-24.47-generic-alan | Ubuntu 3.13.0-24.47-generic-alan | ||
- | Si vous avez réussi à nous suivre jusqu' | + | Si vous avez réussi à nous suivre jusqu' |
Dans la prochaine partie de cette série, nous allons examiner la façon de faire des changements et d' | Dans la prochaine partie de cette série, nous allons examiner la façon de faire des changements et d' | ||
issue90/labo_linux.1424531025.txt.gz · Dernière modification : 2015/02/21 16:03 de auntiee