Compiler le noyau

De Lea Linux
Aller à la navigation Aller à la recherche

Le noyau (kernel) de Linux : le compiler

en cours de réécriture

Le noyau (kernel) de Linux : le compiler
par Jean-Christophe
Où vous apprendrez à compiler votre noyau Linux sans soucis.

Si vous ne savez pas ce qu'est le noyau, allez voir le glossaire !

D'abord, quelle est la version actuelle du noyau ?

C'est facile, il suffit de lancer uname -sr pour avoir la réponse.

Note sur la numérotation des noyaux :
Les noyaux sont numérotés sur 3 nombres x.y.z.

  • Versions stables : le nombre du milieu (y) est pair. Par exemple : 2.2.11 ou 2.4.19.
  • Versions de développement : le nombre du milieu (y) est impair, par exemple 2.3.35 ou 2.5.40. Attention, il n'est pas recommandé à des utilisateurs peu expérimentés d'utiliser un noyau d'une version de développement, car ces noyaux ne sont pas - a priori - stables.

Vous avez besoin d'un nouveau noyau si :

  • vous avez un matériel dont le support a été ajouté dans une nouvelle version du noyau,
  • un trou de sécurité a été découvert dans le noyau actuel, ce problème étant réglé dans une nouvelle version,
  • vous souhaitez toujours avoir le dernier noyau possible :)
  • comme tout bon Geek, vous aimez compiler votre kernel ;)

La plupart du temps, vous n'avez pas réellement besoin de nouveau noyau.

Vous pouvez récupérer la dernière version du noyau (ainsi que toutes les autres) sur kernel.org, ou plutôt depuis le miroir le plus proche de vous.


Installation d'un noyau précompilé

Lorsque votre distribution vous propose un package de mise à jour du noyau précompilé, vous pouvez l'installer. C'est souvent recommandé, car ces mises à jour concernent soit des bugs, soit des trous de sécurité importants.
On reconnaît les packages RPM de tels noyaux à leur nom, en général de la forme : kernel-2.*.*.i?86.rpm.

Je vous conseille, pour le noyau précompilé, de ne pas mettre à jour votre distribution avec le package d'une autre distribution. Si la version que vous désirez n'est pas disponible pour votre distribution, passez plutôt par la compilation des sources (voir ci-dessous).

Attention, si vous installez un package RPM : il ne faut jamais mettre à jour un noyau par l'intermédiaire de la commande "rpm -U" (upgrade). Cette commande supprimera votre noyau actuel. Si le nouveau noyau ne fonctionne pas, il ne vous restera plus qu'à réinstaller votre système :-(
En fait, il faut installer (et non mettre à jour) le nouveau noyau par l'intermédiaire de la commande "rpm -i kernel-2.x.x.i586.rpm".


Aide-mémoire rapide

Voici en quelques lignes les étapes à réaliser pour configurer, compiler et installer un noyau. Connectez-vous en tant que root et réalisez les étapes suivantes :

  • cd /usr/src/linux
  • Configuration :
    • make xconfig (graphique) ou :
    • make menuconfig (mode texte avec menus) ou encore :
    • make config (mode texte intégral)
  • Compilation :
    • make dep
    • make bzImage
    • make modules
  • Installation (les lignes suivantes sont à adapter à votre configuration, à la version du noyau...) :
    • make modules_install
    • mv /boot/vmlinuz-2.4.18 /boot/vmlinuz-2.4.18.old
    • cp arch/boot/i386/bzImage /boot/vmlinuz-2.4.18
    • mv /boot/System.map-2.4.18 /boot/System.map-2.4.18.old
    • cp System.map /boot/System.map-2.4.18
    • mkinitrd (si votre distribution utilise un RAM disque initial)
    • Gestionnaire de boot :
      • Si vous utilisez Lilo : éditez éventuellement /etc/lilo.conf pour mettre à jour avec la nouvelle version ou ajouter une entrée, puis lancez /sbin/lilo
      • Si vous utilisez Grub : lancez grub root (hdC,P) setup (hd0), en remplaçant C par le numéro du disque (hda:C=0, hdb:C=1, etc.) et P par le numéro de partition sur ce disque (hdx1:P=0, hdx2:P=1, etc.)
  • Fin :-)

And last, but not least...

Comment compiler mon propre noyau ?

pré requis :

  • vous avez installé un environnement de compilation complet (gcc et consorts) ; cet environnement est disponible sur votre distribution, reportez vous à la rubrique [../install/install.php3#pack installation].

Vous devez être root pour faire tout ce qui suit. Dans cet exemple, nous installerons le noyau 2.2.13.

Une contribution : [kernel_debian.php3 compiler un noyau à la sauce Debian]. à lire si vous utilisez cette distribution.


Installation des sources du noyau

Archive au format rpm
Si vous avez installé le noyau avec le rpm de votre distribution, vous devez également installer le rpm des sources ainsi que celui des en-têtes (headers).

Archive au format .tar.bz2 ou .tar.gz
Tant que vous y êtes, récupérez l'archive contenant la dernière version du noyau si vous le souhaitez (attention, ces fichiers sont volumineux, dans les 14 Mo pour les derniers noyaux), puis décompressez là au bon endroit en suivant les indications suivantes :
[root@taz root]# cd /usr/src/
[root@taz src]# ls -l
total 4
lrwxrwxrwx 1 root root 12 Jun 20 22:23 linux -> linux-2.2.10/
drwxr-xr-x 15 root root 1024 Jun 20 22:38 linux-2.2.10/
drwxr-xr-x 15 root root 2048 Jun 16 19:52 linux-2.2.9/
drwxr-xr-x 7 root root 1024 Jul 7 16:57 RPM/

En général, /usr/src/linux représente un lien vers le répertoire courant contenant les sources, ici linux-2.2.10. Dans ce cas, faites :
[root@taz src]# rm -f linux
Dans le cas où linux est un répertoire (pas un lien), renommez le : mv linux linux-2.x.x, où 2.x.x est la version de votre noyau.

Puis faites :
[root@taz src]# tar jxvf /chemin/de/linux-2.2.13.tar.bz2 ou
[root@taz src]# tar zxvf /chemin/de/linux-2.2.13.tar.gz

A ce moment là, un répertoire linux a été créé, qui contient les sources de Linux 2.2.13. Afin de recréer un environnement propre, je vous suggère de renommer ce répertoire en linux-2.2.13 et de créer un lien linux qui pointe dessus :
[root@taz src]# mv linux linux-2.2.13
[root@taz src]# ln -s linux-2.2.13 linux

Remarque : Le lien /usr/src/linux est nécessaire à la compilation du noyau et afin que les fichier d'entêtes (les "includes") du noyau soient disponibles pour des compilations futures d'applications.


Phase de configuration du noyau

Placez vous dans le répertoire des sources /usr/src, puis lancez les commandes suivantes :

[root@taz src]# cd linux

[root@taz linux]# make mrproper (ça nettoie l'arborescence des sources)

pour une configuration en mode graphique :

[root@taz linux]# make xconfig

ou pour une configuration en mode texte avec menus (ncurses) :

[root@taz linux]# make menuconfig

ou pour une configuration en mode texte pur (longue suite de questions/réponses) :

[root@taz linux]# make config

(voir les annexes pour la manipulation de [#menuconfig menuconfig] et de [#xconfig xconfig]).

Le moment est venu de choisir vos options.
Si c'est la première fois que vous compilez le noyau, je vous conseille de les passer toutes en revue les unes après les autres, dans l'ordre, afin de voir si elles s'appliquent à vous ou non. Pour en savoir plus, vous pouvez demander de l'aide pour chaque option (touche [H] dans la console ou bouton [Help] sous X). Reportez vous aussi à l'[#options annexe sur les options] pour avoir une aide afin de les choisir.

Je vous conseille de sauvegarder votre config dans un fichier pour la réutiliser plus tard. Par exemple, sauvegardez là dans /root/kernel.config-2.2.13. Ainsi vous pourrez recompiler le noyau en rechargeant cette config, et n'ajuster que les paramètres nécessaires. De plus, même en cas de montée de version du noyau, vous pourrez réutiliser ce fichier de config qui reste compatible (et vérifier les nouvelles options, bien sûr).


Phase de compilation du noyau et des modules

Sauvez et quittez, puis lancez les commandes qui vont vraiment compiler le noyau :
[root@taz linux]# make dep clean bzImage modules modules_install
pour tout compiler en une fois et installer.

ou :
[root@taz linux]# make dep
[root@taz linux]# make clean
[root@taz linux]# make bzImage

pour compiler le noyau lui-même, et pour compiler et installer les modules (i.e. les drivers) :
[root@taz linux]# make modules
[root@taz linux]# make modules_install
Les modules seront installés dans le répertoire /lib/modules/2.2.13/.

Remarque : Si vous voulez juste recompiler le noyau, sans monter de version, je vous conseille de déplacer le répertoire /lib/modules/2.x.x (remplacez par votre version) vers /lib/modules/old-2.x.x par exemple, avant la phase de compilation, afin que l'installation des modules recrée ce répertoire et y place les nouveaux modules : cela vous épargnera des problèmes si la nouvelle configuration du noyau a modifié celle des modules.
Si tout fonctionne correctement après le redémarrage, vous pourrez supprimer /lib/modules/old-2.x.x.


Installation du nouveau noyau

Remarque sur initrd :

  • La plupart des distributions récentes utilisent souvent par défaut un disque RAM initial (initrd) afin de démarrer le système. Ce n'est pas nécessaire en général, sauf si votre système de fichiers racine / a besoin de modules pour être chargé (par exemple, s'il se trouve sur un disque SCSI, et que le support SCSI est en modules). Si vous incluez les modules nécessaires au chargement de votre système de fichiers racine (en répondant Y au lieu de M), vous pouvez vous passer d'initrd.
  • Si vous utilisez initrd, n'oubliez pas de le regénérer avec la commande mkinitrd avant de lancer LILO ou de redémarrer avec LOADLIN.

Installation avec LILO

Nous allons modifier /etc/lilo.conf pour bouter sur votre nouveau noyau en tapant "linux" et sur l'ancien en tapant "old". Nous conserverons l'ancien noyau, ce qui permet de revenir à l'ancienne configuration si quelque chose se passe mal en boutant le nouveau noyau.

Voici un exemple de ce à quoi nous aboutissons :
boot=/dev/hda
# remplacez hda par le disque
# où vous installez LILO
map=/boot/map
install=/boot/boot.b
prompt
timeout=15
image=/boot/vmlinuz-2.2.13
label=linux
root=/dev/hdb1
# remplacez hdb1 par
# votre partition racine
read-only
image=/boot/vmlinuz-2.2.10
label=old
root=/dev/hdb1
read-only

Ensuite, placez vous dans /usr/src/linux, et installez le nouveau noyau par la commande suivante : [root@taz linux]# make install

Cela copie le noyau et le fichier System.map dans le répertoire /boot, puis lance lilo afin de prendre en compte les changements que nous avons apporté à /etc/lilo.conf.

Si tout s'est bien passé, vous n'avez plus qu'à rebouter :
[root@taz linux]# reboot

Au prompt LILO, tapez 'linux' pour démarrer le nouveau noyau, et si cela ne fonctionne pas 'old' pour démarrer l'ancien noyau et aller corriger ce qui ne va pas (c'est à ce moment que vous serez content d'avoir sauvegardé les informations de configuration du noyau dans un fichier :).

Installation avec GRUB

Note : le fichier de configuration de Grub est /boot/grub.lst
Vous devez copier le noyau et System.map dans /boot comme décrit plus haut (voir [#rapide aide mémoire rapide]) :

Déterminez le nom de l'image noyau (ici vmlinuz) dans le fichier de configuration de Grub. Puis copiez le noyau :
mv /boot/vmlinuz-2.4.18 /boot/vmlinuz-2.4.18.old
cp arch/<architecture>/boot/bzImage /boot/vmlinuz-2.4.18

avec <architecture> étant égal à i386 pour un PC compatible Intel, ppc pour un Macintosh PowerPC, etc.
mv /boot/System.map-2.4.18 /boot/System.map-2.4.18.old cp System.map /boot/System.map-2.4.18

Remarque : ces instructions sont valables quelque soit le chargeur de démarrage...

Enfin, pour faire prendre en compte la nouvelle image noyau à Grub, tapez :
grub root (hdC,P) setup (hd0)
En remplaçant C par le numéro du disque dur, selon la correspondance suivante : hda:C=0, hdb:C=1, hdc:C=2, etc. et P par le numéro de partition sur le disque, c'est à dire hdx1:P=0, hdx2:P=1, hdx3:P=2, etc.

Installation avec LOADLIN

Placez vous dans /usr/src/linux, et copiez System.map dans /boot sous le nom System.map-2.2.13, effacez le lien /boot/System.map, puis recréez le sur System.map-2.2.13 :
[root@taz linux]# cp System.map /boot/System.map-2.2.13
[root@taz linux]# rm -f /boot/System.map
[root@taz linux]# ln -s /boot/System.map-2.2.13 /boot/System.map

Copiez le noyau vers l'endroit ou vous avez l'habitude de le faire (en général dans le premier disque DOS, par exemple dans C:\LINUX), monté par exemple dans /mnt/dosc :
[root@taz linux]# cp arch/i386/boot/bzImage /mnt/dosc/linux/vmlinuz2

Si vous utiliser initrd, regénérez-le :
[root@taz linux]# mkinitrd
[root@taz linux]# cp /boot/initrd /mnt/dosc/linux/initrd2

Reboutez sous DOS, et démarrez Linux par :
C:\>LOADLIN vmlinuz2 root=/dev/hdb1 ro
(remplacez /dev/hdb1 par votre partition racine).

Ou si vous utilisez initrd : C:\>LOADLIN c:\linux\vmlinuz2 initrd=c:\linux\initrd2

The end...

Annexe : copies d'écran

make menuconfig donne l'écran suivant :

L'écran suivant contient la liste des sous-menus de configuration.
Déplacez vous avec les flèches, et tapez 'Entrée' pour entrer dans chaque sous-menu.

Linux Kernel v2.2.13 Configuration
------------------------------------------------------------------------------
+------------------------------- Main Menu -------------------------------
| Arrow keys navigate the menu. <Enter> selects submenus --->. |
| Highlighted letters are hotkeys. Pressing <Y> includes, <N> excludes, |
| <M> modularizes features. Press <Esc><Esc> to exit, <?> for Help. |
| Legend: [*] built-in [ ] excluded <M> module < > module capable |
| +---------------------------------------------------------------------+ |
| | Code maturity level options ---> | |
| | Processor type and features ---> | |
| | Loadable module support ---> | |
| | General setup ---> | |
| | Plug and Play support ---> | |
| | Block devices ---> | |
| | Networking options ---> | |
| | SCSI support ---> | |
| | Network device support ---> | |
| | Amateur Radio support ---> | |
| | IrDA subsystem support ---> | |
| | ISDN subsystem ---> | |
| | Old CD-ROM drivers (not SCSI, not IDE) ---> | |
| | Character devices ---> | |
| | Filesystems ---> | |
| | Console drivers ---> | |
| | Sound ---> | |
| | Kernel hacking ---> | |
| | --- | |
| | Load an Alternate Configuration File | |
| | Save Configuration to an Alternate File | |
| | | |
| +---------------------------------------------------------------------+ |
+-------------------------------------------------------------------------+
| <Select> < Exit > < Help > |
+-------------------------------------------------------------------------

Sur les écrans déplacez vous avec les flèches, tapez 'Y' pour include une fonction, 'M' pour l'inclure en tant que module. Tapez '?' ou 'H' pour avoir de l'aide sur la fonction sélectionnée (je vous recommande de lire l'aide de chaque fonction, et si vous ne comprenez pas, prenez la valeur conseillée). Tapez 'Esc' afin de sortir d'un sous-menu.


Après avoir configuré votre noyau, sélectionnez "Save Configuration to an Alternate File", afin d'enregistrer le fichier de configuration et de pouvoir le réutiliser ultérieurement. Enfin, quittez en pressant 'Esc' et enregistrez la configuration.

make xconfig donne la fenêtre suivante :

Ce premier écran contient des boutons qui mènent aux différents sous-menus de configuration :

Pour chaque option, cliquez sur le bouton [Help] afin de lire la documentation de l'option.
Après avoir configuré votre noyau, sélectionnez "Store Configuration to File", afin d'enregistrer le fichier de configuration et de pouvoir le réutiliser ultérieurement. Enfin, quittez en pressant 'Esc', et enregistrez la configuration.

Annexe : quelles options choisir

Je ne vais bien sûr pas pouvoir vous donner ici toutes les options dont vous allez avoir besoin, néanmoins celles qui sont nécessaires en général, ainsi que les options permettant de résoudre un cas particulier seront citées ci-dessous.

Afin de choisir vous-même vos options, passez les en revue l'une après l'autre dans l'ordre, en consultant si besoin l'aide disponible pour chacune d'entre elles. Si vous ne comprenez pas l'anglais, une traduction de l'aide existe en français à l'adresse http://www.linux-kheops.com/traduc/kernels/. Remplacez le fichier /usr/src/linux/Documentation/Configure.help par le fichier traduit.

Aller plus loin : si vous désirez comprendre un peu mieux "comment ça marche", lisez les documents présents dans le répertoire /usr/src/linux/Documentation. Ils sont souvent très intéressants.

Options "générales"

Résumé :

Il faut répondre Y à la question du support des modules, ainsi qu'à celle du chargement automatique des modules par le kernel (kerneld Y), sinon vous devrez les monter en mémoire à la main !

De manière générale, il est bon de modulariser un maximum de choses, mais tout n'est pas possible (enfin... pas simplement :)
Par exemple, vous ne devriez pas mettre en module ce qui vous permet de monter votre partition racine. Si celle-ci se situe sur un disque IDE, ne mettez pas le support IDE en module, de même si elle se situe sur un disque SCSI, ne mettez pas le support SCSI en module. Si votre partition racine est montée par le réseau et NFS (cas des stations diskless par exemple), ne mettez pas le support de la carte réseau et le support NFS en modules.
En effet, les modules sont chargés après le noyau, et si les modules IDE sont sur un disque IDE, il faut d'abord les charger avant de pouvoir accéder au disque, mais pour les charger, il faut avoir accès au disque et donc les avoir chargés avant... vous voyez le cercle vicieux ?
En fait, il est possible de contourner ce problème, mais ce document s'adresse aux débutants...

Tout le reste peut être compilé en modules, c'est à dire carte son, carte réseau (sauf si votre racine est déportée sur un serveur NFS comme dit précédemment), le port parallèle, le support ppp (pour internet par modem), le CD-ROM, etc.
Si vous avez du matériel PnP et que vous voulez utiliser le support PnP de Linux, passez tous les drivers pour ces cartes en modules aussi et configurez votre PNP (voir la [../hardware/pnp.php3 rubrique Plug'n Play] afin de configurer ensuite les modules dans /etc/conf.modules).

Voici ci-dessous les options classiques à utiliser pour une configuration classique. Si rien n'est dit ici à propos d'une option, regardez l'aide ou conservez la valeur par défaut ; vous pouvez aussi répondre 'N' à tous les périphériques que vous ne possédez pas, comme par exemple, IDE/ATAPI TAPE, etc.

Code maturity level options

Prompt for development and/or incomplete code/drivers : Y Ca n'engage à rien :)

Processor type and features

définissez ici votre type de processeur, la quantité de mémoire vive maxi que vous voulez gérer Math emulation N
Si vous avez un processeur x86
MTRR Y
une chtite optimisation
Symmetric multi-processing support N
c'est l'option pour les multi processeurs !

Loadable module support

Enable loadable module support Y
Set version information on all symbols for modules : Y
Kernel module loader Y

General setup

Networking support Y
même si vous ne faites ni réseau ni internet
PCI support Y
évidemment
Advanced Power Management BIOS support Y
si vous avez un portable ca peut être utile
Remarque (merci Fred !) : le support du BIOS APM n'est pas utile qu'au portable ! Si en plus vous cochez "Make CPU Idle when IDLE" : quand votre PC ne fait rien, il refroidit. Ca permet d'overclocker un CPU sans acheter de ventilateur plus gros ! (en fait sur les sites d'overclockeur on trouve des programmes en shareware qui font la même chose !) Ca n'a aucun impact (notable) sur le PC sinon que chaque fois qu'il ne fait rien, Linux le dit au processeur qui fait ce qu'il faut !

Sinon pour les autres options, laissez la valeur par défaut ou bien lisez l'aide jointe.

Plug and Play support

Plug and Play support Y
si vous souhaitez utilisez le PnP de Linux
Auto-probe for parallel devices M
permet de tester les perifs sur le port //

Block devices

Normal PC floppy disk support Y
Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support Y
Include IDE/ATA-2 DISK support Y
Include IDE/ATAPI CDROM support Y
à moins que vous ayez un CD non IDE

Et si vous connaissez le chipset qui est sur votre carte mère, vous pouvez choisir les options correspondantes. Dans le doute, si l'option corrige un bug, choisissez Y, sinon choisissez N.

Additional block devices

Loopback device support M
utile pour voir ce que contient une image ISO
RAM disk support (CONFIG_BLK_DEV_RAM) Y
si vous utilisez un ramdisk pour booter (N sinon)
Parallel port IDE device support M
si vous avez un CD, disque dur... sur le port //
dans ce cas, prenez tous les protocoles en module
pour être sûr que ça marche, et prenez aussi
l'autoprobe (voir plus haut)

Networking options

Les networking options peuvent être laissées telles quelles si vous ne faites rien de spécial.

SCSI support

Même si vous n'avez rien de SCSI, cette section peut vous intéresser (graveur IDE, CD, disque dur ou ZIP sur port parallèle, etc.). SCSI support (CONFIG_SCSI) Y
si partition racine sur disque SCSI
ou M
si CD SCSI ou graveur (même IDE : voir [#graveurIDE plus bas])
SCSI disk, tape, CD-ROM support Y
si vous avez ce périphérique
Enable vendor-specific extensions Y
ca peut pas faire de mal :) + indisp. graveur IDE

SCSI low level drivers

Pour les SCSI low-level drivers, choisissez seulement celui de votre carte SCSI, Y ou M selon votre partition racine, et N pour les autres. (graveur IDE : M pour n'importe lequel). Si vous avez un ZIP sur le port parallèle, choisissez (dans les SCSI low-level drivers) : IOMEGA parallel port (ppa - older drives) M
IOMEGA parallel port (imm - newer drives) M

Network device support

Si vous avez une carte réseau ou si vous utilisez un modem en ppp pour aller sur internet, soit dans la plupart des cas : Network device support (CONFIG_NETDEVICES) Y

ARCnet devices

Dummy net driver support (CONFIG_DUMMY) Y ou M
et vous pouvez raisonnablement mettre les autres options à N.

Ethernet (10 or 100Mbit)

Choisissez le driver pour votre carte réseau, Y ou M, et mettez les autres à N.

Appletalk devices

Vous pouvez tout mettre à N ici, sauf bien sûr si vous voulez faire de l'Appletalk. Mais si vous vous connectez à internet avec un modem : PPP (point-to-point) support (CONFIG_PPP) Y ou M

Token Ring, Wan interfaces, Amateur Radio support

A moins d'une configuration spécifique, vous pouvez tout mettre à N dans ces trois rubriques.

IrDA subsystem support

Configurez IrDA suivant votre utilisation, je ne connais pas :) voir http://www.cs.uit.no/~dagb/irda/.

Infrared-port device drivers

Si vous utilisez IrDA, configurez ici votre "low level driver".

ISDN subsystem

si vous avez un modem Numéris(tm) choisissez : ISDN support : M
ainsi que le driver pour votre modem à M.

Old CD-ROM drivers (not SCSI, not IDE)

si vous avez un vieux lecteur de CD-ROM, ni IDE ni SCSI, c'est à dire connecté à une carte propriétaire ou une carte son en général, vous pouvez essayer de le faire fonctionner avec ces drivers.

Character devices

Virtual terminal Y
Support for console on virtual terminal Y
Standard/generic (dumb) serial support Y
Parallel printer support M

et pour le reste, laissez la valeur par défaut et supprimez (N) les périphériques qui ne vous concernent pas.

Mice

Si vous avez une souris série, vous n'avez rien à faire.
Si vous avez une souris PS/2 : PS/2 mouse (aka "auxiliary device") support Y
Dans la majorité des cas (qui n'a pas une souris série
ou PS/2 ?) vous pouvez répondre N aux autres options.


Watchdog Cards

Vraisemblablement vous n'en avez pas : mettez tout à N, sinon vous savez certainement ce que vous faites :)

Video For Linux

Cela concerne les personnes qui ont une carte tuner TV ou radio ou une web cam supportée (voir la [../hardware/tv.php3 rubrique TV]). Si c'est votre cas, choisissez : Video For Linux M
puis mettez en module les drivers nécessaires. Par exemple, si vous possédez une carte Miro PCTV (ou compatible BT8xx), choisissez : BT848 Video For Linux M

Joystick support

Si vous en avez un ou plusieurs, choisissez : Joystick support : M puis mettez en module les drivers pour les joysticks qui vous intéressent.
Attention, les drivers pour joysticks NES, SNES, PSX, Sega, etc. (Multisystem) nécessitent que vous fabriquiez une interface spéciale pour les connecter au port parallèle... à vos fers à souder !

Ftape, the floppy tape device driver

Vous avez un lecteur de bande branché avec le lecteur de disquettes ? Cette rubrique vous concerne.

Filesystems

Les systèmes de fichiers. Choisissez ceux dont vous avez besoin : minix, ext2 (second extended), /proc, /dev/pts sont indispensables.
Plus en général : DOS FAT + VFAT, ISO 9660 (pour les CD-ROMS) et les extensions Joliet (noms longs sur les CD),
plus romfs qui peut être utile pour ceux qui utilisent initrd.

Network File Systems

Choisissez les options NFS si vous souhaitez monter des disques partagés en NFS,
choisissez les options SMB afin de monter les répertoires partagés Windows par réseau. (si vous ne voulez pas monter de répertoire partagé, mais plutôt en partager avec Samba, vous n'avez pas besoin de répondre Y ou M ici).

Partition Types

Vous pouvez sûrement répondre N partout ici, sauf si vous en avez besoin, mais si c'est le cas, vous le savez :)

Native Language Support

Linux est localisé, c'est à dire qu'il peut être utilisé dans tous les pays avec les caractères spécifiques au pays. A priori en France il suffit de choisir en module : Codepage 850 et NLS ISO 8859-1. Les autres peuvent être mis à N.

Console drivers

Vous pouvez laisser les options par défaut, sauf si vous voulez utiliser la console en mode frame buffer, avec le serveur X pour frame buffer (pratique si votre carte, récente, n'est pas encore supportée par XFree).
Dans ce cas, choisissez : Support for frame buffer devices Y
et configurez les options qui en dépendent.

Sound

Nous allons ici configurer la carte son. Si vous en avez une, choisissez : Sound card support M
Vous pouvez aussi utiliser le PC Speaker : Internal PC speaker support M
Ensuite, choisissez le "low level driver" de votre carte. Si vous le mettez en module (conseillé), ce n'est pas la peine de mettre ici les paramètres de la carte (irq, dma, etc.)

Ouf... c'est fini :-)
Après ça, vous comprenez pourquoi je n'arrête pas de vous dire de sauvegarder votre config de noyau dans un fichier !!!


Cas particuliers

Permettre le gravage sur des graveurs IDE

Les graveurs IDE sont reconnus sans problème en tant que lecteur de CD-ROM, mais pour ce qui est de s'en servir comme d'un graveur, vous allez devoir utiliser "l'émulation SCSI", comme sous Windows d'ailleurs (ASPI, ca vous dit quelquechose ?). Pour ce faire, il faut choisir les options suivantes dans le noyau : Enhanced IDE/MFM/RLL... Y
IDE/ATAPI CDROM M
SCSI hostadaptor emulation M
Loopback device M
SCSI support Y ou M
SCSI CD-ROM support Y ou M
Enable vendor-specific Y
SCSI generic support Y ou M
(choisir un driver SCSI, n'importe lequel)
ISO 9660 CDROM filesystem Y
Microsoft Joliet cdrom... M

Pour le reste de la configuration, celle-ci ne concerne pas le noyau. Allez la consulter dans la rubrique [../trucs/?aff_item=8 trucs].
Remarque : les distributions récentes ont souvent le support de l'émulation SCSI déjà inclus, il suffit alors de le configurer selon ce qui est indiqué dans la rubrique [../trucs/?aff_item=8 trucs].

Activer le support Frame buffer dans le noyau

Menu Code maturity level options
Prompt for development and/or incomplete code/drivers : Y

Menu Console drivers
Video mode selection support : Y

Support for frame buffer devices : Y

VESA VGA graphic console : Y

Pour le reste de la configuration du frame buffer, par exemple le serveur X, voir la rubrique [../xwindow/x.php3#frame_buffer correspondante].

Options spécifiques à un modem ADSL USB

Pour les utilisateurs d'un modem adsl USB, voici les options que vous devriez choisir :

- Menu [Network Device Support]
PPP (point-to-point protocol) support (CONFIG_PPP) [M]
PPP support for sync tty ports (CONFIG_PPP_SYNC_TTY) [M]


- Menu [Character devices]
[*] Non-standard serial port support
HDLC line discipline support
[*] Unix98 PTY support


- Menu [USB support]
Support for USB (CONFIG_USB) [M]
Preliminary USB device filesystem (CONFIG_USB_DEVICEFS) [Y]
UHCI (Intel PIIX4, VIA, ...) support (CONFIG_USB_UHCI) [M]
UHCI Alternate Driver (JE) support (CONFIG_USB_UHCI_ALT) [M]
OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support (CONFIG_USB_OHCI) [M]

Cette page est issue de la documentation 'pré-wiki' de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Jean-Christophe Cardot le 06/11/1999.

Copyright

Copyright © 06/11/1999, Jean-Christophe Cardot

Creative Commons License
Creative Commons Attribution iconCreative Commons Share Alike iconCreative Commons Noncommercial
Ce document est publié sous licence Creative Commons
Attribution, Partage à l'identique, Contexte non commercial 2.0 :
http://creativecommons.org/licenses/by-nc-sa/2.0/fr/