Compilation du noyau linux Réalisé par: Souad toufik Kawtar jnini Ahmed ismaili Abderrahim abbou
PLAN
Introduction Préparation des outils Installation des sources et configuration Compilation et installation Configuration de lilo Conclusion
Le noyau est le coeur du système, en Introduction effet il assure la gestion des ressources physiques et logiques du système telles que la gestion des périphériques par les pilotes intégrés au noyau, la gestion des fichiers associée à la gestion des périphériques ainsi que la gestion des processus à l'aide de l'Ordonnanceur. Il est donc très utile d'avoir un noyau récent et bien configuré, afin de profiter au mieux des performances de la machine.
Préparation des outils Afin de pouvoir compiler votre noyau, vous allez avoir besoin de quelques outils de développement indispensables à la compilation que vous allez pouvoir télécharger facilement à l'aide de urpmi. à savoir gcc, make et ncurses, tcl/tk, Gtk, Qt selon le mode de configuration que vous désirez utiliser ainsi que bzip2 pour décompresser les sources.
Nous allons tout d'abord lancer un terminal et passer en mode root le temps de l'installation. Pour passer en mode root, il suffit de faire: $ su Votre mot de passe root va alors vous être demandé $ Password
installez les packages comme suit: #urpmi gcc #urpmi make #urpmi libncurses5devel #urpmi bzip2
Installation des sources et configuration
Arrivé à ce stade, il est impératif de très bien connaître le matériel présent sur la machine. Afin de vous aider a vérifier le matériel que vous utilisez sur votre machine, des commandes sont disponibles telles que lspci pour lister le matériel connectes sur vos ports pci ou lsusb pour lister le matériel connecter sur vos ports usb. Mandriva offre également un gestionnaire très efficace appelé harddrake2 accessible à l'aide de la commande:
Installation des sources A présent votre machine possède tous les outils nécessaires, nous allons donc télécharger la dernière version stable des sources disponibles du kernel sur le site kernel.org. Attention, assurez de bien télécharger la version full en cliquant sur le F, et enregistrez la dans le répertoire /usr/src/.
On va maintenant se placer dans le répertoire /usr/src/ grâce a la commande : # cd /usr/src/ on va décompresser les sources : # tar -xjf linux-2.6.x.x.tar.bz2
Nous allons créer un lien symbolique appelé linux pointant sur le dossier linux-2.6.x.x/. Pour s'assurer que le dossier /usr/src/ ne contient pas d'autre lien symbolique du même nom. # rm linux On crée notre lien symbolique pointant sur linux-2.6.x.x/ # ln -s linux-2.6.x.x/ linux
Configuration du noyau nous allons nous placer dans le répertoire /usr/src/linux/ en entrant la commande suivante: #cd /usr/src/linux puis : # make menuconfig
A présent, en fonction de votre matériel et de vos besoins vous allez pouvoir configurer toute une liste d'options permettant d'optimiser votre système. Il existe alors 3 types d'états : (*) indiquant que l'option est toujours active dans le noyau. (M) indiquant qu'elle est chargée en module. ( )espace signifiant que l'option n'est pas prise en charge par le noyau.
Liste succincte des options du noyau Code maturity level options: cache ou de fait apparaître les options encore en développement considérées comme instables. General setup: options générales sur votre système. Loadable module support: gestion des modules. Block layer: entrées/sorties sur votre cartemère. Processor type and features: options relatives auprocesseur. Power management options (ACPI, APM): économie d'énergie, mise en veille et l'ACPI/APM.
Networking: protocoles réseau gérés par le noyau. Device Drivers: pilotes matériel. File systems: systèmes de fichiers gérés par le noyau. Instrumentation Support: profilage du noyau (inutile de l'activer). Kernel hacking; déboguage du noyau. Security options: modèle de sécurité de votre noyau. Cryptographic options: algorithmes cryptographiques pouvant être implantés dans le noyau.
Compilation et installation
Compilation
Pour lancer la compilation, il vous suffit à présent de faire : # make # make modules # make modules_install
Installation
Bien évidemment, sous Mandriva qui est une distribution récente, l'installation automatique est très bien gérée par rapport à la vieille installation manuelle.
# make install
A présent votre nouveau noyau est prêt a fonctionner, mais nous allons quand même configurer quelque petits détails. Il faut noter que en cas de problèmes, il est toujours possible d'utiliser l'ancien noyau car Mandriva le sauvegarde.
Configuration de lilo
Une fois notre noyau installé, il va falloir configurer le boot loader (LILO par défaut sous Mandriva) afin de pouvoir sélectionner le noyau sur lequel on veut booter. Pour ce faire : # vi /etc/lilo.conf
Le fichier de configuration s'affiche alors a l'écran. Normalement, Mandriva crée une section semblable à celle-ci : image=/boot/vmlinuz-2.6.x.x label="26xx" root=/dev/hda5 initrd=/boot/initrd2.6.x.x.img append="splash=silent" vga=788
Si elle n'existe pas, il va vous falloir la créer en spécifiant un nom de votre choix comme ceci : Label="MonKernelPerso" le nom du disque (N) sur lequel est installé le noyau
root=/dev/hdaN
Vous pouvez également choisir votre nouveau noyau par défaut au démarrage : default="Kernel-Perso"
initrd=/boot/initrd2.6.x.x.img Sauvegardez et quittez l'éditeur.
Voila, après avoir redémarré votre machine, vous pourrez a booter sur votre tout nouveau noyau.
Conclusion A présent, vous possédez un nouveau noyau fonctionnel optimise pour votre système et avez appris à installer, configurer, compiler etc... Un noyau linux dans les règles de l'art
Merci pour votre attention