|
|
Ce document est disponible en: English Castellano ChineseGB Deutsch Francais Italiano Nederlands Turkce |
par Philip de Groot <philipg /at/ authors.linuxfocus.org> L´auteur: J'espère obtenir mon Doctorat de l'Université de Nijmegen cette année. Ma thèse porte sur ce que l'on appelle la chimiométrie. Je travaille actuellement sur l'informatique appliquée à la biologie, au Centre Médical Académique d'Amsterdam, en Hollande. Je maintiens également mon propre site pour les débutants sous Linux (en Hollandais) : c'est une des nombreuses initiatives par et pour la communauté Linux. J'aime travailler avec Linux et je rends compte fréquement de mes expériences. Traduit en Français par: Iznogood <iznogood /at/ iznogood-factory.org> Sommaire: |
Compiler votre propre noyau LinuxRésumé:
Vous allez découvrir que vous pouvez, vous aussi, obtenir, configurer, compiler et installer votre noyau personnel. |
L'article est structuré comme suit. Il indique d'abord où trouver le code source sur internet et comment l'installer, pour ensuite montrer la configuration graphique du noyau avec des copies d'écran. Une fois le noyau configuré, il doit être compilé mais même un noyau fraîchement compilé n'est pas utilisable tel quel. Le nouveau noyau doit d'abord être installé avec le gestionnaire de démarrage « lilo » et avant de l'utiliser, vous devez construire le fichier « /etc/lilo.conf ». Vous pouvez aussi copier le noyau compilé vers une partition depuis laquelle il est possible de démarrer Linux avec un programme DOS/Windows appelé « loadlin ». De plus, il existe quelques points spécifiques qui doivent être pris en compte, tels que le support PCMCIA nécessaire pour les portables. Les cartes PCMCIA, cartouches qui permettent de gérer le réseau et qui ressemblent à d'épaisses cartes de crédit, ne sont supportées par le noyau que depuis les versions 2.4.x. Les noyaux plus anciens peuvent supporter le PCMCIA grâce à une compilation et une installation séparée. SuSE a un autre problème pour le support du son par les pilotes ALSA. Ces pilotes ne font pas partie du noyau et doivent ête compilés et installés séparément car les pilotes originaux ne fonctionnent plus. Pour rendre les choses plus complexes, passer d'une série de noyau à une autre, disons du 2.2 vers le 2.4 peut provoquer d'autres problèmes avec certains utilitaires du noyau, « modutils », par exemple. Ils contiennent le code nécessaire pour charger un module de noyau : la figure 3 explique ce qu'est un module. Il arrive parfois que le nouveau noyau ne sache pas quoi faire avec l'ancien « modutils », vous devez alors compiler et installer une version de modutils plus récente. Ce type de problème est rare mais il se produit, il est donc préférable de le signaler par avance.
Mais, si vous suivez consciencieusement les procédures décrites dans cet article, il n'y a pratiquement aucune chance que les choses se passent mal. Le nouveau noyau est ajouté à « lilo » ou copié dans la partition « loadlin ». Ainsi, en cas de difficulté, vous pouvez toujours redémarrer le noyau original. Puis, en travaillant avec votre noyau original, vous pouvez résoudre les problèmes du nouveau noyau. Même si vous avez des soucis avec le « modutils » du nouveau noyau, il est encore possible de redémarrer l'ancien noyau et de résoudre l'anomalie en recompilant et en installant, par exemple, séparément : toutes les nouvelles versions de « modutils » ont une compatibilité descendante avec les anciens noyaux, de telle manière que le nouveau « modutils » fonctionne correctement avec les anciens noyaux.
Le code source pour le noyau est déjà sur votre machine dans le répertoire « /usr/src/linux/ ». Il est sage de garder ce code source en sécurité, en renommant, par exemple, le répertoire Linux de la manière suivante :
cd /usr/src mv linux linux-2.2.19 (si le code source original est pour le 2.2.19).
cd /usr/src cp ~/linux-2.4.6.tar.bz2 (en supposant que l'archive a été téléchargée) (dans votre répertoire de travail ('~') ) bzip2 -d linux-2.4.6.tar.bz2 (ceci peut prendre du temps ) tar -xvf linux-2.4.6.tar mv linux linux-2.4.6 ln -s /usr/src/linux-2.4.6 /usr/src/linux
cd /usr/src/linux make xconfig (voir Figure 1)
Figure 1 : | L'interface graphique pour définir votre noyau Linux après la commande « make xconfig ». |
C'est le menu principal utilisé pour définir le noyau. Pour ce faire, vous devez cliquer sur les différentes options. Cliquer sur « Save and Exit » sauvegarde vos choix sur le disque et une fois terminé, vous pouvez enfin compiler et installer le noyau (comme dans la Figure 40). Mais nous n'en sommes pas encore là.
Les exemples, bien sûr, ne détaillent pas tous les matériels disponibles. Ils peuvent néanmoins clarifier la manière de gérer votre propre matériel et indiquer comment regarder dans le noyau lui-même pour trouver si votre matériel est supporté.
Figure 2: | Sélection de « code maturity level options ». |
Figure 3: Support pour les modules chargeables.
(à partir d'ici, les captures d'écran peuvent être ouvertes dans une nouvelle
fenêtre pour que vous puissiez les visualiser)
Les modules sont des parties de code, i.e., les pilotes, qui sont compilés
séparément mais idéalement, au moment de la compilation du noyau.
Ce code ne fait donc pas partie du noyau mais il peut être chargé et
devenir disponible lorsque vous en avez besoin. En général, la
recommandation est de compiler le code du noyau comme module lorsque cela
est possible car cela permet d'obtenir un noyau plus petit et plus stable.
Un avertissement : ne compilez jamais le système de fichiers comme un
module, voyez la figure 32. Si vous faites cette erreur et que le système
de fichiers est un module, le noyau ne pourra pas lire son propre système
de fichiers. Il ne pourra alors même pas charger ses propres fichiers de
configuration, qui forment le prérequis pour démarrer correctement Linux.
Vous verrez que j'utilise très rarement les modules : j'aime que mon noyau
puisse dialoguer directement avec tout le matériel sans avoir à charger de
modules mais cela ne représente que mon opinion.
Figure 4: Sélectionner le type de processeur et ses fonctionnalités.
Vous choisissez le type de processeur que vous possédez et vous indiquez
les diverses options à appliquer. En général, les options « /dev/cpu » sont
assez spécialisées et ne devraient pas être sélectionnées par la plupart des
utilisateurs. Le « High Memory Support » ne devient nécessaire que si votre
ordinateur possède plus d'un gigaoctet de RAM (il ne s'agit pas de l'espace
disque). Le plupart des ordinateurs embarquent de 64 à 512 méga-octets de
RAM (et de 8 à 60 Go sur le disque dur), « High Memory Support » est donc
désélectionné. Vous devez activer l'option « Math Emulation » si vous
utilisez Linux sur des systèmes 386 ou 486SX. Ces vieux systèmes ne
possèdent pas le coprocesseur mathématique nécessaire à Linux, c'est
la raison pour laquelle il faut sélectionner « Math Emulation ». Normalement
tous les nouveaux processeurs embarquent le coprocesseur et vous pouvez
donc oublier cette option. L'option « MTRR » permet des communications plus rapides
entre un bus PCI ou AGP. Comme tous les systèmes modernes possèdent leur
carte vidéo sur un bus PCI ou AGP, vous choisirez normalement « MTRR » :
dans tous les cas, il est toujours plus sûr d'activer cette option même
si votre système n'utilise pas le bus PCI ou AGP pour les cartes vidéo.
Le support pour le multi-traitement symétrique (SMP) s'applique seulement
pour les cartes mères qui possèdent plus d'un processeur, i.e., les cartes
mères avec deux Pentium II.
SMP s'assure que le noyau optimise le chargement des deux processeurs.
La dernière option (APIC) s'applique aussi habituellement aux systèmes
multi-processeurs et elle est donc désactivée.
Figure 5:
Options Générales du Noyau .
Vous spécifiez ici certaines options générales du noyau. Tout le monde
sélectionne « Networking support » car vous en avez besoin, par exemple,
pour Internet. Linux est particulièrement orienté Internet et ne peut pas
fonctionner correctement sans réseau. De plus, le support réseau est
aussi nécessaire pour tous les autres types d'actions qui ne semblent pourtant
pas avoir grand chose à faire avec le réseau. Il est même possible que le noyau ne
se compile pas sans le support réseau. Pour résumer : il faut inclure le
support réseau. Tous les systèmes modernes utilisent les bus PCI, vous
devez donc aussi sélectionner ces options. Le texte en grisé
« PCMCIA/CardBus support » indique que cette option n'est pas disponible
car vous avez indiqué plus haut que vous ne vouliez pas utiliser de code
expérimental (voir Figure 2.). Si vous utilisez un portable, vous avez
besoin du support PCMCIA/CardBus dans le noyau pour permettre l'utilisation
d'un réseau ou d'un modem (voir aussi l'en-tête « pcmcia support (laptops) »
plus loin). « System V IPC » permet aux programmes de communiquer et de se
synchroniser, « BSD process accounting » garde, par exemple, le code
d'erreur lorsque le processus s'arrête et « Sysctl support » permet à des
programmes de modifier certaines options du noyau sans recompiler ou
redémarrer le système. Ces options sont habituellement activées. Les
distributions modernes de Linux ont leur « kernel core (/proc/kcore/)
format » sélectionné comme « ELF » : c'est le format standard de diverses
bibliothèques système, i.e., les morceaux de code qui sont disponibles sur le
système et utilisés par les programmes. « ELF » est le successeur du
format obsolète « a.out » et similaire aux fichiers .dll windows. Tous
les programmes modernes de Linux utilisent les bibliothèques ELF mais,
malheureusement, quelques anciens programmes ont besoin du support du
format « a.out ». Un exemple est « Word Perfect 8 pour X Window System» : c'est
une application native X Window System/Linux qui n'est seulement disponible qu'au
format « a.out », de même que « xwp » ne fonctionne tout simplement pas
sans le support du format « a.out ». Incluez « a.out » comme module si
vous voulez utiliser « xwp ». J'utilise aussi « MISC » comme module.
En principe, je ne l'utilise pas mais il est très utile d'avoir le code à
portée de main si vous faites partie des utilisateurs fréquents de java,
python ou de l'émulateur DOS, DOSEMU. J'ai sélectionné « Power Management
support » et « Advanced Power Management BIOS support » (ils n'apparaissent
pas dans la Figure 5). Ces deux options représentent le minimum
nécessaire avec les cartes mère ATX modernes pour permettre au noyau
d'éteindre l'ordinateur automatiquement lors de la fermeture de la session
Linux. Les autres fonctions de gestion de l'alimentation sont désactivées
car, normalement, elles ne fonctionnent pas sous X Window System(qui est le
standard lors de l'utilisation de Linux). KDE et Gnome possèdent leur
propre standard de gestion de l'énergie dans lequel vous pouvez faire des
choix.
Figure 6: Configurer la Technologie des Composants de Mémoire.
Vous avez besoin de cette option pour que Linux puisse, par exemple, lire
les cartes flash. Celles-ci sont fréquemment utilisées dans les appareils
photo numériques. Avec cette option, Linux peut lire les cartes flash (à partir
du matériel adéquat) et copier les photographies comme des fichiers .jpg
vers le disque dur. À moins qu'elle vous soit nécessaire, je
désactiverais cette option : si vous pensez en avoir besoin
vous pourrez toujours l'ajouter ultérieurement.
Figure
7: Configurer le Port Parallèle.
Avant l'apparition de la technologie USB, le port parallèle était fréquemment
utilisé pour connecter l'ordinateur aux imprimantes et aux scanners. Mon
imprimante utilise le port parallèle, je souhaite donc que ce port reste
disponible sous Linux. Notez que configurer le port parallèle est différent
de configurer l'imprimante : cela se fera plus tard dans la Figure 28.
Figure 8: Configurer le Plug & Play.
Pratiquement tout le monde possède le système « Plug & Play » et veut
donc que cette option soit supportée. L'activer permet au noyau de
configurer les périphériques « Plug & Play » et de les rendre disponibles
pour le système. Il est quelquefois nécessaire d'activer l'option
« Plug & Play OS » dans le BIOS sinon Linux (mais aussi Windows) ne
peut pas configurer les périphériques « Plug & Play ». L'option
« ISA Plug & Play support » concerne les cartes ISA qui sont
« Plug & Play » tout en utilisant le bus ISA. Un des exemples est la
AWE64 sound blaster. Le bus ISA n'a jamais eu de standard « Plug & Play »
ce qui rend difficile la configuration de ces cartes. Il y a quelques temps,
avant les noyaux 2.4.x, les utilisateurs Linux devaient appeler le programme « isapnp »
(le paquetage isapnptools, rpm -qil isapnptools pour voir tous les fichiers) pendant
le processus de démarrage.
« isapnp » lit le fichier « /etc/isapnp.conf ». Ce fichier contient tous
les ports, adresses et interruptions utilisés par les diverses cartes. Si
les informations dans « /etc/isapnp.conf » n'étaient pas correctes ou si
« isapnp » n'était pas appelé, la carte n'était pas accessible à Linux
et le modem, les cartes réseau et son ne fontionnaient pas.
Sélectionner l'option « ISA Plug & Play support » remplace l'ancienne
procédure : le fichier « /etc/isapnp.conf » n'est plus utilisé. En
échange, les configurations sont détectées automatiquement. Sous
SuSE 7.1, j'ai renommé le fichier « /etc/isapnp.conf » en i.e.,
« /etc/isapnp.conf.old » après la compilation du 2.4.x car le noyau et
« isapnp » réclamaient les mêmes ressources avec des conséquences désastreuses.
Le problème est que SuSE 7.1 (et les versions antérieures) activent
automatiquement « isapnp » au démarrage même si le noyau contient
déjà le support nécessaire. Ce n'est néanmoins valable que pour les anciens
systèmes Linux, les nouveaux n'utilisant pas isapnp par défaut.
Figure 9:
Configurer les Périphériques Blocks.
Tout le monde, virtuellement, veut utiliser une disquette, donc l'option
principale est activée (ou, dans mon cas, sélectionnée comme module).
Lors d'une requête pour l'accès à la disquette, le noyau charge
automatiquement le module nécessaire, pourvu que le fichier
« /etc/modules.conf » ou « /etc/conf.modules » soit correctement configuré
dans votre distribution comme cela est normalement le cas. En tant
qu'utilisateur, vous ne devriez pas avoir de problèmes si vous
avez sélectionné les bonnes options dans la Figure 3. Pour accéder à la
disquette, le noyau doit bien sûr être capable de lire de système de
fichiers de la diquette. Vous devez donc copier la Figure 32 correctement.
Les autres options peuvent être importantes si vous utilisez un support de
stockage IDE par le port parallèle mais elles sont normalement désactivées.
Une des exceptions possible est le « loopback device support ». Avant de
graver des CD sous Linux, vous faites d'abord une image du CD et le
« loopback device » est alors nécessaire pour visualiser le contenu
de l'image. J'ai sélectionné cette option (5ième ligne à partir du bas)
comme module (cela n'apparaît pas dans la Figure 9).
Figure
10: Configurer des périphériques multiples.
Les petits utilisateurs de Linux n'ont pas besoin normalement du support raid ou
LVM .
« Raid » implique que le système utilise deux disques durs ou plus pour
stocker les informations en parallèle. Si un des disques tombe en panne,
le second continue à fonctionner et le système continue de fournir le
service. LVM rend possible l'ajout d'un disque dur de telle manière qu'une
partition existante semble plus grande. En pratique, cela signifie que vous
n'avez pas à repartitionner ou à copier une petite partition vers une plus
grande. Les noms de chemins restent aussi les mêmes. Cette possibilité est
vraiment très utile mais n'est habituellmeent pas nécessaire pour les
petits utilisateurs.
Figure
11: Configurer les options de réseau.
Vous avez besoin de l'option « Packet Socket » pour communiquer avec les
éléments du réseau sans implémenter de protocole réseau dans le noyau.
Je peux, ici, être très bref : vous devez toujours la sélectionner. La
plupart des autres options sont désactivées à moins que vous n'ayaez besoin
de leur support spécifique. Par exemple, j'ai sélectionné « Network packet
filtering (replaces ipchains) » car j'utilise le pare-feu standard de SuSE.
Un pare-feu protège votre ordinateur contre les attaques externes,
i.e. depuis internet, au moins lorsque vous avez correctement configuré le
pare-feu. La protection par pare-feu au niveau du noyau est évidement très
avantageuse. Les choix suivants dans la configuration du « network packet
filtering » sont expliqués dans la Figure 12. Vous avez besoin du
« Unix domain sockets » pour établir des connexions réseau mais aussi ailleurs :
X Window System utilise automatiquement les sockets Unix, de telle manière que vous
ne pouvez pas utiliser X Window System sans cette option. Vous devez toujours
l'activer. « TCP/IP networking » contient les protocoles nécessaires pour
internet et aussi pour les réseaux internes. Normalement, vous activerez le
support TCP/IP. En cas de doute sur la sélection d'une option particulière,
essayez les textes d'aide. Si vous hésitez encore, il est toujours
possible d'inclure le support et de le retirer ensuite pendant la phase
de test. Compiler certaines options comme modules peut aussi être une
alternative intéressante.
Figure 12: Configurer le IP netfilter (pare-feu).
Pour un fonctionnement correct de son pare-feu, SuSE Linux réclame le support
d'ipchains. J'ai donc sélectionné cette option pour SuSE. Si vous
utilisez un pare-feu dans d'autres distributions ou installations, consultez
leur manuel.
Figure
13: Configurer le support téléphonique.
Cela n'est nécessaire que si vous avez une carte téléphone dans votre
ordinateur, i.e., pour faire des appels téléphoniques par Internet.
La plupart des petits utilisateurs n'ont pas cette carte et n'ont pas besoin
de cette option.
Figure 14: Configurer les supports ATA, IDE, MFM et RLL
(protocoles de communication pour les disques durs).
Quasiment tout le monde a besoin de ces protocoles, avec pour seule
exception ceux dont les systèmes n'ont que des disques SCSI et rien
d'autre. C'est la raison pour laquelle la plupart des utilisateurs
sélectionnent cette option. Cliquer sur la ligne juste en dessous affiche
un sous-menu avec un autre jeu d'options. Elles sont détaillées ci-dessous.
À cause de leur importance, il n'y a pas une mais trois captures d'écran.
Remplissez-les avec précaution : elles sont extrêmement importantes.
Figure 15: Configuring le support ATA, IDE, MFM et RLL : capture d'écran 1.
L'option du haut est nécessaire à tous ceux qui communiquent
avec le matériel par l'interface IDE/ATAPI. Ceci inclut les disques durs
mais aussi les lecteurs de bandes et les disques ZIP, les lecteurs et les
graveurs de CD. Tous les ordinateurs modernes utilisent l'interface
IDE/ATAPI, cette option est donc activée. L'option « include IDE/ATA-2 DISK
support » est nécessaire pour supporter les disques dur du système. Cette
option doit donc aussi être activée, sauf si vous n'avez que du SCSI.
Figure 16: Configurer le support ATA, IDE, MFM et RLL :
capture d'écran 2.
L'option « include IDE/ATAPI CDROM support » est habituellement sélectionnée
si vous avez un lecteur de CDROM ATAPI. Néanmoins, les graveurs de CD ATAPI
doivent être gérés par une émulation SCSI. L'émulation SCSI peut être
utilisée pour accéder à la fois au lecteur de CD et au graveur. Vous pouvez
néanmoins rencontrer des problèmes si vous montez vos CD via votre émulation
SCSI, tels que des messages d'erreur lors du montage de CD ou lors de
l'utilisation du lecteur pour écouter des CD audio. La meilleure solution
consiste à sélectionner « include IDE/ATAPI CDROM support » et « SCSI emulation
support » comme indiqué dans la Figure 16. Le périphérique qui a besoin
de l'émulation SCSI, habituellement le graveur de CD, peut être défini
dans « /etc/lilo.conf » en ajoutant la ligne « append="hdd=ide-scsi": » ;
ce qui est développé plus loin sous le titre « Configuration de Lilo. ».
Comme je possède un pilote de ZIP interne qui communique avec la carte mère
par l'interface ATAPI, j'ai sélectionné l'option « include IDE/ATAPI FLOPPY
support. ». Vous avez besoin de la même option pour accéder aux autres
périphériques à disquettes, tels que le LS120. La plupart des cartes mères
utilisent « PCI IDE » pour accéder aux disques durs, CDROM et disquettes,
cette option est donc généralement activée. De même pour les deux manières
d'activer le DMA. DMA donne à votre matériel un accès direct à la mémoire
interne de votre ordinateur, sans l'intervention de votre processeur. Le
résultat est un accès plus rapide aux disques IDE. C'est ce que nous
voulons. L'option « sharing PCI IDE interrupts support » est désactivée
car vous n'en avez généralement pas besoin. Quelques contrôleurs peuvent
vraiment partager les interruptions avec d'autres périphériques,
par exemple une carte réseau exotique. Malheureusement, partager les
interuptions IDE diminue la performance des disques partagés, vous ne
partagerez donc les interruptions que lorsque ce sera la seule manière
de résoudre certains problèmes matériel sérieux.
Figure 17: Configurer le support ATA, IDE, MFM et RLL : capture d'écran 3.
Ma carte mère possède un Pentium II et un chipset Intel, j'ai donc bien sûr
voulu utiliser le support spécifique de ce chipset particulier. Lorsque
vous remplissez vos propres options noyau, vous allez voir d'autres
chipsets qui n'apparaissent pas dans la Figure 17.
Figure 18:
Configurer le support SCSI.
Si vous avez une carte SCSI, vous devez bien sûr sélectionner l'option dont
vous avez besoin. La capture d'écran ne montre que les options nécessaires
pour votre graveur CD ATAPI si vous avez sélectionné « SCSI emulation
support » (Figure 16).
Figure
19: Configurer le support de périphérique I2O.
Vous devez sélectionner cette option si vous avez une interface I2O dans
votre ordianteur. La plupart des personnes ne l'ont pas et dans ce cas,
vous la désactivez.
Figure
20: Configurer le support de périphérique réseau.
Je n'ai jamais réussi à compiler un noyau sans le support de périphérique réseau. Vous
devez donc toujours sélectionner cette option. Vous devriez aussi
sélectionner le pilote factice, soit dans la noyau, soit comme module.
Linux réclame un tel pilote même lorsque le réseau physique réel est
absent, comme c'est le cas pour la plupart des utilisateurs. Même lorsqu'il
y a un réseau, Linux utilise le pilote factice fréquemment. Dans ce menu,
vous pouvez sélectionner votre type de réseau ainsi que la carte, comme
montré dans l'exemple de la Figure 21. Notez qu'il reste du travail
si vous voulez accéder à Internet par un modem : vous devez
activer le support ppp en choisissant soit « PPP support for async serial
ports » (pour les ports COM) ou « PPP support for sync tty ports » (pour
les connexions rapides avec un adapteur i.e., un SyncLink). Si vous oubliez
de le faire, le noyau vous indiquera que le module ppp n'existe pas, même
si vous l'avez sélectionné, un message d'erreur qui n'aide pas à trouver le
problème réel. Vous pouvez aussi choisir les méthodes de compression sans
problèmes : si le noyau en a besoin, il les utilise, sinon il les ignore.
Figure 21: Configurer le périphérique ethernet.
Ma carte ethernet est une 3COM /100 MBit qui utilise le chipset 3c509/3c529.
Comme je n'ai pas de connexion physique à un réseau (j'ai une carte réseau
mais je suis connecté au réseau par le modem), j'ai compilé ce pilote comme
un module, juste dans le cas où j'aurais besoin de la carte dans le futur.
Vous sélectionnez bien évidemment le type de réseau et la carte réseau de
votre machine. De plus, vous devez configurer le réseau avec un programme
de configuration Linux, comme « yast2 » sous SuSE.
Figure
22: Configurer le support radio amateur.
Vous sélectionnez cette option si vous voulez utiliser le support radio
amateur et vous activez le pilote indispensable. La plupart des personnes
n'utilisent pas cette option.
Figure
23: Configurer le support pour la communication infrarouge (sans fil).
Vous validez l'option de communication infrarouge si vous avez un
périphérique sans fil, i.e., une souris ou un clavier sans fil.
La plupart des systèmes de bureaux ne l'ont pas et n'ont pas besoin de
cette option.
Figure
24: Configurer le support ISDN.
Vous sélectionnez le support pour une carte ISDN si vous en possédez une dans
votre système. Il est important de savoir quelle carte vous avez,
chipset inclus : vous avez besoin de cette information pour choisir le bon
pilote.
Figure
25: Configurer les anciens pilotes de CDROM.
Dans les anciens systèmes 486 et même 386, le CDROM n'est pas connecté via
le contrôleur de disque dur IDE (ATAPI) mais par une carte son ou une carte
spéciale. Utiliser ces anciens CD réclame une sélection du pilote
correspondant. Cette option est dépassée dans les systèmes modernes et elle est
donc superflue.
Figure
26: Configurer le support du coeur d'entrée.
Ceci fait référence à une des additions les plus importantes des noyaux
2.4.x : le support USB. Le support du coeur d'entrée est une couche entre
le noyau et les périphériques USB. La Figure 38 montre les divers
périphériques USB que vous pouvez sélectionner et le texte d'aide indique
ceux qui ont besoin du « input core support » : voir la Figure 38.
Vous devez activer ici le « input core support » si un des périphériques
USB en a besoin. Toutes les cartes mères modernes ont une connexion USB,
vous devez avoir pour règle de l'activer. Mais, pour être honnête, je sais
que je n'aurais pas besoin du support USB dans mon système et je ne l'ai
pas activé.
Figure
27: Configurer les périphériques caractères : capture d'écran 1.
L'option (« virtual terminal ») permet d'ouvrir un xterm
(en utilisant X Window System) ou d'utiliser le mode texte pour l'ouverture
de session. Normalement, cette option est toujours activée. La seconde
option (« support for console on virtual terminal ») indique au noyau où
il doit envoyer les messages, tels que les avertissements sur l'absence
de module ou si ceux-ci ne fonctionnent pas correctement, les problèmes
avec le noyau lui-même et les messages de démarrage. Sous X Window System, vous
avez souvent une fenêtre dédiée pour les messages du noyau mais
en mode texte, ils vont généralement dans le premier terminal virtuel
(« CTRL+ALT+F1 »). Laissez cette option activée. Vous pouvez aussi choisir
d'envoyer ces messages vers le port série, i.e., une imprimante ou un
autre terminal (la quatrième option). Pour envoyer des messages à
l'imprimante, vous devez aussi activer le port avec la troisième option.
De même, vous devez activer ce port si vous voulez l'utiliser pour une
« souris série ». Encore une fois, habituellement, la troisième option
(« standard/generic (8250/16550 and compatible UARTs) serial support »)
est activée. Sur mon système, j'ai choisi de le compiler comme module.
La raison est que pendant le démarrage, SuSE se plaint de l'absence du
module « serial support » et inclure le support comme module est une
manière élégante d'éviter les messages en s'assurant que le module existe.
Configurer « character devices » est très important. Si vous ne le faites
pas correctement, vous pouvez vous retrouver avec un système inopérant.
D'où les Figures 28 à 30 pour détailler quelques options supplémentaires.
Figure
28: Configurer « character devices » : capture d'écran 2.
Si vous voulez utiliser un xterm sur votre propre machine depuis un site
déporté, par « telnet » ou « ssh », par exemple, vous devez activer
l'option « unix98 PTY support ». Il semblerait qu'une station seule n'a pas
besoin de cette option mais certains processus d'arrière-plan utilisent
aussi cette option. C'est donc une bonne idée d'activer cette option dans
tous les cas, ne serait-ce que pour éviter les messages d'erreur
(au moins pour SuSE) pendant le démarrage. Quiconque connecte une imprimante
à un port parallèle nécessite bien sûr « Parallel printer support ».
Cela dit, tout le monde n'a pas besoin d'un port parallèle : c'est le cas des
imprimantes USB modernes. Les messages du noyau peuvent aller vers
l'imprimante en activant « Support for console on line printer » :
habituellement, vous ne le choisissez pas. Vous devez sélectionner l'option
« support for user-space parallel port device drivers » si vous avez
certains éléments d'équipement qui utilisent le port parallèle mais
ce n'est habituellement pas le cas. De même, habituellement, vous n'avez
pas besoin de « I2C support » : il est nécessaire pour certaines cartes qui
gèrent la vidéo mais si vous en avez besoin, il peut toujours être ajouté
plus tard, une fois que le noyau fonctionne bien. Vous sélectionnez le
support pour la souris et le joystick lorsque vous les utilisez mais toutes
les souris n'utilisent pas ce pilote (voir ci-dessous, sur la Figure 29).
Les graveurs de CD actuels ont rendu obsolètes les pilotes de périphériques qui
nécessitent le « QIC-02 Tape support », cette option est donc
habituellement désactivée.
Figure
29: Configurer « character devices » : Souris.
Vous n'avez besoin de rien de cette option si vous avez une souris série
mais pour les autres types de souris, vous devez configurer ici certains
paramètres. Si vous utilisez un bus de souris ORIGINAL, vous devez
sélectionner l'option du haut, avec au-dessous le type ou la marque
du bus souris. De nombreux ordinateurs, de nos jours, possèdent d'autres types de
souris, habituellement (et par erreur) appelé « busmouse » ou « PS/2 mouse ».
Ces souris sont souvent connectées à « /dev/aux » et branchées par un petit
connecteur comme ceux utilisés pour les claviers. Ce type de souris utilise
souvent le clavier pour se connecter à l'ordinateur. Pour faire fonctionner
correctement ces souris, vous devez sélectionner les options montrées sur
la Figure 29, « mouse support (not serial and bus mice)» et « PS/2 mouse
(aka "auxiliary device" support) ».
Figure
30: Configurer « character devices » : capture d"écran
3.
Les options pour configurer le noyau entre celles de la Figure 28 et de la
Figure 30, ne sont pas détaillées ici. Elles sont normalement désactivées.
L'option « Ftape, the floppy tape device driver » fait référence au support
pour les pilotes de bandes
connectés sur le contrôleur de disquette. Même si vous avez un tel pilote,
il n'est pas essentiel de compiler le support, au moins pour la première
approche. Les autres options se rapportent aux cartes vidéo 3D modernes.
Si vous avez une carte vidéo qui est connectée sur un bus AGP, vous pouvez
activer le support AGP et aussi le pilote spécifique pour votre carte
vidéo (sous « /dev/agpgart (AGP support) »). Notez qu'il est possible
d'avoir un noyau fonctionnant correctement sans ces options mais pas
nécessairement ! Les gens qui possèdent une carte vidéo intégrée sur le carte
mère, tel que le chipset intel i815, DOIVENT utiliser le pilote du noyau !
Si ce n'est pas le cas, XFree 4.0 ou mieux (utilisé avec les distributions
les plus récentes) ne fonctionne pas. Mon système possède une carte
AGP, une NVidia TNT2 mais cette carte n'est pas supportée par un module de
noyau spécifique (NVidia refuse de partager les spécifications matérielles,
nécessaires au développement de ces pilotes).
Malheureusement, dans mon cas, il est inutile d'activer le support AGP.
Malgré ce problème particulier, je peux utiliser XFree 4.0 sans le
pilote du noyau. « Direct rendering support » est une option permettant
d'accélérer les performances graphiques par le biais du noyau, disponible à
partir de la version 4.0 de XFree.
Pour utiliser cette option,
votre carte vidéo spécifique doit être suppportée et vous devez utiliser
XFree86 4.0 ou mieux. De plus, vous devez aussi activer le « AGP support ».
Vous pouvez malgré tout désactiver ces options en toute sécurité et obtenir
un noyau Linux fonctionnant parfaitement.
Figure
31: Configurer « multimedia devices ».
Cette option est activée si vous avez une carte qui gère la vidéo ou la
radio. Comme précédemment, cette option n'est pas essentielle au
fonctionnement correct du noyau.
Figure
32: Configurer « file systems » : capture d'écran 1.
Vous spécifiez ici les systèmes de fichiers pouvant être lus par le noyau
Linux. Vous pouvez vouloir un noyau capable de lire des
partitions ou des disquettes Windows mais vous devez vous assurer que le
noyau puisse lire au moins le système de fichier ext2 propre à Linux ou bien
le nouveau système de fichiers ReiserFS. Linux ne peut même pas démarrer si
vous l'oubliez car le noyau ne peut même plus lire son propre disque de
démarrage (comme
cela a été détaillé dans la Figure 3). Pour lire des disquettes et des
disques DOS/Windows, vous devez activer l'option
« DOS FAT support » : néanmoins, pour lire les disques Windows NT/Windows 2000,
il vous faut un pilote à lecture seule qui peut être sélectionné
plus tard dans ce menu. Pour lire et aussi écrire sur les disques et les
disquettes DOS/Windows, vous avez besoin de l'option « MSDOS fs support ».
Virtuellement tout le monde veut cela et donc la plupart des gens activent
ces options.
« VFAT » fait référence au support de l'utilisation des noms de fichiers longs sous
Windows 95 et 98. Mon système est un de ceux que l'on appelle à double démarrage
avec lequel je peux démarrer Windows 98 ou linux (en utilisant le gestionnaire
de démarrage de Linux lilo, voir « Configuring lilo »).
J'ai donc activé « VFAT ». Vous devez inclure le support ISO 9660 pour lire les
CD dans le format standard. En dessous, vous avez l'option « Joliet extensions »
qui autorise des noms de fichiers plus longs que ceux de MS-DOS 8.3 qui est la
limite du standard ISO 9660. Pratiquement tout le monde veut lire les CD
actuels et c'est pourquoi ces options sont toujours activées. La Figure 33
clarifie certaines options additionnelles, parmi lesquelles se trouve
le système ext2.
Figure
33: Configurer les systèmes de fichiers : capture d'écran 2.
Les fichiers dans le répertoire « /proc » contiennent des informations sur
le statut du système, i.e., quelles sont les interruptions utilisées.
Vous devez normalement activer cette option. « Second extended
fs support » se réfère au système de fichier (encore) standard de Linux.
Vous DEVEZ absolument le compiler en interne (PAS comme un module) ! Les
Figures 32 et 33 ne montrent pas l'option « ReiserFS » qui peut être
sélectionnée ici aussi : successeur désigné de ext2, ReiserFS est plus apte
à traiter les dommages causés à un système de fichiers par des coupures
d'alimentation et autres problèmes similaires. Pour l'instant, ReiserFS est encore
en développement et par conséquent considéré comme code expérimental. Mais même
dans ce cas, les distributions les plus récentes proposent déjà le support
de ReiserFS, mais même si ReiserFS est supposé remplacer « ext2 »' dans le
futur, je ne vous le recommande pas comme système de fichiers pour
toutes les partitions. Vous avez besoin de « UDF file system
support » si vous utilisez (sous Windows) le programme « packetCD », qui
vous permet de copier des fichiers de CD à la volée comme depuis un disque
dur lent. Il est très pratique d'échanger des données avec d'autres PC.
Lire ces CD peut aussi se faire sous Linux, en les montant avec le système
de fichiers « udf », i.e., par une commande comme
« mount -t udf /dev/scd0 /cdrom ». Cette partie contient aussi des
utilitaires comme « Network file systems », « partition types » et
« Native language support ». Vous n'avez pas besoin de
« Network File Systems » à moins que votre ordinateur fasse partie
d'un grand réseau, auquel cas, vous avez besoin d'activer
« NFS File System Support » et peut être aussi « SMB file support »
mais pour un ordinateur isolé, vous n'avez pas besoin de ces options.
L'option « Partition Types » est assez complexe mais pas nécessaire
pour l'utilisation effective du noyau Linux. Il est préférable de la
désactiver. Les Figures 34 et 35 détaillent plus avant le
« Native Language Support ».
Figure 34: Configurer « native language support » : capture d'écran 1.
Dans ce menu, vous choisissez la table de code qui pourra être utilisée par
Linux pour gérer les noms de fichiers sous DOS et Windows. Les tables des
codes de la Figure 34 sont pour les noms de fichiers DOS courants. Les
tables NLS de la Figure 35 sont nécessaires pour utiliser des noms de
fichiers longs. L'option en haut de la Figure 34, « Default NLS option »
détermine les symboles qui seront en standard sous Linux. La Figure 35 décrit
et explique l'option « iso8859-15 ».
Figure 35: Configurer « native language support » : capture d'écran
2.
Vous avez besoin de l'option « NLS ISO 8859-15 » pour reproduire correctement
la FAT de Windows et les extensions Joliet du système de fichiers des CD
c'est donc une bonne idée de l'activer. La sélection de « NLS ISO 8859-15 »
est appropriée pour les langues Occidentales et elle inclut le symbole Euro.
C'est la raison pour laquelle cette table est presque toujours compilée en
interne. « NLS ISO 8859-1 » est l'ancienne table pour les langues
Occidentales mais sans le symbole Euro.
Figure
36: Configurer les pilotes de console.
La « VGA text console » autorise le mode texte avec une résolution VGA.
Presque tout le monde en a besoin, cette option est donc presque toujours
activée. Seuls quelques vieux ordinateurs 386 n'ont pas de carte
compatible VGA alors que les ordinateurs modernes n'ont pas le plus petit
problème avec ce choix. La seconde option, « video mode selection support »,
rend possible la sélection de la résolution en mode texte lors du processus de démarrage.
Cela peut être quelquefois très utile si vous voulez avoir plus de lettres
dans une ligne mais cette option n'est généralement pas activée. Les deux
dernières options sont expérimentales et je vous conseille de les désactiver.
Figure
37 : Configuration du son.
Dans cette section, vous configurez le son. Si votre distribution utilise
les pilotes de son ALSA (comme SuSE 6.3 et au-dessus), il suffit de sélectionner
« sound card support » comme MODULE. Les pilotes ALSA sont compilés et liés
plus tard (voir plus loin sous l'en-tête « SuSE and the ALSA sound drivers »).
Si votre distribution utilise les pilotes de son standard du noyau, vous devez
alors sélectionner celui correspondant à votre carte son. Virtuellement
toutes les marques de cartes
sont présentes ici, la sélection du bon pilote ne doit donc pas être
un problème. Si votre carte son fonctionne bien avec le noyau standard
de votre distribution, vous pouvez aussi utiliser les programmes de
configuration (comme le « yast2 de SuSE) pour trouver les pilotes requis par
votre carte son. Il est rassurant de savoir que le son n'est pas critique : il
vous manquera le son si quelque chose se passe mal mais le noyau lui-même
fonctionnera correctement.
Figure 38:
Configurer « USB support ».
Ma carte mère utilise un port USB mais je ne l'utilise pas. Néanmoins,
si je devais désactiver tous les supports USB, SuSE m'afficherait un message
d'erreur pendant le démarrage. SuSE, bien sûr, supporte l'USB et tente donc
de charger les modules nécessaires, d'où ma sélection du « Support for USB »
comme module. Même si ce message d'erreur ne m'importe pas, je l'ai résolu
d'une manière élégante en compilant le pilote nécessaire aux ports USB
sur ma carte mère. Pour ce faire, le minimum est de mettre « Preliminary
USB device filesystem » à « y » et de charger un pilote USB spécifique.
Comme ma carte mère Pentium II est asssez ancienne, j'ai pris le pilote
« UHCI (Intel PIIX4, VIA, ...) » comme module. Mais vous devez
sélectionner le module « UHCI Alternate Driver (JE) support » si vous avez
une carte mère récente avec le chipset Intel, alors que pour les Compaq,
par exemple, vous devriez choisir « OHCI support » comme module. En
principe, vous avez seulement besoin de l'un des trois modules mais en cas
de doute, vous pouvez choisir les trois. Votre distribution Linux a déjà
trouvé celui qui est nécessaire et charge automatiquement le bon.
Simplement valider les ports USB de votre carte mère n'est pas suffisant, vous devez aussi spécifier les pilotes (modules) de l'équipement USB qui est connecté à votre ordinateur. La liste qui figure sous « USB Device Class drivers » possède de nombreux choix. Tout ceci est assez simple et peu de choses peuvent aller mal : une fois encore, dans le doute, lisez les textes d'aide.
Figure
39: Configurer « kernel hacking ».
Celui-ci est facile : NE le sélectionnez PAS ! C'est une option utile pour
les programmeurs qui veulent trouver la raison d'un arrêt du noyau ou pour
lire le cache du disque dur : l'option est totalement inutile pour les
utilisateurs normaux.
Figure 40: | Sauvegarder et Sortir. |
make dep make clean (pour les anciens noyaux) make bzImage make modules make modules_installLa Figure 40 indiquait déjà le besoin de la commande « make dep ». Vous devez bien sûr exécuter ces commandes dans le répertoire source de Linux « /usr/src/linux ». Les noyaux des séries 2.0.x ou plus anciennes ont aussi besoin de la commande « make clean », qui supprime les fichiers plus anciens avant la compilation du nouveau noyau. La commande « make clean » protégeait des messages d'erreurs qui étaient difficiles à résoudre mais qui provenaient probablement de fichiers objets (.o) qui n'avaient pas été écrasés. La commande « make bzImage » compile le nouveau noyau mais ne l'installe pas encore. Vous pouvez aussi compiler le noyau avec d'autres commandes « make », i.e. « make bzlilo » ou « make zImage » mais ces commandes peuvent générer des problèmes. La plupart des noyaux sont trop gros pour permettre un « make zImage » proprement exécuté : vous obtenez un message d'erreur pendant la compilation et vous terminez sans noyau. Avec la commande « make bzlilo », tout doit être configuré proprement dans des fichiers comme « /etc/lilo.conf » mais ce n'est pas toujours le cas. Il est donc plus sûr d'éviter ces dernière commandes. La commande « make modules » compile les modules : ils sont installés avec la commande « make modules_install ». Cette commande met les modules dans le répertoire « /lib/modules/2.4.6/ » si la version de noyau actuelle est la 2.4.6 : il change lorsque vous compilez une autre version de noyau. De cette manière les modules correspondants à un noyau particulier sont automatiquement dans un répertoire séparé, ce qui évite les conflits avec des modules obsolètes et autres problèmes similaires. Pendant le démarrage, le noyau Linux sait maintenant dans quel répertoire il peut trouver les bons modules. Mais les fichiers dans « /lib/modules/2.4.6/ » sont écrasés et les anciens modules restent si vous avez déjà compilé le noyau 2.4.6 et que vous voulez le recompiler. Les anciens modules peuvent alors être laissés de coté même s'ils ne sont plus utilisés par le nouveau noyau. Ce n'est normalement pas un problème mais c'est toujours une bonne idée de prendre le temps de retirer les anciens modules avant d'installer les nouveaux.
Pour éviter les problèmes à l'installation du noyau, vous devez aussi vous assurer que la configuration de lilo « /etc/lilo.conf » est correcte et vous devez copier le noyau et le fichier « System.map » au bon endroit. Après tout cela, vous devez aussi exécuter la commade « lilo ». Une alternative consiste à utiliser « loadlin », qui permet le démarrage d'un noyau Linux sous Dos/Windows. Les deux options sont détaillées plus loin.
boot = /dev/hda vga = normal read-only menu-scheme = Wg:kw:Wg:Wg lba32 prompt timeout = 300 message = /boot/message other = /dev/hda1 label = win98 image = /boot/bzImage label = linux-2.4.6 root = /dev/hda3 append = "parport=0x378,7 hdd=ide-scsi" image = /boot/vmlinuz.suse label = suse root = /dev/hda3 append = "hdd=ide-scsi" initrd = /boot/initrd.suse
Le contenu détaillé du fichier lilo.conf peut différer de celui ci-dessus pour chaque système et selon les distributions. C'est la raison pour laquelle je vais détailler ce fichier. Les 8 lignes du haut ont déjà le bon format et vous n'avez pas, habituellement, besoin de les changer. La commande « boot » dans la première ligne indique le disque dur physique depuis lequel le système démarre, ce qui signifie que « boot » pointe vers l'endroit du « master boot record ». Dans mon cas, le démarrage se fait depuis /dev/hda, le premier disque dur physique. L'option « vga » indique que le démarrage utilise un mode texte VGA standard de 80x25 caractères. L'option « read-only » signifie que le processus de démarrage monte d'abord la partition Linux en lecture seule. Pendant le démarrage de Linux, un contrôle d'erreur est fait sur les partitions : ce n'est qu'après qu'elles sont remontées avec les permissions de lecture et écriture. La ligne « menu-scheme » indique les couleurs du menu de démarrage « lilo » en mode texte. Avec « lda32 », il est possible de démarrer le système d'exploitation après le 1024ième cylindre, si c'est supporté par le BIOS. Tous les systèmes modernes supportent « lba32 ». Si vous avez des problèmes avec ceci, vous pouvez les régler avec une mise à jour du BIOS, quelque chose qui devient une nécessité avec les gros disques durs qui sont maintenant disponibles. La commande « prompt » force « lilo » à fournir un prompt qui permet à l'utilisateur de choisir le système d'exploitation. L'option « timeout » donne le temps en millisecondes pendant lequel « lilo » attend une entrée au prompt avant de démarrer le système d'exploitation standard. Si « lilo.conf » ne donne pas un système d'exploitation par défaut, comme dans l'exemple donné ici, le processus de démarrage commence avec le premier système d'exploitation rencontré. Dans mon cas, c'est Windows98, donc les personnes qui ne connaissent pas Linux se retrouveront dans un environnement Windows. L'option « message » montre un message alors que « lilo » est exécuté. Sous SuSE, c'est Tux le pingouin, la jolie mascotte de Linux, avec (bien sûr) le texte « SuSE Linux 7.1 ». Vous pouvez voir ce message en tapant « xv /boot/message » ou « gv /boot/message » (quelques fois même « gimp /boot/message ») : « xv » et « gv » (ghostview) sont des programmes shareware avec lesquels vous pouvez visualiser divers types de formats d'images. Veuillez noter que le fichier /boot/message n'existe pas sur des systèmes sans écran de connexion graphique (i.e. les anciennes distributions), dans ce cas, le « message de démarrage » est un simple message texte. Il est en principe possible de montrer votre image préférée pendant le démarrage mais je n'ai pas encore tenté cette expérience. Toutes les options de « lilo » sont bien sûr documentées dans les pages de manuel auquelles vous accédez par les commandes « man lilo » et « man lilo.conf ».
Les autres options gèrent le démarrage des divers autres systèmes d'exploitation. Au mieux, vous pouvez démarrer seize différents systèmes d'exploitation ou noyaux. C'est en principe amplement suffisant. Vous définissez le système d'exploitation avec la ligne « label= ». Par défaut, Windows98 (et donc aussi les anciennes versions de Windows et de DOS mais pas Windows NT ou Windows 2000) doit être sur la première partition primaire. Ces systèmes d'exploitation ont donc seulement besoin d'une ligne « other » et d'une ligne « label ». La seconde section, démarrant avec « image=/boot/bzImage », démarre le nouveau noyau avec le label « linux-2.4.6 ». Mon répertoire racine Linux est « /dev/hda3 ». La ligne « append = "parport=0x378,7 hdd=ide-scsi" » indique au noyau l'adresse et l'interuption pour le port parallèle (port 0x378, interrupt 7) et spécifie que mon graveur de CD « hdd » doit être adressé par une émulation SCSI. Le nom pour le lecteur de CD dépend du système : dans le mien, c'est « hdd » mais il peut avoir un autre nom dans le votre. L'utilisation d'une interuption est plus une question de préférence personnelle. Une interuption accélère l'impression mais vous pouvez oublier cette commande si vous n'avez pas d'interruption disponible pour le port parallèle (imprimante). Par défaut, Linux utilise le « polling » qui permet au noyau d'utiliser le port parallèle sans une interruption. La dernière section, commençant par « image = /boot/vmlinuz.suse », contient la configuration de lilo faite pendant le processus de configuration de SuSE : j'ai ajouté manuellement la ligne append="hdd=ide-scsi". Le fichier « boot/vmlinuz.suse » est le noyau standard de la distribution. Il est préférable de TOUJOURS sauvegarder ce noyau en cas de problème. La ligne « initrd = /boot/initrd.suse » ne s'applique que pour le noyau installé en standard : elle spécifie le chargement d'une image « ramdisk », un disque virtuel qui est chargé dans la mémoire (ou « random access memory », RAM). Le « ramdisk » contient les modules nécessaires au démarrage correct de Linux : un noyau de distribution doit bien sûr être capable d'accéder à un grand choix de matériel, chose qui n'est réalisable qu'en utilisant de nombreux modules.
L'endroit où stocker le nouveau noyau Linux avant l'exécution de lilo devrait maintenant être évident. Dans cet exemple, les bonnes commandes sont les suivantes :
cp /usr/src/linux/arch/i386/boot/bzImage /boot cp /usr/src/linux/System.map /boot/System.map-2.4.6 liloSous SuSE 7.3, vous pouvez aussi faire une seconde copie comme ceci :
cp /usr/src/linux/System.map /boot(le System.map original a déjà été renommé)
rpm -bb /usr/src/packages/SPECS/alsa.spec cd /usr/src/packages/BUILD/alsa/alsa-driver-<version number>/ ./configure make installLa première ligne installe le code source, incluant les pilotes, dans le répertoire « /usr/src/packages/BUILD/ ». De plus, les bibliothèques ALSA et leurs utilitaires sont directement compilés en tant que fichiers rpm. Malheureusement, les pilotes ALSA ne sont pas compilés par défaut. Vous devez les compiler et les installer séparément à la main en utilisant les deux commandes du bas. La commande « ./configure » trouve les configurations et les fichiers nécessaires dans votre système et les intègre dans un fichier de configuration. La commande « make install » compile tous les pilotes ALSA et les installe dans le répertoire « /lib/modules/2.4.6/misc/ » afin qu'ils soient disponibles pour le noyau. Maintenant, lors du démarrage de SuSE, le pilote son désiré est installé automatiquement. J'admets que la procédure suggérée ici est assez lourde mais vous devez savoir exactement ce que vous faites pour trouver les pilotes nécessaires et inclure le support du son dans le nouveau noyau d'une manière plus directe.
Si vous n'utilisez pas SuSE ou si vous voulez utiliser une version plus récente des pilotes ALSA, vous pouvez télécharger ces pilotes, les bibliothèques correspondantes et les utilitaires sur http://www.alsa-project.org. La page de démarrage du site donne les dernières nouvelles du projet ALSA (i.e., l'intégration en février 2002 des pilotes ALSA dans l'arbre source du noyau de la série 2.5) et donne le lien vers les divers fichiers à télécharger. Ci-dessous, je vais expliquer comment compiler les pilotes ALSA : vous pouvez suivre les même étapes pour les bibliothèques et les utilitaires. Décompressez les pilotes dans un répertoire adapté, i.e., « /usr/local/ ». Déplacez-vous dans ce répertoire qui est dans ce cas « /usr/local/alsa-driver-<version-number>/ » et exécutez les commandes suivantes en démarrant par « ./configure ». Il peut être nécessaire de procéder à des étapes additionnelles pour que les pilotes fonctionnent si votre distribution n'utilise pas les pilotes ALSA en standard. Malheureusement, ces problèmes sont hors du cadre de cet article déjà assez long, mais vous pouvez obtenir plus ample information dans la FAQ d'ALSA (« Frequently Asked Questions » ; questions les plus fréquement posées) que vous pouvez aussi télécharger.
cp /etc/rc.d/pcmcia /etc/rc.d/pcmcia.SuSE cp ~/pcmcia-cs-3.1.?.tar.gz /usr/src cd /usr/src tar -zxf ./pcmcia-cs-3.1.?.tar.gz make config make all make install cp /etc/rc.d/pcmcia.SuSE /etc/rc.d/pcmciaLa première et la dernière ligne résolvent des problèmes spécifiques à SuSE. Le script d'initialisation pcmcia de SuSE « /etc/rc.d/pcmcia » est écrasé par la commande « make install », ce qui fait échouer le script sous SuSE. Le problème est résolu en recopiant le script original après le « make install ». Si vous avez écrasé le script SuSE original par erreur, vous devez réinstaller le paquetage pcmcia en commençant par la partie « a1 », copier le script original dans un autre fichier, exécuter « make install » à nouveau et enfin recopier le script original.
Le nouveau fichier rpm pour le support pcmcia obtenu avec SuSE est comme
suit :
rpm -i /cdrom/suse/zq1/pcmcia-3.1.?.spm cd /usr/src/packages rpm -bb ./SPECS/pcmcia-3.1.?.spec cd /RPMS/i386/ rpm -i --force ./pcmcia-3.1.?.rpm SuSEconfigDans la première ligne, je suppose que vous installez les pilotes pcmcia depuis les 6ièmes et 7ièmes CD et que le lecteur de CD-ROM est déjà monté sur /cdrom. La commande « rpm -i » installe le code source et la commande « rpm -bb » compile le fichier rpm pcmcia. Vous installez alors ce fichier rpm particulier de la même manière que vous le faites avec tous les autres. Notez que vous devez utiliser l'option « --force » sinon, le programme rpm vous indiquera (à juste titre) que « pcmcia » est déjà installé et ignorera le nouveau fichier. Comme toujours, vous devez exécuter le programme SuSEconfig (notez les majuscules et les minuscules) lorsque vous avez installé les fichiers rpm à la main sous SuSE, afin d'activer les changements de configuration. Cette dernière chose est faite automatiquement par les programmes d'initialisation de SuSE YaST ou YaST2 après installation ou modification de nouveaux paquetages. Il n'est alors plus nécessaire de les activer à la main.
Pour utiliser le support pcmcia correctement, vous devez laisser le « network support » pendant la compilation mais vous devez désactiver tous les autres pilotes pour cartes réseau. Et, comme déjà dit avec la Figure 11, vous devez bien sûr aussi activer « TCP/IP support » si vous voulez utiliser Internet.
insmod (qui installe un module), rmmod (pour enlever un module) lsmod (pour montrer tous les modules utilisés),parmi d'autres. Avec des commandes comme « man lsmod », vous pouvez trouver leur manière de fonctionner, ce que je ne vais pas détailler ici.
Compiler et installer « modutils » est évident. Tapez simplement :
cd /usr/src cp ~/modutils-2.4.6.tar.bz2 . (en supposant que le fichier est dans votre) (répertoire de travail, '~') bzip2 -d modutils-2.4.6.tar.bz2 (unzip : ceci peut prendre du temps) tar -xvf modutils-2.4.6.tar cd modutils-2.4.6 (allez dans le répertoire dans lequel « modutils ») vient d'être décompressé) ./configure (trouve les configurations spécifiques au système) make ( compile « modutils » : comme c'est petit, la compilation peut être) (étonnamment rapide) make install (installe « modutils » dans le répertoire « /sbin/ »)C'est tout ce que vous avez à faire pour rendre « modutils » prêt à l'emploi. Notez encore que dans cet exemple « modutils » doit avoir le même numéro de version que le noyau mais cela n'est pas toujours le cas.
Une autre manière de lire les messages de démarrage du noyau est fournie par la commande « dmesg ». Simplement exécuter cette commande appelle les messages qui ont défilé plus tôt à l'écran. Les mettre dans un fichier avec « dmesg > temp » vous permet de lire les messages d'erreur à votre rythme (avec « more temp » ou votre éditeur favori).
Si vous avez encore des problèmes et que vous ne vous en sortez pas, vous pourrez utiliser les différentes listes de diffusion Linux et sites internet où vous pourrez poser vos quetions. Ceux-ci existent dans différentes langues, pas seulement en anglais. Dans un délai relativement court, vous devriez obtenir une réponse qui vous permettra de résoudre votre problème. La meilleure manière de trouver ces listes et les sites internet est d'utiliser un moteur de recherche.
Site Web maintenu par l´équipe d´édition LinuxFocus
© Philip de Groot "some rights reserved" see linuxfocus.org/license/ http://www.LinuxFocus.org |
Translation information:
|
2005-02-13, generated by lfparser version 2.52