Les deux révisions précédentesRé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] ellendhel | fr:slackbook:linux_kernel [2014/11/10 15:53 (UTC)] – [Pourquoi et comment compiler un noyau] ellendhel |
---|
{{ :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éfaut. Cela 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 compilation. Il 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émarrage) et 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 ====== |
| |