{{tag>sysadmin linux kernel noyau compilation}} ====== Compilation du noyau Linux ====== Notes concernant les principales étapes de compilation et d'installation du noyau Linux. ===== Téléchargement des sources ===== Souvent les éditeurs proposent des version modifiées du noyau, les sources officielles sont disponibles sur ftp://ftp.kernel.org Créer le répertoire d'accueil des sources: yoann@hermes:~$ cd /usr/local/src/ yoann@hermes:/usr/local/src$ sudo mkdir kernels [sudo] password for yoann: yoann@hermes:/usr/local/src$ sudo chown yoann:yoann kernels/ yoann@hermes:/usr/local/src$ cd kernels/ Télécharger et decompresser les sources yoann@hermes:/usr/local/src/kernels$ ncftp ftp.kernel.org NcFTP 3.2.2 (Sep 04, 2008) by Mike Gleason (http://www.NcFTP.com/contact/). ncftp / > cd /pub/linux/kernel/v2.6 ncftp /pub/linux/kernel/v2.6 > get linux-2.6.36.4.tar.bz2 ncftp /pub/linux/kernel/v2.6 > exit yoann@hermes:/usr/local/src/kernels$ tar xjf linux-2.6.36.4.tar.bz2 ===== nomenclature ===== Les noyaux sont nommés selon la nomenclature suivante: //majeur.mineure.revision.patch-LOCAL_VERSION// avec: * majeur: numéro de version majeure du noyau. * mineure: numéro de version mineure, une incrementation indique un ajout de fonctionnalités. * revision.patch: numéros indiquant des corrections/patchs ===== Configuration des options de compilation ===== Dans le répertoire des sources lancer la commande make menuconfig Sous l'interface de configuration il est possible de rechercher des options. Pour lancer une recherche tape le caractère '/' et le mot clé puis valider. Il y a environ **4000 options** de compilation, la recherche est donc un outil précieux. Pour chaque option, une description est disponible (bouton Help). Les options activées sont enregistrées dans le fichier .config ===== Compilation ===== Lancer la compilation en tant qu'utilisateur. La compilation n'a pas besoin des privilèges root pour s'effectuer correctement, il est donc fortement déconseiller de la lancer en tant que root. Après compilation, on obtient: * vmlinux, le noyau statique sans compression. * System.map, la liste des symboles du noyau. * arch/x86/boot/bzImage, noyau statique compressé. * *.ko modules compilés présents dans divers repertoires des sources. ===== Installation ===== Installation des modules et du noyau se fait via l'utilitaire make. Les options **INSTALL_MOD_PATH** et **INSTALL_PATH** permettront de surdéfinir les repertoires d'installation par défaut, dans le cas où le noyau généré ne doit pas être installé sur la machine courante mais sur une cible différente (cas de la compilation croisée).