[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

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
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
fr:slackbook:linux_kernel [2014/11/05 01:13 (UTC)] – [Pourquoi et comment compiler un noyau] ellendhelfr:slackbook:linux_kernel [2014/11/10 15:53 (UTC)] – [Pourquoi et comment compiler un noyau] ellendhel
Ligne 67: Ligne 67:
 L'étape la plus complexe lors de la préparation du noyau est sa configuration. Il existe des centaines d'options, qui pour la plupart peuvent être compilées de manière optionelle sous forme de modules. Cela signifie qu'il existe des centaines de façons de compiler un noyau. Heureusement, il existe quelques astuces utiles qui peuvent vous éviter trop de soucis. Le fichier de configuration du noyau se nomme ''.config''. Si vous êtes particulièrement audacieux, vous pouvez modifier ce fichier avec votre éditeur de texte, mais je recommande très fortement d'utiliser les outils proposés par le noyau pour modifier ''.config''. L'étape la plus complexe lors de la préparation du noyau est sa configuration. Il existe des centaines d'options, qui pour la plupart peuvent être compilées de manière optionelle sous forme de modules. Cela signifie qu'il existe des centaines de façons de compiler un noyau. Heureusement, il existe quelques astuces utiles qui peuvent vous éviter trop de soucis. Le fichier de configuration du noyau se nomme ''.config''. Si vous êtes particulièrement audacieux, vous pouvez modifier ce fichier avec votre éditeur de texte, mais je recommande très fortement d'utiliser les outils proposés par le noyau pour modifier ''.config''.
  
-À moins que vous ne soyez déjà expérimenté avec la configuration du noyau, vous devriez toujours partir sur une base solide et la modifier. Cela vous évitera de passer à côté d'une option importante qui vous obligerait à recommencer encore et encore jusqu'à ce que les choses fonctionnent. Le meilleur des fichiers ''.config'' repose sur celui utilisé par les noyau par défaut de Slackware. Vous pouvez les trouver sur les disques d'installation de Slackware ou dans le répertoire ''kernels/''de votre mirroir favori.+À moins que vous ne soyez déjà expérimenté avec la configuration du noyau, vous devriez toujours partir sur une base solide et la modifier. Cela vous évitera de passer à côté d'une option importante qui vous obligerait à recommencer encore et encore jusqu'à ce que les choses fonctionnent. Le meilleur des fichiers ''.config'' repose sur celui utilisé par les noyau par défaut de Slackware. Vous pouvez les trouver sur les disques d'installation de Slackware ou dans le répertoire ''kernels/'' de votre mirroir favori.
  
 <code> <code>
Ligne 142: Ligne 142:
 {{ :slackbook:make-menuconfig-w.png |make-menuconfig}} {{ :slackbook:make-menuconfig-w.png |make-menuconfig}}
  
-(//À suivre... / To be continued...//)+<note warning> 
 +Si vous compilez un noyau d'une version identique à un proposé par Slackware vous devez modifier l'option //"Local version"//. Elle se trouve dans le sous-menu //"General setup"//Si vous ne modifiez pas cette option le noyau que vous compilerez remplacera tous les modules utilisés par les noyaux par défautCela peut rapidement rendre votre système inutilisable. 
 +</note> 
 + 
 +Une fois que vous avez fini de configurer votre noyau, il est temps de passer à l'étape de compilationIl existe différentes méthodes pour cela, mais la plus efficiace est d'utiliser //bzImage//En utilisant cette option avec la commande **//make//** la compilation du noyau débutera et vous verrez un flot de messages s'afficher dans votre terminal jusqu'à le processus se termine ou qu'une erreur fatale se produise. 
 + 
 +<code> 
 +darkstar:/usr/src/linux# make bzImage 
 +scripts/kconfig/conf -s arch/x86/Kconfig 
 +  CHK     include/linux/version.h 
 +  CHK     include/linux/utsrelease.h 
 +  SYMLINK include/asm -> include/asm-x86 
 +  CALL    scripts/checksyscalls.sh 
 +  CC      scripts/mod/empty.o 
 +  HOSTCC  scripts/mod/mk_elfconfig 
 +  MKELF   scripts/mod/elfconfig.h 
 +  HOSTCC  scripts/mod/file2alias.o 
 +... plusieurs centaines de lignes suivent ... 
 +</code> 
 + 
 +Si le processus engendre une erreur, vous devriez vérifier la configuration de votre noyau en premier lieu. Les erreurs de compilation sont le plus souvent générées par un problème dans le fichier ''.config''. Si tout c'est bien passé nous n'avons pas encore fini, il reste à préparer les modules. 
 + 
 +<code> 
 + 
 +darkstar:/usr/src/linux# make modules 
 +  CHK     include/linux/version.h 
 +  CHK     include/linux/utsrelease.h 
 +  SYMLINK include/asm -> include/asm-x86 
 +  CALL    scripts/checksyscalls.sh 
 +  HOSTCC  scripts/mod/file2alias.o 
 +... plusieurs milliers de lignes suivent ... 
 +</code> 
 + 
 +Si la compilation du noyau et des modules se termine correctement, il ne nous reste qu'à les installer. L'image du noyau doit être recopiée dans un endroit spécifique, généralement le répertoire ''/boot'', et vous devez lui donner un nom unique pour éviter d'écraser une autre image du noyau présente au même endroit. Habituellement les images du noyau sont nommées ''vmlinuz'' en y ajoutant leur numéro de version et une référence locale. 
 + 
 +<code> 
 +  darkstar:/usr/src/linux# cat arch/x86/boot/bzImage > /boot/vmlinuz-release_number-local_version 
 +  darkstar:/usr/src/linux# make modules_install 
 +</code> 
 + 
 +Une fois ces étapes completées, vous aurez une nouvelle image du noyau située dans ''/boot'''et de nouveaux modules dans le répertoire ''/lib/modules''. Afin de pouvoir utiliser ce nouveau noyau vous aurez besoin d'éditer ''lilo.conf'', de créer un initrd (uniquement si vous avez besoin de charger un ou plusieurs modules au démarrageet d'exécuter la commande **//lilo//** pour mettre à jour votre gestionnaire de démarrage. Lorsque vous redémarrerez, si tout se passe sans accroc, vous devriez avoir une option pour démarrer votre système avec votre tout nouveau noyau. Si quelque chose ne marche pas, vous passerez sûrement un certain temps à régler le problème. 
 ====== Navigation ====== ====== Navigation ======
  
 fr:slackbook:linux_kernel ()