[ << ]
[ < ]
[ 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 Guide du noyau
Gentoo Linux.
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
# 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 |
# make vmlinux modules modules_install
# make vmlinux modules modules_install CROSS_COMPILE=mips64-unknown-linux-gnu-
# 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
|
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
# 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 ]
[ > ]
[ >> ]
Ce document est protégé par la licence Creative
Commons : Paternité - Partage des Conditions Initiales à
l'Identique 2.5.
|