Gentoo Logo

[ << ] [ < ] [ Sommaire ] [ > ] [ >> ]


7. Configurer le noyau

Table des matières :

7.a. Installer les sources

Choisir un noyau

Le cœur autour duquel sont bâties toutes les distributions est le noyau (en anglais « kernel ») Linux. Ce noyau est l'interface entre les programmes utilisateur et le matériel. Gentoo offre un choix de plusieurs noyaux à ses utilisateurs. Une liste complète, accompagnée de descriptions, est disponible dans le Kernel/Vue d'ensemble.

Les seules sources de noyau Linux utilisables pour les systèmes MIPS sont mips-sources. Elles contiennent un ensemble de correctifs spécifiques aux architectures MIPS qui ne se trouvent pas dans les autres sources de noyau.

Exemple de code 1.1 : installer les sources du noyau

# emerge mips-sources

Important : sur les Origin 200/2000, Indigo2 Impact (R10000), Octane/Octane2 et O2, vous devez impérativement démarrer sur un noyau 64 bits. emerge kgcc64 vous installera le compilateur croisé nécessaire à la construction de ce type de noyau.

Exemple de code 1.2 : installer kgcc64

# emerge kgcc64

Si vous examinez le contenu de /usr/src, vous devriez voir un lien symbolique nommé linux pointant vers les sources de votre noyau. L'exemple suivant pointe sur mips-sources-2.6.34-mips, mais vous aurez sans doute installé une autre version.

Exemple de code 1.3 : examiner le lien symbolique vers le noyau

# ls -l /usr/src/linux
lrwxrwxrwx   1 root   root    12 Oct 13 11:04 /usr/src/linux -> linux-2.6.34-mips

Il est maintenant temps de configurer et de compiler votre noyau.

7.b. Compilation et installation du noyau

Introduction

Ce guide effectuait auparavant une configuration manuelle des codes source du noyau. Devant le nombre grandissant de systèmes supportés, ce n'est plus possible. Cette section détaille plusieurs configurations de noyau pour vous montrer au mieux comment procéder pour votre système.

Utiliser les exemples de configurations du noyau

Certains des systèmes supportés peuvent utiliser des fichiers de configurations exemples .config qui se cachent dans l'arborescence du noyau. Vous ne trouverez pas de fichier exemple pour tous les types de systèmes, mais ceux qui en possèdent peuvent alors être configurés comme mentionné dans le tableau suivant :

Système Commande pour le configurer
Cobalt Servers make cobalt_defconfig
Indy, Indigo2 (R4k), Challenge S make ip22_defconfig
Origin 200/2000 make ip27_defconfig
Indigo2 Impact (R10k) make ip28_defconfig
O2 make ip32_defconfig

Reprendre la configuration noyau utilisée lors de l'installation

Toutes les images d'installation Gentoo contiennent la configuration de leur noyau, accessible par le pseudo-fichier /proc/config.gz. Dans la plupart des cas, vous pouvez réutiliser cette configuration. Il vaut mieux cependant que votre version de noyau soit le plus près possible de celle de l'image. Pour l'extraire, utilisez simplement zcat :

Exemple de code 2.1 : extraire .config depuis /proc/config.gz

# zcat /proc/config.gz > .config

Important : cette configuration de noyau est faite pour démarrer par le réseau. C'est-à-dire qu'elle s'attend à trouver un système de fichiers racine quelque part, que ce soit un répertoire pour initramfs ou un fichier de périphérique pour initrd. Lorsque vous ferez make menuconfig plus bas, n'oubliez pas d'aller dans « General Setup » pour désactiver les options qui concernent initramfs.

Base de compatibilité matérielle

Afin d'aider les utilisateurs à trouver les réglages qui leur conviendront, une base de compatibilité matérielle a été mise en place. Cette base de données contient une liste de matériels MIPS supportés et permet aux utilisateurs d'y contribuer leurs configurations qui marchent pour eux. L'adresse du site est http://stuartl.longlandclan.hopto.org/gentoo/mips.

Si vous trouvez ce service utile, vous êtes encouragés à y laisser vos notes et vos .config qui marchent pour que les autres puissent bénéficier de votre expérience. Bien entendu, les informations que vous pourrez trouver sur ce site ne sont aucunement garanties.

Personnaliser la configuration aux petits ognons

Une fois que vous avez trouvé la configuration qui vous convenait, téléchargez le fichier et mettez-le dans le répertoire des codes source du noyau. Renommez le fichier en .config. À partir de là, vous pouvez lancer la commande make oldconfig pour tout mettre à jour et personnaliser un peu plus la configuration avant de compiler le code.

Exemple de code 2.2 : configurer le noyau

# cd /usr/src/linux
# cp /répertoire/vers/exemple-config .config
# make oldconfig
(Appuyez simplement sur Entrée à chaque question pour accepter les valeurs
par défaut. Elles seront personnalisées plus tard.)
# make menuconfig

Important : dans la section « Kernel Hacking », vous trouverez une option nommée « Are You Using A Cross Compiler? ». Elle indique aux Makefile du noyau d'ajouter mips-linux- (ou mipsel-linux, etc.) aux commandes gcc et as lors de la compilation du noyau. Cette option doit être désactivée, même si vous faites de la compilation croisée. À la place, si vous devez utiliser un compilateur croisé, spécifiez le préfixe en utilisant la variable CROSS_COMPILE comme expliqué dans la section suivante.

Important : il y a un problème connu avec JFS et ALSA sur les systèmes Octane, ALSA ne fonctionne pas. Étant donné la nature expérimentale de JFS sur MIPS, nous vous recommandons d'éviter JFS pour le moment.

Compiler et installer

Maintenant que votre noyau est configuré, il est temps de le compiler et de l'installer. Quittez la configuration et lancez la compilation :

Note : sur les machines 64 bits, vous devez spécifier CROSS_COMPILE=mips64-unknown-linux-gnu- (ou mips64el-... sur les systèmes little-endian) pour utiliser le compilateur 64 bits.

Exemple de code 2.3 : compiler le noyau

(Compilation nativement)
# make vmlinux modules modules_install

(Compilation croisée)
(Ajustez mips64-unknown-linux-gnu- en fonction.)
# make vmlinux modules modules_install CROSS_COMPILE=mips64-unknown-linux-gnu-

(En cas de compilation depuis une autre machine (x86 par exemple), utilisez les
commandes suivantes pour compiler le noyau et installer les modules dans un
répertoire spécifique à transférer vers la machine cible.)
# make vmlinux modules CROSS_COMPILE=mips64-unknown-linux-gnu-
# make modules_install INSTALL_MOD_PATH=/quelquepart

Important : si vous compilez un noyau 64 bits pour Indy, Indigo2 (R4k), Challenge S ou O2, utilisez la cible vmlinux.32 plutôt que vmlinux. Car sinon, votre machine ne démarrera pas à cause du PROM qui ne comprend pas le format ELF64.

Exemple de code 2.4 : utiliser la cible vmlinux.32

# make vmlinux.32
(Cela créera vmlinux.32, le noyau à utiliser.)

Lorsque la compilation est terminée, copiez l'image du noyau dans /boot.

Note : sur les serveurs Cobalt, le chargeur de démarrage s'attend à trouver une image compressée. N'oubliez pas d'utiliser la commande gzip -9 une fois le noyau copié dans /boot.

Exemple de code 2.5 : installer le noyau

# cp vmlinux /boot/kernel-2.6.34-mips

(Sur un Cobalt Server, compressez le noyau.)
# gzip -9v /boot/kernel-2.6.34-mips

7.c. Installer des modules du noyau individuels

Configurer les modules

Vous devriez indiquer la liste des modules que vous souhaitez charger automatiquement dans /etc/conf.d/modules. Vous pouvez également ajouter des options aux modules si vous le souhaitez.

Pour dresser la liste des modules disponibles, exécutez la commande find telle qu'indiquée ci-dessous. N'oubliez pas de substituer « <kernel version> » par la version du noyau que vous venez juste de compiler :

Exemple de code 3.1 : Consulter la liste des modules disponibles

# find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko' | less

Par exemple, pour charger automatiquement le module 3c59x.ko (c'est un pilote pour certaines cartes réseau 3Com), il suffit de renseigner ce module dans le fichier de configuration /etc/conf.d/modules.

Exemple de code 3.2 : Modifier le fichier /etc/conf.d/modules

# nano -w /etc/conf.d/modules
modules_2_6="3c59x"

Poursuivez l'installation avec Configurer votre système.


[ << ] [ < ] [ Sommaire ] [ > ] [ >> ]


Imprimer

Voir tout

Dernière mise à jour le 17 décembre 2013

Résumé : Le noyau Linux est au cœur de toutes les distributions. Ce chapitre explique comment le configurer.

Sven Vermeulen
Auteur

Grant Goodyear
Relecteur

Roy Marples
Auteur

Daniel Robbins
Auteur

Chris Houser
Auteur

Jerry Alexandratos
Auteur

Seemant Kulleen
Développeur Gentoo x86

Tavis Ormandy
Développeur Gentoo Alpha

Jason Huebel
Développeur Gentoo AMD64

Guy Martin
Développeur Gentoo HPPA

Pieter Van den Abeele
Développeur Gentoo PPC

Joe Kallar
Développeur Gentoo SPARC

John P. Davis
Correcteur

Pierre-Henri Jondot
Correcteur

Eric Stockbridge
Correcteur

Rajiv Manglani
Correcteur

Jungmin Seo
Correcteur

Stoyan Zhekov
Correcteur

Jared Hudson
Correcteur

Colin Morey
Correcteur

Jorge Paulo
Correcteur

Carl Anderson
Correcteur

Jon Portnoy
Correcteur

Zack Gilburd
Correcteur

Jack Morgan
Correcteur

Benny Chuang
Correcteur

Erwin
Correcteur

Joshua Kinard
Correcteur

Stuart Longland
Correcteur

Tobias Scherbaum
Correcteur

Joshua Saddler
Correcteur

Gerald J. Normandin Jr.
Relecteur

Donnie Berkholz
Relecteur

Ken Nowack
Relecteur

Lars Weiler
Contributeur

Xavier Neys
Correcteur, traducteur

Camille Huot
Traducteur

Benjamin Girault
Traducteur

Olivier Fisette
Traducteur

Olivier Roomans
Traducteur

Vincent Strubel
Traducteur

Clément Varaldi
Traducteur

José Fournier
Traducteur

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.