Bienvenue visiteur (Inscription |  Connexion)
Qui est en ligne ?
Il y a : 26 utilisateurs en ligne, consultez le détail
Auteur Message
TrustRobot
#0 Message posté le : 17-09-2006 à 00:00:00


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 04-07-2003
Nombre de messages : 177


Nous allons dans ce didacticiel expliquer la compilation du noyau. Petit rappel, si vous êtes ici c'est que vous utilisez ou souhaitez utiliser le système d'exploitation GNU/Linux.

Ce nom un peu particulier, implique que vous utilisiez des logiciels du projet GNU (gcc, glibc, GNU/emacs, gnome ...), s'exécutant au-dessus d'un noyau Linux.

En réalité, la seule chose dans votre système d'exploitation s'appelant réellement Linux, est votre noyau, le reste provient du projet GNU ou de contributions externes, commerciales ou non.

Cette précision faîte, je pense également important de préciser ce qu'est un noyau. Dans un système d'exploitation multi-utilisateurs, comme Linux, un noyau est un programme qui se charge en mémoire dès le boot de l'OS.

Il y reste jusqu'au reboot ou à l'extinction de la machine. Il permet à vos programmes de partager les ressources de la machine et dispose donc naturellement, de mécanismes, de protection de la mémoire, de partage de temps, d'accès coordonnés aux périphériques d'entrées/sorties.

Il doit également veiller à ce que plusieurs utilisateurs puissent accéder à la machine simultanément, avec pour chacun, l'impression d'être seul (pas d'interférence). Bref, c'est un programme complexe et vital, qu'il faut manipuler avec soin.

1. Particularité de la compilation du noyau



Si vous êtes un habitué de la compilation de logiciels à partir des sources, vous devez certainement connaître les commandes magiques : ./configure, make et make install. Sinon, sachez que :
  • ./configure : basiquement, génère des fichiers de configuration (config.h ...) après avoir inspecté votre systeme. Les informations collectées sont rassemblées dans les fichiers de config et indiqueront au compilateur les parties à inclure dans l'exécutable qui sera produit.
  • make : compile votre programme en un ou des exécutables, en se servant des informations générées par ./configure
  • make install : le dernier larron, installe votre programme, c'est à dire qu'il copie les exécutables à des endroits bien précis de votre système, pour que vous puissiez les utiliser ulterieurement. Pour les utilisateurs de Windows, cela revient à cliquer sur un le .exe d'installation.

Il existe aussi, make test et même make uninstall, qui comme vous vous en doutez, permettent respectivement de tester et désinstaller votre logiciel. Bonne nouvelle, le noyau se compile de la même façon, du moins dans le principe.

La phase de compilation est relativement triviale, seule l'installation et surtout la configuration requiert une grande attention.

Pour rendre ce document accessible à tous, je vais le scinder en deux : le Thème I causera mise à jour de votre noyau actuel (ajout de fonctionnalité(s) sur un noyau fonctionnel), c'est probablement pour cette raison que vous compilerez votre noyau la première fois, inutile donc, de vous ennuyez avec les 500 autres options.

Le Thème II traitera réellement la compilation du noyau, les options, les tweaks et tout et tout ... mais de manière digeste, enfin je l'espère.
Thème I (noyau 2.4.x) : Update d'un noyau fonctionnel
Thème II (noyau 2.4.x) : Installation d'un nouveau noyau
Thème I (noyau 2.6.x) : Compilation facile du noyau




--Message édité par TrustRobot le 17-09-2006 à 00:00:00--