HOWTO Configurer et compiler le noyau
Un article de Gentoo Linux Wiki.
| Méthodes d'installation • CD Live • Noyau et matériel • Portables et Notebooks • Portage • Système • Réseaux et Services • Serveur X • Logiciels fréquemment utilisés • Autres |
Sommaire |
[modifier] Choisir les sources
Les sources les plus souvent utilisées sont les vanilla et les gentoo. La plupart des gens qui installent Gentoo utiliseront les gentoo-sources.
- vanilla-sources: Ces sources viennent directement de kernel.org. Non patchées.
- gentoo-sources: Sources patchées et optimisées par les développeurs Gentoo.
- mm-sources: Sources de la version de développement, maintenues par Andrew Morton. A utiliser si vous voulez aider aux tests du noyau ou bien si vous avez un matériel dernier cri.
- ck-sources: Contient l'ensemble de patches standard de Gentoo ainsi que l'ensemble de patches maintenus par Con Kolivas pour une station de travail ou un serveur low-latency. Le use flag ck-server use flag est disponible pour les applications serveur.
[modifier] Installer les sources du noyau
Télechargez et extrayez les sources du noyau que vous avez choisi.
Gentoo Linux$ emerge gentoo-sources -a
These are the packages that I would merge, in order:
Calculating dependencies ...done! [ebuild N ] sys-kernel/gentoo-sources-2.6.22-r9
Do you want me to merge these packages? [Yes/No]Yes
Ensuite vous devez aller dans /usr/src. Vérifiez que linux/ pointe bien vers le noyau que vous venez d'emerger (utilisez la commande "ls -l /usr/src/linux"). Si ce n'est pas le cas, tapez
rm /usr/src/linux && ln -sf /usr/src/linux-2.6.22-gentoo-r9 /usr/src/linux
Quand celà est fait, passez dans /usr/src/linux.
[modifier] Détecter votre matériel
La commande lspci vous donnera les informations de base concernant votre système, lspci est disponible une fois pciutils installé. En tapant lspci, vous devriez voir une sortie semblable à ceci :
0000:00:00.0 Host bridge: Silicon Integrated Systems [SiS] 745 Host (rev 01) 0000:00:01.0 PCI bridge: Silicon Integrated Systems [SiS] Virtual PCI-to-PCI bridge (AGP) 0000:00:02.0 ISA bridge: Silicon Integrated Systems [SiS] SiS85C503/5513 (LPC Bridge) 0000:00:02.1 SMBus: Silicon Integrated Systems [SiS]: Unknown device 0016 0000:00:02.2 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 07) 0000:00:02.3 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 07) 0000:00:02.5 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE] (rev d0) 0000:00:05.0 Multimedia audio controller: C-Media Electronics Inc CM8738 (rev 10) 0000:00:0c.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10) 0000:01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 MX 440] (rev a3)
Vous devez particulièrement connaître le type de contrôleur IDE (([SiS] 5513 dans cet exemple), le contrôleur audio (C-Media Electronics Inc CM8738), et le contrôleur ethernet (RTL-8139/8139C/8139C+). Vous ne devriez normalement pas avoir besoin de votre contrôleur VGA durant la compilation du noyau.
Vous pouvez également regarder la sortie de lsusb, si pour une raison quelconque, vous ne savez pas ce qui est branché à votre ordinateur(...):
Bus 004 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000 Bus 002 Device 005: ID 043d:007b Lexmark International, Inc. Bus 002 Device 004: ID 043d:007c Lexmark International, Inc. Bus 002 Device 003: ID 043d:007a Lexmark International, Inc. Bus 002 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000
[modifier] Configuration du noyau
Maintenant, assurez vous que vous vous trouvez dans /usr/src/linux. Tapez
make menuconfig
Vous entrerez alors dans le menu de configuration du noyau. Si vous avez déjà un serveur X, vous pouvez aussi taper make xconfig.
Dans ce menu, quand vous voyez un '[M]' au début d'une ligne, celà signifie que cette option sera compilée en module. Lorsque c'est un '[*]', cette option sera compilée dans le noyau.
Première étape -- activer les options requises par Gentoo
| Configuration du noyau Linux : Options requises |
|
Code maturity level options ---> [*] Prompt for development and/or incomplete code/drivers
Processor type and features --->
Subarchitecture Type (PC Compatible) --->
(Changez selon votre type de processeur)
Processor family (Athlon/Duron/K7) --->
File systems --->
Pseudo filesystems --->
[*] /proc file system support
[*] /dev file system support (OBSOLETE)
[*] Automatically mount at boot
[*] Virtual memory file system support (former shm fs)
|
_Votre_ système de fichiers, celui sur lequel Gentoo est en train de tourner, DOIT ETRE COMPILE DANS LE KERNEL, PAS comme un module. Pour savoir quel système de fichiers vous utilisez, ouvrez le fichier /etc/mtab dans votre éditeur de texte préféré. La ligne dont le second élément est / sera votre système de fichier racine, et vous pourrez voir quel type de système de fichier est utilisé. Par exemple:
/dev/hda8 / reiserfs rw,noatime 0 0 proc /proc proc rw 0 0 sysfs /sys sysfs rw 0 0 ...
Dans l'exemple ci-dessus le système de fichiers principal est du type ReiserFS.
Si vous n'êtes toujours pas sûr de votre système de fichiers, activez les types les plus courants - c'est parfaitement sûr, mais vous obtiendrez un noyau de plus grande taille:
| Configuration du noyau Linux : File systems |
File systems ---> <*> Reiserfs support <*> Ext3 journalling file system support <*> JFS filesystem support <*> Second extended fs support # this is the ext2 filesystem <*> XFS filesystem support |
Il est maintenant temps de vous souvenir des contrôleurs que vous avez obtenu avec lspci tout à l'heure. Normalement, Gentoo aura déjà activé les drivers dont vous avez besoin mais si ce n'était pas le cas, le contrôleur IDE se trouve dans :
| Configuration du noyau Linux : Contrôleur IDE |
Device Drivers --->
ATA/ATAPI/MFM/RLL support --->
<*> SiS5513 chipset support
|
(le support du controleur IDE devrait être activé en dur)
Ensuite, le contrôleur audio. Ici vous avez le choix du sytème de son que vous souhaitez utiliser. Alsa est en train de remplacer de facto OSS. Vous trouverez les drivers pour les différents contrôleurs dans la rubrique suivante :
| Configuration du noyau Linux : Alsa |
Device Drivers --->
Sound --->
Advanced Linux Sound Architecture --->
Generic devices --->
PCI devices --->
ALSA USB devices --->
Open Sound System --->
|
Vous devez activez un de ceux-ci. Si vous choisissez Alsa, vous aurez la compatibilité avec OSS.
L'étape suivante est le contrôleur ethernet. Supposons que vous avez une carte 10/100. Choisissez votre driver dans :
| Configuration du noyau Linux : Ethernet |
Device Drivers --->
Networking support --->
Ethernet (10 or 100Mbit) --->
<*> RealTek RTL-8139 PCI Fast Ethernet Adapter support
|
Le driver ethernet peut être sous forme de module ou compilé directement dans le noyau.
Si votre réseau utilise PPP (pour l'adsl par exemple), vous devez activer les options suivantes :
| Configuration du noyau Linux : Ethernet |
Network device support ---> <*> PPP (point-to-point protocol) support <*> PPP support for async serial ports <*> PPP support for sync tty ports |
A moins que vous ne désiriez sélectionner des options plus avancées, vous avez maintenant terminé la configuration de votre noyau. Appuyez sur <Exit> (ou sur la touche echap) jusqu'à ce que l'on vous demande de sauver la configuration. Choisissez yes.
[modifier] Compiler le noyau
Si vous avez choisi un noyau 2.4, vous devez taper les commandes suivantes
make dep && make bzImage modules modules_install
Dans le cas d'un noyau 2.6, il vous suffit de taper ceci
make && make modules_install
Voila ! Votre noyau est compilé et il ne reste plus qu'à l'installer.
[modifier] Installer le noyau
Vous êtes presque au bout. Il ne reste plus qu'à copier le noyau, la description du système et la configuration sur le /boot. Procédez comme suit:
mount /boot cp arch/i386/boot/bzImage /boot/kernel-2.4.25-gentoo cp System.map /boot/System.map-2.4.25-gentoo cp .config /boot/config-2.4.25-gentoo
Maintenant éditez le fichier de configuration de GRUB.
nano -w /boot/grub/grub.conf
