<HTML> <HEAD> <TITLE>Configurer votre noyau Linux </TITLE> </HEAD> <BODY> <A NAME="Configuration du noyau"></A> <H1>7. <A NAME="s7"></A>Configurer votre noyau Linux </H1> <P> <A HREF="PPP-HOWTO.html#toc7">Contenu de cette section</A></P> <P>Pour utiliser PPP, votre noyau Linux doit être compilé avec le support PPP. Récupérez le code source de votre noyau Linux si vous ne l'avez pas encore - il se situe dans <CODE>/usr/src/linux</CODE> dans un système de fichiers Linux standard.</P> <P></P> <P>Vérifiez ce répertoire - de nombreuses distributions installent les sources (fichiers et répertoires) pendant leur processus d'installation.</P> <P></P> <P>Au démarrage, votre noyau écrit une grande quantitée d'informations. Parmi elles, est indiqué si le noyau contient le support PPP. Pour afficher ces informations, regardez votre fichier syslog, ou utilisez <CODE>dmesg | less</CODE> pour afficher ces informations à l'écran. Si votre noyau contient le support PPP, vous verrez quelques lignes du genre</P> <P> <HR> <PRE> PPP Dynamic channel allocation code copyright 1995 Caldera, Inc. PPP line discipline registered. </PRE> <HR> </P> <P></P> <P>(pour les noyau Linux version 2.0.x)</P> <P></P> <P>Les sources du noyau Linux sont disponibles par ftp à <CODE>sunsite.unc.edu</CODE> ou ses nombreux miroirs, en particulier <CODE>ftp.lip6.fr</CODE>.</P> <P></P> <H2>7.1 <A NAME="ss7.1"></A> Installer les sources du noyau</H2> <P>La suite regroupe de brèves instructions pour obtenir et installer les sources du noyau Linux. Des informations complètes sont disponibles a <A HREF="http://sunsite.unc.edu/mdw/HOWTO/Kernel-HOWTO.html">The Linux Kernel HOWTO</A> .</P> <P></P> <P>Pour installer et compiler le noyau Linux vous devez être <CODE>root</CODE>.</P> <P> <OL> <LI>Changer de répertoire vers <CODE>/usr/src/</CODE> <BR> <CODE>cd /usr/src/</CODE></LI> <LI>Vérifier dans <CODE>/usr/src/linux</CODE> pour voir si les sources sont déjà installées.</LI> <LI>Si vous n'avez pas les sources, récupérez les à <A HREF="ftp://sunsite.unc.edu/pub/Linux/kernel/v2.0">Linux kernel source directory</A> ou sur un miroir plus proche comme <CODE>ftp.lip6.fr</CODE>.<BR> Si vous cherchez une version plus ancienne du noyau (comme la 1.2.X), elles sont conservées dans <A HREF="ftp://sunsite.unc.edu/pub/Linux/kernel/old">Old Linux kernel source directory</A> . </LI> <LI>Choisissez le noyau approprié - généralement le plus récent disponible est le meilleur. Le récupérer et mettre le fichier tar dans <CODE>/usr/src</CODE>.<BR> <B>Remarque</B>: un fichier 'tar' est une archive - parfois compressée (comme le sont les fichiers tar des sources du noyau Linux) il contient de nombreux fichiers répartis dans plusieurs répertoires. C'est l'équivalent Linux des fichiers multi-répertoires sous MS-DOS. </LI> <LI>Si vous avez déjà les sources de Linux installées, mais que vous voulez les mettre à jour, il faut effacer les anciens fichiers. Utiliser la commande <BR> <CODE>rm -rf /usr/src/linux</CODE></LI> <LI>Maintenant décompresser et extraire les sources avec la commande<BR> <CODE>tar xzf linux-2.0.XX.tar.gz</CODE></LI> <LI>Maintenant, <CODE>cd /usr/usr/linux</CODE> et lire le fichier README. Il contient une excellente explication de la façon de faire pour configurer et compiler un nouveau noyau. Lisez ce fichier (c'est une bonne idée de l'imprimer pour en garder une copie sous la main quand vous compilerez votre noyau jusqu'à ce que vous l'ayez fait suffisamment pour vous débrouiller tout seul).</LI> </OL> </P> <P></P> <H2>7.2 <A NAME="ss7.2"></A> Connaître votre matériel</H2> <P>Vous <B>DEVEZ</B> savoir quelles cartes/périphériques vous avez dans votre PC si vous commencer à recompiler votre noyau !!! Pour certains périphériques (comme les cartes sons) vous devez également connaitre quelques paramètres (comme les IRQ et les adresse I/O et des choses du genre).</P> <P></P> <H2>7.3 <A NAME="ss7.3"></A> Compilation du noyau - le noyau Linux 1.2.13</H2> <P>Pour commencer le processus de configuration, suivre les instructions du fichier README pour installer les sources correctement. Vous lancez le processus de configuration du noyau avec</P> <P> <BLOCKQUOTE><CODE> <PRE> make config </PRE> </CODE></BLOCKQUOTE> </P> <P></P> <P>Pour utiliser PPP, vous devez configurer le noyau pour inclure le support PPP (PPP a besoin DE <CODE>pppd</CODE> ET DU support de PPP dans le noyau).</P> <P> <HR> <PRE> PPP (point-to-point) support (CONFIG_PPP) [n] y </PRE> <HR> </P> <P></P> <P>Répondre aux autres questions du <CODE>make config</CODE> en accord avec le matériel de votre PC et les caractéristiques que vous souhaitez pour votre système d'exploitation Linux. Continuer ensuite à suivre les instructions de compilation et d'installation du <CODE>README</CODE> pour votre nouveau noyau.</P> <P></P> <P>Le noyau 1.2.13 créait seulement 4 périphériques PPP. Pour les cartes séries multiports, vous devez éditer les sources du noyau PPP pour avoir plus de ports. (Voir le fichier <CODE>README.Linux</CODE> accompagnant la distribution de PPP-2.1.2 pour des détails complets des éditions simples que vous devez faire).</P> <P></P> <P>Remarque : la configuration du noyau 1.2.13 ne permet pas de revenir en arrière - si vous faites une erreur en répondant à une des questions dans le <CODE>make config</CODE> quitter avec CTRL-C et recommencer.</P> <P></P> <H2>7.4 <A NAME="ss7.4"></A> Compilation du noyau Linux 1.3.x et 2.0.x</H2> <P>Pour Linux 1.3.x et 2.0.x, vous pouvez utiliser le même processus que pour Linux 1.2.13. De même, suivez les instructions du fichier <CODE>README</CODE> pour installer les sources correctement. Vous lancez la configuration du noyau avec</P> <P> <BLOCKQUOTE><CODE> <PRE> make config </PRE> </CODE></BLOCKQUOTE> </P> <P></P> <P>Cependant, vous pouvez aussi utiliser <BLOCKQUOTE><CODE> <PRE> make menuconfig </PRE> </CODE></BLOCKQUOTE> </P> <P></P> <P>Qui fournit un système de configuration avec une aide en ligne et vous pouvez avancer et reculer dans la configuration.</P> <P></P> <P>Il y a aussi l'interface de configuration sous X-Window chaudement recommandée <BLOCKQUOTE><CODE> <PRE> make xconfig </PRE> </CODE></BLOCKQUOTE> </P> <P></P> <P>Vous pouvez compiler le support PPP directement dans votre noyau ou sous la forme d'un module chargeable dynamiquement.</P> <P></P> <P>Si vous utilisez PPP occasionnellement, alors compiler le support PPP en module chargeable est recommandé. Avec <CODE>kerneld</CODE>, votre noyau chargera automatiquement le(s) module(s) nécessaires pour fournir le support PPP quand vous lancerez une liaison PPP. Cela permet d'économiser une partie de l'espace mémoire : le noyau ne peut être swappé, alors que les modules chargeables sont automatiquement enlevés si ils ne sont pas utilisés.</P> <P></P> <P>Pour cela, vous devez activer le support des modules chargeables : <HR> <PRE> Enable loadable module support (CONFIG_MODULES) [Y/n/?] y </PRE> <HR> </P> <P>Pour ajouter le support PPP à votre noyau, répondre à la question suivante : <HR> <PRE> PPP (point-to-point) support (CONFIG_PPP) [M/n/y/?] </PRE> <HR> </P> <P></P> <P>Pour un module chargeable, répondre <B>M</B>, sinon pour le compiler directement dans le noyau, répondre <B>Y</B>.</P> <P></P> <P>A la différence du 1.2.13, le noyau 2.0.x crée les périphériques PPP au vol et selon les besoins, et il n'y a absolument pas besoin de bricoler le source pour augmenter le nombre de périphériques PPP.</P> <P></P> <H2>7.5 <A NAME="ss7.5"></A> Remarque sur PPP-2.2 et <CODE>/proc/net/dev</CODE></H2> <P>Si vous utilisez PPP-2.2, vous trouverez qu'un problème de la création des périphériques PPP 'au vol' est qu'aucun périphérique n'est trouvé dans le fichier <CODE>/proc/net</CODE> tant qu'un périphérique n'est pas créé avec le lancement de <CODE>pppd</CODE> :</P> <P> <HR> <PRE> [hartr@archenland hartr]$ cat /proc/net/dev Inter-| Receive | Transmit face |packets errs drop fifo frame|packets errs drop fifo colls carrier lo: 92792 0 0 0 0 92792 0 0 0 0 0 eth0: 621737 13 13 0 23 501621 0 0 0 1309 0 </PRE> <HR> </P> <P></P> <P>Une fois que vous avez un (ou plus) services ppp lancés, vous verrez des entrées comme celles-ci (sur un serveur PPP) :</P> <P> <HR> <PRE> [root@kepler /root]# cat /proc/net/dev Inter-| Receive | Transmit face |packets errs drop fifo frame|packets errs drop fifo colls carrier lo: 428021 0 0 0 0 428021 0 0 0 0 0 eth0:4788257 648 648 319 650 1423836 0 0 0 4623 5 ppp0: 2103 3 3 0 0 2017 0 0 0 0 0 ppp1: 10008 0 0 0 0 8782 0 0 0 0 0 ppp2: 305 0 0 0 0 297 0 0 0 0 0 ppp3: 6720 7 7 0 0 7498 0 0 0 0 0 ppp4: 118231 725 725 0 0 117791 0 0 0 0 0 ppp5: 38915 5 5 0 0 28309 0 0 0 0 0 </PRE> <HR> </P> <P></P> <H2>7.6 <A NAME="ss7.6"></A> Considérations générales sur la configuration du noyau pour PPP</H2> <P>Si vous configurez votre PC Linux comme un serveur PPP, vous devez activer le support IP Forwarding. Il est également nécessaire si vous voulez utiliser Linux pour relier deux réseaux locaux entre eux ou un réseau local à Internet.</P> <P></P> <P>Si vous reliez un réseau local à Internet (ou reliez deux réseaux entre eux), vous devez être concernés par la sécurité. Ajouter le support pour IP firewall dans votre noyau est alors sans doute obligatoire !</P> <P></P> <P>Vous aurez également besoin, d'utiliser IP Masquerade pour relier un réseau local qui utilise les adresses IP non connectées mentionnées plus haut.</P> <P></P> <P>Pour activer IP Masquerade et IP firewalling, vous <B>DEVEZ</B> répondre Oui à la première question de <CODE>make config</CODE> : <HR> <PRE> Prompt for developement and/or incomplete code/drivers (CONFIG_EXPERIMENTAL)? </PRE> <HR> </P> <P></P> <P>Bien que cela puisse sembler un peu bizarre aux nouveaux utilisateurs, je confirme que de nombreux utilisateurs utilisent les possibilités de IP Masquerading et de IP firewalling du noyau Linux 2.0.X sans problèmes.</P> <P></P> <P>Une fois que vous avez installé et booté votre nouveau noyau, vous pouvez commencer à configurer et à tester votre liaison PPP.</P> <P></P> <HR> <P> Chapitre <A HREF="PPP-HOWTO-8.html">suivant</A>, Chapitre <A HREF="PPP-HOWTO-6.html">Précédent</A> <P> Table des matières de <A HREF="PPP-HOWTO.html#toc7">ce chapitre</A>, <A HREF="PPP-HOWTO.html#toc">Table des matières</A> générale</P> <P> <A HREF="PPP-HOWTO.html">Début</A> du document, <A HREF="#0"> Début de ce chapitre</A></P> </BODY> </HTML>