  Le HOWTO du noyau Linux (Kernel HOWTO)
  par Brian Ward, ward@blah.tu-graz.ac.at
  Version 1.0, 5 juin 1999

  (5 juillet 1999. Adaptation franaise par Eric Dumas dumas@freenix.fr
  jusqu' la version 0.80, Christophe Deleuze christophe.deleuze@lip6.fr
   partir de la version 1.0).  Il s'agit d'un guide dtaill sur la
  configuration du noyau, sa compilation et ses mises  jour pour les
  plates-formes x86.
  ______________________________________________________________________

  Table des matires






















































  1. Introduction

     1.1 Lisez ceci en premier (enfin bon, c'est un conseil) !
     1.2 Un mot sur le style

  2. Quelques questions... avec leurs rponses

     2.1 Mais quel est le rle du noyau ?
     2.2 Pourquoi voudrais-je mettre  jour mon noyau ?
     2.3 Quel genre de matriel supportent les nouveaux noyaux ?
     2.4 Quelle version de gcc ou de libc utiliser ?
     2.5 Que sont les modules chargeables (loadable modules) ?
     2.6 De combien d'espace disque ai-je besoin ?
     2.7 Combien de temps a prend ?

  3. Comment configurer le noyau ?

     3.1 Rcuprer les sources
     3.2 Installer les sources
     3.3 Configurer le noyau
        3.3.1 Kernel math emulation (Precessor type and features)
        3.3.2 Enhanced (MFM/RLL) disk and IDE disk/cdrom support (Block Devices)
        3.3.3 Networking support (General Setup)
        3.3.4 System V IPC (General Setup)
        3.3.5 Processor family (Processor type and features)
        3.3.6 SCSI support
        3.3.7 Network device support
        3.3.8 Filesystems
           3.3.8.1 Mais je ne sais pas de quels systmes de fichiers j'ai besoin !
        3.3.9 Character devices
        3.3.10 Sound
        3.3.11 Autres options de configuration
        3.3.12 Kernel hacking
     3.4 Garon, la suite ! (Le Makefile)

  4. Compiler le noyau

     4.1 Nettoyer et chercher les dpendances
     4.2 La compilation
     4.3 Les autres options du
     4.4 Installer le noyau

  5. Mettre  jour le noyau

     5.1 Appliquer un patch
     5.2 Si quelque chose ne fonctionne pas
     5.3 Comment se dbarasser des fichiers .orig ?
     5.4 Autres patches

  6. Paquetages supplmentaires

     6.1 kbd
     6.2 util-linux
     6.3 hdparm
     6.4 gpm

  7. Quelques piges

     7.1 make clean
     7.2 Noyaux normes ou lents
     7.3 Le port parallle ne fonctionne pas/mon imprimante ne fonctionne pas
     7.4 Le noyau ne compile pas
     7.5 La nouvelle version du noyau ne boote plus !
     7.6 Vous avez oubli de lancer LILO, ou le systme ne boote plus du tout
     7.7 Il me dit
     7.8 Je n'arrive pas  faire marcher mon CD-ROM IDE/ATAPI
     7.9 Le noyau me dit des insanits  propos de requtes obsoltes !
     7.10 Le Firewall ne fonctionne pas dans la version 1.2.0
     7.11 Ce n'est pas une image noyau compresse !
     7.12 Problmes avec la console aprs mise  jour  la version 1.3.x
     7.13 Le noyau ne semble pas pouvoir compiler aprs une mise  jour
     7.14 Augmenter les limites

  8. Note concernant la mise  jour pour les noyaux 2.0.x, 2.2.x

  9. Modules

     9.1 Installer les utilitaires pour grer les modules
     9.2 Modules distribus avec le noyau

  10. Trucs et astuces

     10.1 Rediriger la sortie standard des commandes make ou patch
     10.2 Installations diverses du noyau
     10.3 Mises  jour des noyaux

  11. D'autres HOWTO qui peuvent tre utiles

  12. Divers

     12.1 Auteur
     12.2 Reste  faire
     12.3 Contributions
     12.4 Copyright, traduction, licence et autres


  ______________________________________________________________________

  11..  IInnttrroodduuccttiioonn


  Faut-il que vous lisiez ce document ? Oui, si vous avez les symptmes
  suivants :


    "Arg ! Cette archive TrucBidule-46.5.6 ncessite la version du
     noyau 2.8.193 et je n'ai que la version 1.0.9 ! "

    Il y a un pilote de priphrique dont vous avez besoin dans l'un
     des nouveaux noyaux.

    Vous n'avez aucune ide de la manire dont il faut s'y prendre pour
     recompiler le noyau.

    "Est-ce que ce truc dans le fichier _R_E_A_D_M_E dcrit toute la marche 
     suivre ?"

    Vous avez essay, a ne marche pas !

    Vous devez donner un conseil  une personne qui a certains
     problmes.


  11..11..  LLiisseezz cceeccii eenn pprreemmiieerr ((eennffiinn bboonn,, cc''eesstt uunn ccoonnsseeiill)) !!


  Certains exemples prsents dans ce document prsupposent que vous
  possdez les programmes GNU tar, find et xargs.  Ils sont assez
  standards, et ne devraient pas vous poser trop de problmes.  On
  suppose galement que vous connaissez la structure de votre disque
  (partitions). Si vous ne le savez pas, il est impratif que vous
  gardiez une copie sur papier du rsultat de l'excution de la commande
  mount (ou bien une copie du fichier /etc/fstab, si vous savez le
  lire).  Cette information est importante, et ne change pas  moins que
  vous ne repartitionniez votre disque, en ajoutiez un nouveau,
  rinstalliez votre systme, ou quelque chose de similaire.

  La dernire version stable du noyau au moment o j'cris ces mots est
  la 2.2.9, ce qui signifie que les rfrences et les exemples donns
  correspondent  cette version. Mme si j'ai essay de faire en sorte
  que ce document soit aussi indpendant que possible des versions, le
  noyau est en perptuel dveloppement, donc si vous rcuprez une
  nouvelle version, il risque d'y avoir quelques diffrences. Cela ne
  devrait pas poser trop de problmes mais risque de semer un peu la
  confusion.

  Il existe deux versions des sources du noyau : une version dite
  "stable" et une version de dveloppement. Les version stables ont des
  numros de version pairs : 1.2.x, 2.0.x sont des versions stables...
  tout comme la 2.2.x. Ces noyaux sont considrs comme tant les plus
  stables et sans erreurs. Les noyaux de dveloppement (1.3.x, 2.1.x,
  etc) sont des noyaux de test, pour les dveloppeurs, les testeurs...
  mais ces noyaux peuvent tre trs bogus. Vous tes prvenus.


  11..22..  UUnn mmoott ssuurr llee ssttyyllee


  Un texte qui ressemble  celui-ci est soit un message qui apparat sur
  votre cran, soit un fichier, soit quelque chose qui peut tre
  directement saisi, comme une commande ou des options pour une commande
  (si vous possdez une version texte de ce document, il n'y a pas de
  diffrence).



  22..  QQuueellqquueess qquueessttiioonnss...... aavveecc lleeuurrss rrppoonnsseess



  22..11..  MMaaiiss qquueell eesstt llee rrllee dduu nnooyyaauu ??


  Le noyau Unix joue le rle d'intermdiaire entre vos programmes et
  votre matriel.  Premirement, il gre la mmoire pour tous les
  programmes en cours d'excution (processus), et s'assure qu'ils
  occupent tous une part quitable (ou non) du temps processeur.  En
  plus, il fournit une interface (simple  utiliser) aux programmes pour
  communiquer avec votre matriel (appels systme).

  Bien sr c'est un petit peu plus compliqu que a, mais ces fonctions
  de bases sont les plus importantes  connatre.


  22..22..  PPoouurrqquuooii vvoouuddrraaiiss--jjee mmeettttrree  jjoouurr mmoonn nnooyyaauu ??


  Les nouveaux noyaux offrent plus de facilit pour communiquer avec
  plus de matriels (c'est--dire qu'ils grent plus de
  priphriques...), ils peuvent avoir une meilleure gestion des
  processus, tourner plus rapidement que les anciennes versions, tre
  plus stables et ils corrigent les erreurs stupides des versions
  prcdentes.  Beaucoup de gens mettent  jour leurs noyaux car ils
  veulent avoir les nouveaux pilotes de priphriques et les corrections
  d'erreurs.



  22..33..  QQuueell ggeennrree ddee mmaattrriieell ssuuppppoorrtteenntt lleess nnoouuvveeaauuxx nnooyyaauuxx ??


  Jetez un coup d'oeil sur le Hardware-HOWTO. Vous pouvez aussi regarder
  le fichier "config.in" dans les sources de LLiinnuuxx, ou juste essayer
  "make config", ce qui vous permet de voir tous les matriels supports
  par le noyau standard, mais pas tout ce que LLiinnuuxx supporte. En effet,
  beaucoup de priphriques assez utiles (tels les priphriques PCMCIA,
  et quelques lecteurs de cartouches) sont des modules chargeables
  maintenus et distribus sparment.


  22..44..  QQuueellllee vveerrssiioonn ddee ggcccc oouu ddee lliibbcc uuttiilliisseerr ??


  Linus recommande une version de gcc dans le fichier README fourni avec
  le code source.  Si vous ne possdez pas cette version, la
  documentation dans la version recommande de gcc devrait vous indiquer
  si vous avez besoin de mettre  jour votre libc.  Ce n'est pas une
  opration complique, mais il est important de suivre les
  instructions.


  22..55..  QQuuee ssoonntt lleess mmoodduulleess cchhaarrggeeaabblleess ((llooaaddaabbllee mmoodduulleess)) ??


  Ce sont des parties du noyau (pilotes de priphriques gnralement)
  qui ne sont pas compiles dans celui-ci. On peut les compiler
  sparment, les insrer et les retirer du noyau  n'importe quel
  moment. En raison de cette souplesse, c'est devenu la mthode prfre
  pour coder certaines fonctionnalits du noyau.  Bon nombre de pilotes
  de priphriques tels que PCMCIA et les gestionnaires de cartouches
  QIC-80/40 sont des modules chargeables.


  22..66..  DDee ccoommbbiieenn dd''eessppaaccee ddiissqquuee aaii--jjee bbeessooiinn ??


  Cela dpend de la configuration de votre systme. Tout d'abord, le
  code source compress de LLiinnuuxx fait presque 16 Mo pour la version
  2.2.9.  Vous voulez gnralement le garder dans un coin aprs l'avoir
  dcompress. Dcompress et compil avec une configuration moyenne, il
  occupe 67 Mo de plus.


  22..77..  CCoommbbiieenn ddee tteemmppss aa pprreenndd ??


  Sur les machines rcentes la compilation demande beaucoup beaucoup
  moins de temps que sur les anciennes. Un AMD K6-2/300 avec un disque
  rapide peut compiler un noyau 2.2.x en  peu prs quatre minutes. Avec
  de vieux Pentium, 486 ou 386 soyez prts  patienter, ventuellement
  des heures, jours...

  Si cela vous pose problme et que vous avez accs  une machine
  rapide, vous pouvez compiler sur celle-ci (fournissez les bons
  paramtres, assurez-vous que vos utilitaires sont  jour, etc.) et
  transfrer l'image du noyau sur la machine lente.



  33..  CCoommmmeenntt ccoonnffiigguurreerr llee nnooyyaauu ??




  33..11..  RRccuupprreerr lleess ssoouurrcceess


  Vous pouvez rcuprer les sources via ftp depuis ftp.kernel.org dans
  le rpertoire /pub/linux/kernel/vx.y, o x.y est la version (par ex.
  2.2). Comme expliqu plus haut les versions se terminant par un
  chiffre impair sont les versions de dveloppement et peuvent tre
  instables. Le fichier est typiquement linux-x.y.z.tar.gz, o x.y.z est
  le numro de version. Une version avec suffixe en .bz2 (compress avec
  bzip2) est aussi gnralement disponible (la compression bzip2 est
  plus performante donc le transfert sera plus rapide).

  Il vaut mieux utiliser ftp.xx.kernel.org o xx est votre code de pays,
  par exemple ftp.fr.kernel.org pour la France, ftp.be.kernel.org pour
  la Belgique.


  33..22..  IInnssttaalllleerr lleess ssoouurrcceess


  Faites un su (super utilisateur) ou bien loggez-vous en tant que
  "root", et allez dans le rpertoire /usr/src.  Si vous avez dj
  install les sources du noyau, il y aura dj un rpertoire appel
  "linux", contenant l'ensemble des sources du noyau.  Si vous avez de
  la place disque et que vous voulez jouer la carte scurit, il est
  prfrable de conserver ce rpertoire intact.  Un systme assez
  pratique consiste  renommer votre rpertoire en fonction du numro de
  la version. La commande "uname -r" vous indiquera le numro de la
  version du noyau actuellement en fonction.

  Par exemple, si "uname -r" donne "1.0.9," vous pourrez dplacer votre
  rpertoire (avec mv) "linux" en "linux-1.0.9".  Si vous tes du genre
  tmraire, dtruisez le rpertoire. Dans tous les cas, soyez sr qu'il
  n'y ait aucun rpertoire "linux" dans /usr/src avant de dcompresser
  et d'installer les sources.

  Dans /usr/src, installez les sources en faisant "tar zxpvf linux-
  x.y.z.tar.gz" (si vous avez uniquement un fichier .tar, sans de .gz 
  la fin,"tar xpvf linux.x.y.z.tar" marchera sans problme).  Vous
  verrez la liste des fichiers se drouler sous vos yeux.  Lorsque c'est
  termin, il y aura un nouveau rpertoire "linux".  Allez dans lliinnuuxx et
  jetez un coup d'oeil au fichier README.  Il y a une section
  "INSTALLING the kernel".  Suivez les instructions lorsque ncessaire -
  prenez garde  ce que les liens soient en place et que les fichiers .o
  soient dtruits, etc.

  Si votre fichier est en .bz2, il vous faudra utiliser le programme
  bzip2 (voir  <http://www.muraroa.demon.co.uk/>). Faites:


       bz2cat linux-x.y.z.tar.bz2 | tar xvf -




  33..33..  CCoonnffiigguurreerr llee nnooyyaauu


  Note : il s'agit d'une rptition, clarification de la section
  correspondante dans le fichier README de Linus.

  La commande "make config" lance un script qui va vous poser un certain
  nombre de questions. Il a besoin de bash, donc vrifiez que vous
  possdez bien /bin/bash, /bin/sh, ou $BASH.


  Il existe un certain nombre de possibilits autres que make config et
  il est possible que vous les trouviez plus simples  utiliser. Pour
  ceux qui utilisent X, vous pouvez essayer make xconfig si vous avez au
  pralable install Tk (_c_l_i_c_k_-_o_-_r_a_m_a - Nat).  make menuconfig est
  destin  ceux qui ont install (n)curses et qui prfrent utiliser un
  menu en mode texte.  Ces interfaces ont un avantage : si vous vous
  trompez lors de la configuration, vous pouvez facilement corriger
  l'erreur sans devoir tout relancer.

  Avec make menuconfig et make xconfig les options de configuration
  apparatront hirarchises.

  Vous tes alors prt  rpondre aux questions, la plupart du temps par
  "y" ou par "n". Les pilotes de priphriques acceptent aussi
  gnralement "m", pour "module". Le pilote sera compil non pas
  directement dans le noyau mais en tant que module chargeable. Une
  interprtation plus amusante est que le "m" est pour "maybe"
  (peut-tre). Certaines options non critiques ou videntes ne seront
  pas dcrites ici. Consultez le paragraphe "Autres options de
  configuration" pour une courte descriptions de quelques options non
  dtailles ici. Avec make menuconfig vous pouvez utiliser la barre
  d'espace.

   partir des versions 2.0.x, une option "?" est prsente : elle permet
  d'obtenir une aide pour l'option dsire qui correspond srement aux
  informations les plus  jour. Voici une liste dcrivant brivement les
  options les plus importantes avec leur place dans la hirarchie (NdT :
  et la traduction de l'intitul).


  33..33..11..  KKeerrnneell mmaatthh eemmuullaattiioonn ((PPrreecceessssoorr ttyyppee aanndd ffeeaattuurreess))


  _(__m_u_l_a_t_i_o_n _d_u _c_o_p_r_o_c_e_s_s_e_u_r _A_r_i_t_h_m__t_i_q_u_e_) Si vous ne possdez pas de
  coprocesseur arithmtique (autrement dit, vous ne disposez que d'un
  386 ou d'un 486SX), rpondez "y".  Si vous en avez un et que vous
  rpondez "y", ce n'est pas grave : le coprocesseur sera utilis et
  l'mulation ignore. Pour toute machine pas trop vieille, la rponse
  sera non.


  33..33..22..  EEnnhhaanncceedd ((MMFFMM//RRLLLL)) ddiisskk aanndd IIDDEE ddiisskk//ccddrroomm ssuuppppoorrtt ((BBlloocckk
  DDeevviicceess))


  _(_G_e_s_t_i_o_n _a_m__l_i_o_r__e _d_e_s _d_i_s_q_u_e_s _d_u_r_s_) Vous devez  peu prs toujours
  rpondre oui  cette question. Cela signifie que le  noyau pourra
  grer les disques standards des PC comme IDE, que bon nombre de gens
  possdent. Ceci n'inclut pas les disques SCSI : ils sont
  slectionnables plus tard dans la configuration.

  Une question porte sur les gestionnaires de priphriques "old disk-
  only" et "new IDE". Vous devez choisir l'un des deux.  La principale
  diffrence est que le vieux gestionnaire de priphrique ne supporte
  qu'au plus deux disques sur une seule interface. Le nouveau
  gestionnaire gre une deuxime interface IDE et les disques CD-ROM
  IDE/ATAPI , et il est plus gros de 4 ko que l'ancien. Il est suppos
  "amlior" ce qui signifie qu' part avoir un nombre diffrent de
  bogues il peut amliorer les performances de votre disque, notamment
  si vous possdez du matriel rcent (comme de l'EIDE).


  33..33..33..  NNeettwwoorrkkiinngg ssuuppppoorrtt ((GGeenneerraall SSeettuupp))



  _(_G_e_s_t_i_o_n _d_u _R__s_e_a_u_) En principe, vous ne devriez rpondre "y" que si
  votre machine se trouve sur un rseau tel qu'Internet ou si vous
  voulez utiliser SLIP, PPP, term, etc. pour communiquer avec un accs
  Internet externe.  Toutefois, bon nombre de paquetages (tels que le
  systme X Window) ont besoin de ce support rseau mme si votre
  machine n'y est pas relie ; dans ce cas, rpondez "y".  Plus tard, on
  vous demandera si vous voulez avoir le support TCP/IP. De mme,
  rpondez "y",  moins que vous ne soyez sr de ce que vous faites.


  33..33..44..  SSyysstteemm VV IIPPCC ((GGeenneerraall SSeettuupp))



  L'une des meilleures dfinition des IPC (communication inter-
  processus) se trouve dans le glossaire du livre de Perl. Ces
  mcanismes sont utiliss par certains dveloppeurs Perl et quelques
  autres paquetages (comme par exemple DOOM), donc ce n'est pas vraiment
  une bonne ide de rpondre "n"  cette question  moins que vous ne
  sachiez exactement ce que vous faites.


  33..33..55..  PPrroocceessssoorr ffaammiillyy ((PPrroocceessssoorr ttyyppee aanndd ffeeaattuurreess))


  _(_F_a_m_i_l_l_e _d_e _p_r_o_c_e_s_s_e_u_r_) Dans les anciens noyaux, il s'agissait de
  l'option Use -m486 flag for 486-specific optimizations.

  Cette option slectionnait certaines optimisations pour un type de
  processeur, le noyau fonctionnant normalement avec les autres
  processeurs. Le noyau gnr avait toutefois une taille lgrement
  suprieure. Dans les nouveaux noyaux, cette diffrence de taille n'est
  plus d'actualit donc vous pouvez indiquer le processeur que vous
  allez utiliser avec le nouveau noyau. Un noyau "386" fonctionnera avec
  toutes les machines.


  33..33..66..  SSCCSSII ssuuppppoorrtt


   _(_G_e_s_t_i_o_n _S_C_S_I_) Si vous avez au moins un priphrique SCSI, rpondez
  "y".  On vous demandera alors de plus amples renseignements sur la
  gestion des CD-ROM, des disques, et quel type de contrleur SCSI vous
  possdez. Consultez le SCSI-HOWTO pour plus de dtails.


  33..33..77..  NNeettwwoorrkk ddeevviiccee ssuuppppoorrtt


  _(_G_e_s_t_i_o_n _d_e _p__r_i_p_h__r_i_q_u_e_s _r__s_e_a_u_) Si vous avez une carte rseau, ou si
  vous voulez utiliser SLIP, PPP, ou un adaptateur sur port parallle,
  rpondez "y".  Le script de configuration vous demandera alors quel
  type de carte vous possdez et quels protocoles vous voulez inclure.


  33..33..88..  FFiilleessyysstteemmss


  _(_S_y_s_t__m_e_s _d_e _f_i_c_h_i_e_r_s_) On vous demandera quels types de systmes de
  fichiers vous souhaitez grer :

  Standard (minix) - Les distributions rcentes ne crent pas de
  systmes de fichiers de type minix, et bon nombre de personnes ne s'en
  servent pas, mais cela peut tre malgr tout une bonne ide de le
  configurer. Quelques programmes de "sauvetage de disques" l'utilisent,
  et encore aujourd'hui, un bon nombre de disquettes risquent d'avoir ce
  systme de fichiers, car il est assez pratique pour les disquettes.

  Second extended - C'est le systme de fichiers standard de Linux. Vous
  en aurez trs certainement besoin, donc "y".  (NdT : et puis c'est un
  Franais qui l'a fait alors... !)

  msdos - Si vous voulez utiliser les partitions de votre disque MS-DOS,
  ou monter des disquettes au format MS-DOS, rpondez "y".

  Des systmes de fichiers originaires d'autres systmes d'exploitation
  sont galement disponibles.

  /proc - Un des systmes de fichiers les plus puissants (ide
  effrontment chipe aux Laboratoires Bell, je pense). a n'a rien 
  voir avec vos partitions disques, mais c'est une interface sous forme
  de systme de fichiers avec le noyau et les processus. Un grand nombre
  d'outils de visualisation de processus (comme "ps") l'utilisent. Si
  vous l'avez install, essayez "cat /proc/meminfo" ou "cat
  /proc/devices".  Quelques shells (comme rc) utilisent /proc/self/fd
  (connu comme /dev/fd sur d'autres systmes) pour les entres/sorties.
  Vous devriez rpondre "y"  ceci : de nombreux programmes Linux
  standards en ont besoin.

  NFS - Si vous tes en rseau et que vous voulez utiliser des volumes
  prsents sur d'autres machines, rpondez "y".

  ISO9660 - Format rencontr sur la plupart des CD-ROM. Si vous possdez
  un CD-ROM et que vous comptez vous en servir sous Linux, rpondez "y".


  33..33..88..11..  MMaaiiss jjee nnee ssaaiiss ppaass ddee qquueellss ssyyssttmmeess ddee ffiicchhiieerrss jj''aaii
  bbeessooiinn !!


  Bon, tapez "mount", cela va vous afficher un truc comme a :



               blah# mount
               /dev/hda1 on / type ext2 (defaults)
               /dev/hda3 on /usr type ext2 (defaults)
               none on /proc type proc (defaults)
               /dev/fd0 on /mnt type msdos (defaults)




  Observez chacune des lignes. Le mot  ct de "type" est le type du
  systme de fichiers. Dans cet exemple, mes partitions / et /usr sont
  du type ext2fs, j'utilise /proc, et il y a une disquette monte avec
  le systme de fichiers MS-DOS (beuurrrk !).

  Essayez "cat /proc/filesystems" si vous avez /proc. Cela vous donnera
  la liste des systmes de fichiers que votre noyau gre.

  Le support de systmes de fichiers rarement utiliss et qui ne sont
  pas absolument ncessaires peut augmenter la taille du noyau. Voir la
  section sur les modules chargeables pour rsoudre ce problme, ainsi
  que la section sur les piges.


  33..33..99..  CChhaarraacctteerr ddeevviicceess


  _(_P__r_i_p_h__r_i_q_u_e_s _c_a_r_a_c_t__r_e_) Vous trouverez ici les pilotes pour grer
  votre imprimante parallle, souris bus, souris PS/2 (beaucoup de
  portables utilisent une souris constructeur de type PS/2), quelques
  lecteurs de bande et d'autres priphriques de type "caractre".
  Rpondez en consquence.

  Note : "gpm" est un programme qui vous permet d'utiliser la souris 
  l'extrieur de X Window pour effectuer des oprations de copier-coller
  entre les consoles virtuelles. C'est assez utile si vous avez une
  souris srie, car cela coexiste bien avec X Window, mais vous devrez
  faire quelques trucs pour que cela fonctionne avec les autres.


  33..33..1100..  SSoouunndd


  _(_S_o_n_) Si vous tenez  entendre biff aboyer, rpondez "y", puis donnez
  au programme de configuration tout ce qu'il veut savoir sur votre
  carte son.  propos : lorsqu'il vous demande si vous voulez installer
  la version entire du pilote, vous pouvez rpondre `n' et donc
  conomiser de la mmoire en insrant uniquement les caractristiques
  dont vous avez besoin.

  Si vous vous intressez de prs au support des cartes son, jetez un
  oeil sur les pilotes libres   <http://www.linux.org.uk/OSS/> et au
  Open Sound System (commercial)   <http://www.opensound.com/>.


  33..33..1111..  AAuuttrreess ooppttiioonnss ddee ccoonnffiigguurraattiioonn


  Toutes les options de configuration ne sont pas dtailles dans ce
  document car elles changent trop souvent ou bien sont vraiment
  videntes (par exemple, le support de la carte 3Com 3C509 permet la
  compilation du pilote de cette carte). L'aide en ligne fournit une
  liste assez complte de ces options (plus une manire de les insrer
  dans le script Configure) mise  jour par Axel Boldt
  (boldt@math.ucsb.edu). La liste est dans le fichier
  Documentation/Configure.help des sources du noyau depuis la version
  2.0.


  33..33..1122..  KKeerrnneell hhaacckkiinngg


  Extrait du README de Linus :

  La configuration "kernel hacking" provoque gnralement un noyau plus
  gros ou plus lent (ou les deux), et peut mme rendre le noyau moins
  stable en configurant quelques routines pour essayer de chercher les
  dfauts du code, pour trouver les problmes du noyau (kmalloc()).
  Donc, vous devrez rpondre "n"  cette question si vous crez un noyau
  pour un systme sr.


  33..44..  GGaarroonn,, llaa ssuuiittee !! ((LLee MMaakkeeffiillee))


  Quand la configuration est termine, un message vous indique que le
  noyau est configur, et qu'il faut "regarder le Makefile gnral pour
  des configurations supplmentaires", etc.

  Donc, jetez un coup d'oeil au Makefile. Vous ne changerez probablement
  rien, mais a ne peut pas vous faire de mal ! Vous pourrez galement
  changer les options avec la commande "rdev" quand le noyau sera prt.
  Si vous ne comprenez rien  ce fichier, passez  la suite.


  44..  CCoommppiilleerr llee nnooyyaauu



  44..11..  NNeettttooyyeerr eett cchheerrcchheerr lleess ddppeennddaanncceess


  Lorsque le script de configuration va se terminer, il vous demandera
  de faire un "make dep" et (peut-tre) "make clean". "make dep" assure
  que toutes les dpendances, comme les fichiers d'en-ttes (include)
  sont en place, et ne prend pas trop de temps  moins que vous n'ayez
  une machine trs lente. Pour les anciennes versions, lorsque c'est
  termin faites un "make clean".  Cela dtruit tous les fichiers objets
  et d'autres fichiers que les anciennes versions laissent trainer.
  _N_'_o_u_b_l_i_e_z _p_a_s cette tape avant de recompiler un noyau.


  44..22..  LLaa ccoommppiillaattiioonn


  Aprs avoir cherch les dpendances et nettoy l'arborescence, vous
  pouvez lancer la compilation par "make bzImage" ou "make bzdisk"
  (c'est cette partie qui prend du temps).  "make bzImage" va compiler
  le noyau, et crer le fichier "bzImage" dans le rpertoire
  arch/i386/boot qui correspond au nouveau noyau compress.  "make
  bzdisk" fait la mme chose, mais copie le noyau sur une disquette que
  vous aurez insre dans le lecteur "A:".

  "bzdisk" est assez commode pour tester de nouveaux noyaux ; s'il ne
  fonctionne pas, enlevez juste la disquette et relancez la machine avec
  votre ancien noyau. C'est galement une mthode pratique si vous avez
  dtruit accidentellement votre noyau (ou quelque chose de ce genre).
  Vous pouvez galement vous en servir pour installer de nouveaux
  systmes, en copiant directement le contenu d'un disque sur un autre
  ("tout a ? ouah !").

  Tous les noyaux assez rcents sont compresss, comme l'indique le "bz"
  au dbut des noms. Un noyau compress est automatiquement dcompact
  lors de l'excution.

  Pour les noyaux plus anciens, bzImage n'existait pas et on utilisait
  zImage. Cette possibilit est toujours disponible mais vue la taille
  des noyaux rcents il est  peu prs obligatoire d'utiliser bzImage
  car l'ancienne mthode ne peut grer que des noyaux de taille limite.


  44..33..  LLeess aauuttrreess ooppttiioonnss dduu""mmaakkee""


  "make mrproper" est un "make clean" plus puissant. Cela est parfois
  ncessaire, vous devriez le faire  chaque patch. Il efface galement
  votre fichier de configuration donc il faudra ventuellement en faire
  une copie avant (.config).

  "make oldconfig" essaiera de configurer le noyau  partir d'un vieux
  fichier de configation, il choisira toutes les options de "make
  config" pour vous. Si c'est la premire fois que vous compilez un
  noyau ou si vous n'avez pas un ancien fichier de configuration
  n'utilisez pas ceci, vous devrez sans doute changer la configuration
  par dfaut.

  Regardez la section sur les modules  propos du "make modules".




  44..44..  IInnssttaalllleerr llee nnooyyaauu


  Une fois que vous avez un nouveau noyau qui semble fonctionner comme
  vous le voulez, il est grand temps de l'installer. La plupart des gens
  utilisent LILO (LInux LOader).  "make zlilo" installera votre noyau,
  lancera LILO, et laissera votre machine prte  rebooter, mais
  SEULEMENT si lilo est configur de la manire suivante : le noyau
  s'appelle /vmlinuz, lilo se trouve dans /sbin, et votre fichier de
  configuration pour LILO (/etc/lilo.conf) correspond  ces donnes.

  Sinon, vous devrez utiliser LILO directement.  C'est un produit assez
  facile  installer, mais dont le fichier de configuration peut tre
  droutant. Regardez le fichier de configuration (/etc/lilo/config pour
  les versions les plus anciennes, /etc/lilo.conf pour les rcentes), et
  regardez son contenu.  Le fichier de configuration doit ressembler 
  ceci :


      image = /vmlinux
          label = Linux
          root = /dev/hda1
          ...



  La ligne "image =" sert  indiquer le nom du noyau utilis.  Beaucoup
  de gens utilisent /vmlinuz.  "label" servira  indiquer  LILO sur
  quel noyau ou sur quel systme d'exploitation vous allez booter (nom
  logique), et "root" est la partition racine de ce systme
  d'expoitation.  Faites une sauvegarde de votre vieux noyau (quel que
  soit son nom), et copiez le nouveau noyau (bzImage)  sa place : "cp
  bzImage /vmlinuz" si vous utilisez "/vmlinuz", puis relancez lilo. Sur
  les systmes rcents, vous pouvez simplement lancer "lilo", mais sur
  de plus anciens, vous devez faire un /etc/lilo/install ou
  /etc/lilo/lilo -C /etc/lilo/config.

  Si vous dsirez en savoir plus sur la configuration de LILO, ou si
  vous voulez avoir LILO, rcuprez la dernire version sur votre site
  FTP favori et suivez les instructions.

  Pour booter sur l'un de vos anciens noyaux situs sur votre disque dur
  (une autre mthode de secours quand le noyau plante), copiez les
  lignes suivantes "image = xxx"  la fin du fichier de configuration
  LILO, et changez "image = xxx" par "image = yyy", o "yyy" est le
  chemin complet du noyau de secours. Puis changez "label = zzz" en
  "label = linux-sauvegarde" et relancez lilo.  Si elle n'y est pas,
  vous devrez rajouter une ligne dans le fichier de configuration
  indiquant "delay=x", o x est le temps en dixime de secondes qui
  indique  LILO le temps qu'il doit attendre avant d'amorcer la
  machine.  Vous pouvez l'interrompre (avec la touche shift par
  exemple), et taper le label de l'image du noyau de sauvegarde (au cas
  o un problme se produit).



  55..  MMeettttrree  jjoouurr llee nnooyyaauu



  55..11..  AApppplliiqquueerr uunn ppaattcchh


  Les nouvelles versions du noyau sont distribues sous la forme de
  patches.  Par exemple, si vous possdez la version 1.1.45, et que vous
  remarquez qu'il existe un "patch46.gz", cela signifie que vous pouvez
  passer  la version 1.1.46 en appliquant ce patch. Vous devriez faire
  avant une sauvegarde de votre arborescence des sources du noyau ("make
  clean" puis "cd /usr/src; tar zcf old-tree.tar.gz linux" va produire
  une archive compresse).

  Poursuivons avec cet exemple et supposons que vous ayez mis le fichier
  "patch46.gz" dans /usr/src. Allez dans /usr/src et faites un "zcat
  patch46.gz | patch -p0" (ou "patch -p0 < patch46" si le patch n'est
  pas compress).  Vous verrez alors une liste de messages vous
  indiquant les essais de modifications. Cela marche ou pas (en principe
  oui !).  Gnralement, cela va trop vite pour lire, et on ne sait pas
  trop si a a march. Vous pouvez utiliser l'option -s de patch qui lui
  indique qu'il ne doit afficher que les erreurs (vous n'avez pas grand
  chose  faire des "hh, mon ordinateur est en train de faire quelque
  chose...!").  Pour vrifier que tout s'est pass sans encombre, allez
  dans /usr/src/linux et cherchez les fichiers ayant pour extension
  .rej. Quelques versions de patch (vieilles versions) utilisent # pour
  les fichiers rejets. Vous pouvez utiliser "find" pour les trouver :

          find .  -name '*.rej' -print


  vous en donnera la liste avec le chemin pour y accder.

  Si tout a march, faites un "make clean", "config," et "dep" comme
  dcrit dans les sections 3 et 4.

  La commande patch possde quelques options.  Comme indiqu ci-dessus,
  patch -s supprime tous les messages sauf les erreurs. Si vous stockez
  les sources de votre noyau dans un autre rpertoire que
  /usr/src/linux, un patch -p1 dans ce rpertoire fera les choses
  proprement. Les autres options sont bien documentes dans les pages de
  manuel.


  55..22..  SSii qquueellqquuee cchhoossee nnee ffoonnccttiioonnnnee ppaass


  (Note : cette section traite plutt des noyaux assez anciens)

  Le problme le plus frquent qui se prsentait tait lorsqu'un patch
  modifiait le fichier "config.in" et que vous aviez chang les options
  pour mieux coller  votre machine.  En principe, a ne devrait plus
  trop se produire, mais avec les anciennes versions... Pour rsoudre ce
  problme, jetez un coup d'oeil au fichier config.in.rej et regardez
  son contenu.  Le changement sera indiqu par "+" et "-" au dbut d'une
  ligne. Regardez ces lignes et retenez si elles sont marques "y" ou
  "n". Maintenant, ditez config.in, et changez les "y" en "n" et les
  "n" en "y" lorsque cela est ncessaire. Faites un

          patch -p0 < config.in.rej


  et si cela fonctionne ("no fails"), alors vous pouvez continuer avec
  la configuration et la compilation. Le fichier config.in.rej restera,
  mais vous pouvez le dtruire.

  Si vous avez d'autres problmes, vous avez peut-tre install un patch
  dfectueux.  Si la commande patch indique "previously applied patch
  detected: Assume -R?", vous tes probablement en train d'appliquer un
  patch dj appliqu.  Si vous rpondez "y", cela risque de dtruire
  votre source et il vous faudra rcuprer un source complet (vous
  auriez peut-tre d commencer par l).

  Pour revenir en arrire (dpatcher), faites un "patch -R" sur le patch
  original.
  La meilleure chose  faire lorsqu'un patch dtruit tout est de
  repartir d'un noyau initial tout neuf ! (par exemple,  partir du
  fichier linux-x.y.z.tar.gz).


  55..33..  CCoommmmeenntt ssee ddbbaarraasssseerr ddeess ffiicchhiieerrss ..oorriigg ??



  Aprs avoir appliqu quelques patches, les fichiers .orig vont
  commencer  s'empiler. Par exemple, j'en tais  la version 1.1.51 et
  la dernire fois que j'avais fait le mnage, c'tait avec la version
  1.1.48 (je crois...). Dtruire les fichiers .orig a permis de
  rcuprer plus d'un demi Mga octets.

          find .  -name '*.orig' -exec rm -f {} ';'


  fera cela pour vous. Quelques versions de patch qui utilisent # pour
  les rejets utilisent un tilde  la place de .orig.

  Il y a d'autres manires (meilleures ?) pour se dbarrasser des
  fichiers .orig en utilisant le programme GNU xargs :

          find .  -name '*.orig' | xargs rm


  ou la mthode sre mais un peu plus verbeuse :

          find . -name '*.orig' -print0 | xargs --null rm --




  55..44..  AAuuttrreess ppaattcchheess


  Il y a d'autres patches (je les appellerai "non-standards") que ceux
  distribus par Linus. Si vous les appliquez, les patches Linus
  risquent de ne plus marcher correctement et vous serez oblig soit de
  les enlever, soit d'adapter les patches. C'est gnralement un travail
  assez pnible pour les novices, aussi revenir aux anciennes sources
  avant d'appliquer les patches de LLiinnuuxx semble tre une bonne solution.
  Aprs, vous pouvez regarder si les patches non standards fonctionnent.
  S'ils ne fonctionnent pas, vous pouvez revenir  l'ancienne version,
  ou essayer de modifier le patch pour le faire fonctionner, ou encore
  attendre qu'un nouveau patch arrive.

  Vous entendrez probablement parler de ces patches non standards.
  J'utilisais le patch "noblink" car j'ai horreur des curseurs qui
  clignotent (ce patch est (ou bien tait) mis  jour frquemment pour
  les nouveaux noyaux). Les pilotes de priphriques tant de plus
  dvelopps sous la forme de modules chargeables, le nombre de patches
  "non standards" dcrot.



  66..  PPaaqquueettaaggeess ssuuppppllmmeennttaaiirreess


  Votre noyau Linux a bon nombre de caractristiques qui ne sont pas
  expliques dans le noyau lui-mme ; elles sont typiquement utilises
  par des paquetages externes.  Une liste des plus utiles est donne
  ici.


  66..11..  kkbbdd


  La console de Linux possde de nombreuses caractristiques. Elle peut
  changer les polices de caractres, remapper le clavier, permuter les
  modes vidos (dans les noyaux les plus rcents), etc. Le package kbd
  possde des programmes qui permettent  l'utilisateur de faire tout
  cela, plus une tonne de fontes et de types de claviers. (NdT : fr.map
  pour le clavier franais). Il est disponible sur les mmes sites qui
  proposent les sources du noyau.


  66..22..  uuttiill--lliinnuuxx


  Rik Faith (faith@cs.unc.edu) a rassembl une grande quantit d'outils
  Linux dans le paquetage util-linux. Ils est dsormais maintenu par
  Andries Brouwer (util-linux@math.uio.no). Disponible via ftp anonyme
  sur sunsite.unc.edu dans /pub/Linux/system/misc, il contient des
  programmes tels que setterm, rdev, et ctrlaltdel, qui concernent le
  noyau. Comme le dit Rik, _n_'_i_n_s_t_a_l_l_e_z _p_a_s _s_a_n_s _r__f_l__c_h_i_r, vous n'avez
  pas besoin de tout installer dans la distribution, et cela pourrait
  vous causer de graves ennuis.


  66..33..  hhddppaarrmm


  Comme beaucoup de paquetages, c'tait au dpart un patch pour le noyau
  et un ensemble de programmes. Le patch a t intgr dans le noyau
  standard et les programmes pour optimiser et jouer avec vos disques
  sont distribus sparment.


  66..44..  ggppmm



  gpm est un gestionnaire de souris. Ce programme vous permet
  d'effectuer du couper-coller en mode texte entre les consoles
  virtuelles ainsi que d'autres oprations avec un grand nombre de types
  de souris.



  77..  QQuueellqquueess ppiiggeess



  77..11..  mmaakkee cclleeaann


  Si votre noyau a un comportement surnaturel (a m'est arriv !), il y
  a des chances pour que vous ayez oubli de faire un "make clean".  Les
  symptmes peuvent tre un plantage de votre systme, des problmes
  d'entres-sorties tranges, une chute des performances, des reboot
  alatoires... Vrifiez que vous avez galement fait un make dep.


  77..22..  NNooyyaauuxx nnoorrmmeess oouu lleennttss


  Si votre noyau consomme beaucoup de mmoire, ou s'il est rellement
  gros, ou bien s'il faut une ternit pour le compiler mme lorsque
  vous utilisez votre nouveau 986DX6/440, c'est que vous avez configur
  un tas de choses (pilotes de priphriques, systmes de fichiers) dont
  vous n'avez pas besoin.  Si vous ne les utilisez pas, ne les
  configurez pas car cela prend beaucoup de place en mmoire.  Le
  symptme le plus visible est l'augmentation sensible du fonctionnement
  du swap. Si votre disque fait beaucoup de bruit, et qu'il ne s'agit
  pas d'un de ces vieux disques Fujitsu Eagles qui font le bruit d'un
  avion lors de son atterrissage lorsque vous l'teignez, jetez un coup
  d'oeil  votre configuration.

  Vous pouvez calculer la taille mmoire que le noyau utilise en prenant
  la mmoire totale de votre machine et en soustrayant la valeur de la
  mmoire totale ("total mem") dans  /proc/meminfo ou bien avec la
  commande "free".


  77..33..  ppaass LLee ppoorrtt ppaarraallllllee nnee ffoonnccttiioonnnnee ppaass//mmoonn iimmpprriimmaannttee nnee ffoonncc
  ttiioonnnnee


  Les options de configuration pour les PC sont : premirement, dans la
  catgorie "General Setup" slectionnez "Parallel port support" et "PC-
  style hardware". Puis dans "Character devices", slectionnez "Parallel
  printer support".

  Il y a ensuite le problme des noms de priphrique des imprimantes
  qui ont chang dans Linux 2.2. Si vous aviez une imprimante lp1 avec
  votre noyau prcdent, elle s'appelle probablement lp0 maintenant.
  Utilisez "dmesg" ou cherchez dans les logs dans /var/log pour le
  vrifier.


  77..44..  LLee nnooyyaauu nnee ccoommppiillee ppaass


  Si cela ne compile pas, alors un patch a probablement chou, ou bien
  vous possdez des sources corrompus. Votre version de gcc peut
  galement ne pas tre correcte, ou bien endommage (par exemple les
  fichiers d'include peuvent tre faux). Soyez sr que les liens que
  Linus dcrit dans le fichier README sont corrects. En gnral, si un
  noyau standard ne compile pas, c'est qu'un truc ne tourne pas rond
  dans le systme, et il est plus que probable que certains outils
  doivent tre reinstalls.

  Dans des cas relativement rares, gcc peut chouer en raison de
  problmes de matriel. Le message d'erreur ressemble  un truc assez
  mystrieux "xxx exited with signal 15".  Je n'en n'aurais probablement
  pas parl si cela ne m'tait arriv une fois.  J'avais un cache
  mmoire dfectueux et le compilateur fonctionnait de manire plutt
  alatoire. Essayez dans un premier temps de reinstaller gcc si vous
  avez des problmes. Si votre noyau compile trs bien avec les caches
  externes vids ou une mmoire rduite, alors vous pourrez commencer 
  souponner votre matriel.

  Certaines personnes ont tendance  ne pas aimer que je mette en doute
  leur matriel. Je n'invente rien. Il existe une FAQ ddie  ce sujet
  :  <http://www.bitwizard.nl/sig11/> (NdT : traduite en franais 
  <http://www.linux-france.org/article/sig11-fr/sig11-fr.html>).


  77..55..  LLaa nnoouuvveellllee vveerrssiioonn dduu nnooyyaauu nnee bboooottee pplluuss !!


  Soit LILO ne fonctionne pas, soit il n'est pas configur correctement.
  Une fois, un problme dans le fichier de configuration m'a pos pas
  mal de soucis : j'avais mis "boot = /dev/hda1"  la place de "boot =
  /dev/hda" (ce genre d'erreurs n'est pas facile  trouver, mais une
  fois que vous avez un fichier de configuration qui fonctionne, il n'y
  a pas de raison d'y toucher).


  77..66..  ttoouutt VVoouuss aavveezz oouubbllii ddee llaanncceerr LLIILLOO,, oouu llee ssyyssttmmee nnee bboooottee
  pplluuss dduu


  Argh ! La meilleure chose  faire est de booter  partir d'une
  disquette et de prparer une nouvelle disquette de boot ("make zdisk"
  fait cela trs bien).  Vous avez besoin de savoir o votre partition
  racine (/) se trouve et quel est son type (ext2fs, minix, etc). Dans
  l'exemple ci-dessous, vous aurez galement besoin de connatre la
  partition des sources du noyau (/usr/src/linux), et o elle est
  monte.

  Dans cet exemple,la racine / est /dev/hda1, la partition qui supporte
  /usr/src/linux est /dev/hda3, normalement monte sur /usr. Toutes les
  deux ont un systme de fichiers de type ext2fs. L'image du noyau se
  trouve dans /usr/src/linux/arch/i386/boot/ et elle s'appelle bzImage.

  L'ide est que s'il existe un noyau bzImage qui fonctionne il est
  possible de l'utiliser pour la nouvelle disquette.  Une autre
  possibilit qui peut tre meilleure ou pas est prsente aprs cet
  exemple (cela dpend de la faon dont vous avez plant votre systme).

  Commencez par booter  partir d'une disquette d'installation
  (boot/root) ou d'une disquette de secours et montez la partition o se
  trouve le noyau en tat de marche :


          mkdir /mnt
          mount -t ext2 /dev/hda3 /mnt



  Si mkdir vous annonce que le rpertoire existe, ignorez le message.
  Maintenant, allez dans le rpertoire o se trouve le noyau en tat de
  marche.  Notez que

  /mnt + /usr/src/linux/arch/i386/boot - /usr = /mnt/src/linux/arch/i386/boot


  Insrez une disquette formate dans le lecteur "A:" (vrifiez qu'il ne
  s'agit pas de la disquette boot ou root !), faites une copie de
  l'image sur le disque et configurez votre partition racine :


  cd /mnt/src/linux/arch/i386/boot
  dd if=bzImage of=/dev/fd0
  rdev /dev/fd0 /dev/hda1



  Allez  la racine /, et dmontez la partition /usr :

  cd /
  umount /mnt



  Maintenant, vous devriez tre capable de rebooter votre systme
  normalement  partir de cette disquette. N'oubliez pas de lancer lilo
  (ou ce que vous aviez oubli) avant de rebooter !

  Comme mentionn ci-dessus, il y a une autre manire trs pratique.
  S'il se trouve que vous avez un noyau oprationnel dans / (/vmlinuz
  par exemple), on peut s'en servir. Supposons que vous remplissiez les
  conditions ci-dessus, et que votre noyau s'appelle /vmlinuz, faites
  comme ci-dessus en changeant /dev/hda3 en /dev/hda1 (la partition /),
  /mnt/src/linux en /mnt, et if=bzImage en if=vmlinuz.  La petite note
  expliquant comment aller dans /mnt/src/linux peut tre oublie.

  Utiliser LILO avec de gros disques (avec un nombre de cyclindres
  suprieur  1024) peut poser des problmes. Consultez le mini-Howto
  LILO ou la documentation.


  77..77..  IIll mmee ddiitt""wwaarrnniinngg:: bbddfflluusshh nnoott rruunnnniinngg""


  Cela peut tre un problme assez grave. Avec les noyaux ayant une
  version suprieure  1.0 (aux alentours du 20 avril 1994), le
  programme "update" qui vide priodiquement les tampons disque a t
  remplac par "bdflush". Rcuprez les sources de "bdflush" (vous
  pouvez les rcuprer l o vous avez trouv votre noyau), et compilez-
  le (il vaut mieux fonctionner avec un ancien noyau pendant la
  compilation et pendant l'installation). Il s'installera tout seul
  comme "update" et le nouveau noyau devrait ensuite fonctionner
  correctement.


  77..88..  JJee nn''aarrrriivvee ppaass  ffaaiirree mmaarrcchheerr mmoonn CCDD--RROOMM IIDDEE//AATTAAPPII


  Aussi trange que cela puisse paratre, beaucoup de gens n'arrivent
  pas  faire fonctionner leurs disques ATAPI, tout simplement parce
  qu'il y a un bon nombre de problmes potentiels.

  Si votre CD-ROM est le seul disque d'une interface IDE particulire il
  doit tre configur en "matre (master)" ou "seul (single)". C'est
  l'erreur la plus frquemment rencontre.

  Creative Labs (par exemple) a mis des interfaces IDE sur ses cartes
  sons.  Toutefois, cela pose un problme pour les gens qui ont dj
  deux interfaces IDE sur leur carte mre (IRQ15 gnralement). Une
  pratique commune est de faire de l'interface soundblaster un troisime
  port IDE (IRQ11 je pense).

  Cela pose un problme avec Linux car les versions 1.2.x ne supportent
  pas une troisime interface IDE (cela est gr avec les versions 1.3.x
  mais ce sont des versions de dveloppement, et la troisime interface
  n'est pas dtecte automatiquement). Pour rsoudre ce problme, vous
  avez plusieurs possibilits.

  Si avez dj un deuxime port IDE, il y a des chances pour que vous ne
  l'utilisiez pas ou qu'il n'ait pas deux priphriques connects.
  Dsactivez l'interface ATAPI de la carte son (vous conomisez un IRQ)
  et connectez le disque sur votre seconde interface.

  Si vous n'avez pas une seconde interface, mettez interface IDE (pas la
  partie son) de la carte son sur l'IRQ 15. Cela devrait fonctionner.


  77..99..  LLee nnooyyaauu mmee ddiitt ddeess iinnssaanniittss  pprrooppooss ddee rreeqquutteess oobbssoolltteess !!


  Rcuprez des versions rcentes du progamme route et de tous les
  autres programmes manipulant les routes : /usr/include/linux/route.h
  (qui est en fait un fichier dans /usr/src/linux) a chang.



  77..1100..  LLee FFiirreewwaallll nnee ffoonnccttiioonnnnee ppaass ddaannss llaa vveerrssiioonn 11..22..00


  Passez  la version 1.2.1.


  77..1111..  CCee nn''eesstt ppaass uunnee iimmaaggee nnooyyaauu ccoommpprreessssee !!


  N'utilisez pas le fichier vmlinux cr dans /usr/src/linux comme image
  de boot mais [..]/arch/i386/boot/bzImage.


  77..1122..  PPrroobbllmmeess aavveecc llaa ccoonnssoollee aapprrss mmiissee  jjoouurr  llaa vveerrssiioonn 11..33..xx


  Changez le mot dumb en linux dans l'entre console du fichier
  /etc/termcap. Il faudra peut-tre aussi ajouter une entre terminfo.


  77..1133..  LLee nnooyyaauu nnee sseemmbbllee ppaass ppoouuvvooiirr ccoommppiilleerr aapprrss uunnee mmiissee  jjoouurr


  Le source du noyau contient un certain nombre de fichiers d'en-ttes
  (les fichiers se terminant par .h) qui se trouvent dans le rpertoire
  /usr/include.  Ils sont rfrencs ainsi (o xyzzy.h doit tre dans
  /usr/include/linux) :

      #include <linux/xyzzy.h>


  Normalement, il y a un lien appel linux dans /usr/include sur le
  rpertoire include/linux de la racine des sources du noyau
  (/usr/src/linux/include/linux dans un systme standard).  Si ce lien
  n'existe pas, ou bien pointe au mauvais endroit, bon nombre de pro
  grammes ne compileront pas. Si vous dcidez que les sources du noyau
  prennent trop de place sur votre disque et que vous les dtruisez,
  cela sera un problme. Un autre problme qui peut arriver, c'est avec
  les permissions d'accs aux fichiers. Si votre root a un umask qui
  n'autorise pas les autres utilisateurs  voir ses fichiers par dfaut,
  et que vous dsarchiviez les sources du noyau sans l'option p (con
  serve le mode), les utilisateurs ne pourront pas utiliser le compila
  teur C. Vous pouvez alors utiliser la commande chmod pour rsoudre le
  problme mais il est probablement plus facile de rinstaller les
  fichiers include.  Vous pouvez procder de la mme manire que lors de
  l'installation des sources au dbut, en ajoutant un argument pour
  n'extraire que les includes :

      blah# tar zxvpf linux.x.y.z.tar.gz linux/include


  Notez que "make config" va recrer le lien /usr/src/linux s'il
  n'existe pas.


  77..1144..  AAuuggmmeenntteerr lleess lliimmiitteess


  Ces quelques _e_x_e_m_p_l_e_s de commandes peuvent tre assez utiles  ceux
  qui se demandent comment augmenter certaines limites logicielles
  imposes par le noyau :

   echo 4096 > /proc/sys/kernel/file-max
   echo 12288 > /proc/sys/kernel/inode-max
   echo 300 400 500 > /proc/sys/vm/freepages

  88..  NNoottee ccoonncceerrnnaanntt llaa mmiissee  jjoouurr ppoouurr lleess nnooyyaauuxx 22..00..xx,, 22..22..xx


  Les noyaux 2.0.x et 2.2.x ont introduit pas mal de modifications dans
  l'installation du noyau. Le fichier Documentation/Changes situ dans
  l'arborescence des sources 2.0.x contient des informations que vous
  devez connatre lorsque vous effectuez la mise  jour de votre
  systme. Il est fort probable que vous deviez mettre  jour plusieurs
  paquetages tels que gcc, libc et SysVInit ainsi que quelques fichiers
  systmes. Mais ne paniquez pas !



  99..  MMoodduulleess


  Les modules chargeables du noyau peuvent faire conomiser de la
  mmoire et faciliter la configuration. L'utilisation des modules s'est
  accrue jusqu' inclure les systmes de fichiers, les pilotes de cartes
  ethernet, de lecteurs de cartouches, d'imprimantes, etc.


  99..11..  IInnssttaalllleerr lleess uuttiilliittaaiirreess ppoouurr ggrreerr lleess mmoodduulleess


  Ces utilitaires sont disponibles sur n'importe quel site o vous avez
  rcupr les sources du noyau : modutils-x.y.z.tar.gz; choisissez la
  dernire version x.y.z qui est gale ou infrieure  votre version du
  noyau.  Installez-le avec `tar zxvf modutils-x.y.z.tar.gz', cd dans le
  rpertoire cr (modutils-x.y.z), regardez le fichier README, et
  suivez les instructions d'installation (qui sont en gnral trs
  simples, du genre, faites make install).  Vous devriez avoir
  maintenant les programmes insmod, rmmod, ksyms, lsmod, genksyms,
  modprobe, et depmod dans /sbin. Vous pouvez les tester avec le pilote
  exemple "hw" dans insmod ; regardez le fichier INSTALL dans ce sous-
  rpertoire pour les dtails.

  insmod insre un module dans le noyau en cours d'excution.  Les
  modules ont gnralement une extension .o.  Le pilote exemple est
  appel drv_hello.o, donc, pour l'insrer, insmod drv_hello.o'. Pour
  voir les modules que le noyau utilise actuellement, lancer lsmod.  Il
  devrait alors afficher :

  blah# lsmod
  Module:        #pages:  Used by:
  drv_hello          1


  `drv_hello' est le nom du module, il utilise une page mmoire (4ko),
  et aucun autre module du noyau ne dpend actuellement de lui. Pour le
  retirer, lancez `rmmod drv_hello'. Notez que rmmod prend comme argu
  ment _l_e _n_o_m _d_u _m_o_d_u_l_e_, (celui donn par lsmod) pas un nom de fichier.
  Les autres programmes de gestion des modules sont documents (pages de
  manuel).


  99..22..  MMoodduulleess ddiissttrriibbuuss aavveecc llee nnooyyaauu


  Avec la version 2.0.30, presque tout est disponible sous forme de
  modules chargeables. Pour les utiliser, soyez sr que vous ne les
  insrez pas dans la configuration du noyau. Pour cela, ne rpondez pas
  y pendant le `make config'.

  Compilez un nouveau noyau et bootez avec. Puis, cd dans /usr/src/linux
   nouveau, et faites un `make modules'.  Cela va compiler tous les
  modules que vous n'avez pas spcifis dans le noyau et installer les
  liens dans /usr/src/linux/modules.  Vous pouvez alors les utiliser
  depuis ce rpertoire ou faire `make modules_install' qui les
  installera dans /lib/modules/x.y.z, ou x.y.z est le numro de version
  du noyau.

  Cela peut tre particulirement utile pour les systmes de fichiers.
  Vous n'utilisez peut-tre pas frquemment les systmes de fichiers
  minix ou msdos. Par exemple, si je rencontre une disquette msdos
  (beuh), je devrai faire un insmod /usr/src/linux/modules/msdos.o, puis
  rmmod msdos lorsque j'aurai termin, Cette faon de procder conomise
  prs de 50 ko de RAM dans l'utilisation du noyau.  Remarque sur le
  systme de fichiers minix : il est trs fortement conseill de
  _t_o_u_j_o_u_r_s le configurer directement dans le noyau pour l'utilisation en
  disques de secours.



  1100..  TTrruuccss eett aassttuucceess



  1100..11..  RReeddiirriiggeerr llaa ssoorrttiiee ssttaannddaarrdd ddeess ccoommmmaannddeess mmaakkee oouu ppaattcchh


  Si vous voulez voir ce que font les commandes "make" ou "patch", vous
  pouvez rediriger les messages. Regardez d'abord quel shell vous
  utilisez.  "grep root /etc/passwd" et cherchez quelque chose comme
  "/bin/csh".

  Si vous utilisez sh ou bash,

          (commande) 2>&1 | tee  (Fichier de sortie)


  placera une copie de la sortie dans le fichier (Fichier de sortie).

  Pour csh ou tcsh, la syntaxe est :

  (commande) |& tee (Fichier de sortie).



  Pour rc (note : vous n'utilisez probablement pas rc) c'est :

          (commande) > [2=1]| tee (Fichier de sortie).




  1100..22..  IInnssttaallllaattiioonnss ddiivveerrsseess dduu nnooyyaauu


  En plus des disquettes, d'autres mthodes existent pour tester un
  nouveau noyau sans dtruire les prcdents.  la diffrence d'autres
  systmes Unix, LILO est capable de booter sur un noyau situ n'importe
  o sur le disque (si vous avez un gros disque (500 Mo ou plus) lisez
  la documentation de LILO car cela risque de poser quelques problmes).
  Donc, ajoutez cela :

      image = /usr/src/linux/arch/i386/boot/bzImage
      label = nouveau_noyau




   la fin de votre fichier de configuration LILO, vous pouvez alors
  choisir de booter sur le nouveau noyau sans avoir  dtruire l'ancien
  /vmlinuz (aprs avoir lanc lilo, bien sr).  La manire la plus
  simple d'indiquer  LILO qu'il doit booter sur un nouveau noyau est de
  presser la touche shift au boot (lorsqu'il vous indique LILO) ce qui
  vous donne un prompt.   ce moment, tapez `nouveau_noyau' pour qu'il
  boote sur le nouveau noyau.

  Si vous dsirez conserver plusieurs sources du noyau (cela peut
  prendre _b_e_a_u_c_o_u_p de place ; faites attention), la manire la plus
  simple est de le nommer : /usr/src/linux-x.y.z, ou x.y.z est la
  version du noyau.  Vous pouvez alors choisir le source  utiliser en
  faisant un lien symbolique ; par exemple, `ln -sf linux-1.2.2
  /usr/src/linux' indiquera la version 1.2.2 comme version courante.
  Avant de crer ce type de lien symbolique, soyez certain que le
  dernier argument de ln n'est pas un rpertoire existant.  Le rsultat
  ne serait pas celui que vous espriez.


  1100..33..  MMiisseess  jjoouurr ddeess nnooyyaauuxx


  Russell Nelson (nelson@crynwr.com) fait des rsums des changements
  dans les nouvelles versions du noyau. Ils sont courts et vous devriez
  les regarder avant de raliser la mise  jour. Ils sont disponibles
  par ftp anonyme  ftp.emlist.com dans pub/kchanges ou via WEB
  <http://www.crynwr.com/kchanges>.



  1111..  DD''aauuttrreess HHOOWWTTOO qquuii ppeeuuvveenntt ttrree uuttiilleess



    Sound-HOWTO : cartes sons et utilitaires

    SCSI-HOWTO : tout sur les contrleurs et priphriques SCSI

    NET-2-HOWTO : rseaux

    PPP-HOWTO : rseau avec PPP

    PCMCIA-HOWTO :  propos des pilotes pour votre portable

    ELF-HOWTO : ELF : qu'est-ce que c'est, installation, etc

    Hardware-HOWTO : survol du matriel support

    Module mini-HOWTO : plus de dtails sur les modules du noyau

    Kerneld mini-HOWTO : ddi  kerneld

    BogoMips mini-HOWTO : pour information



  1122..  DDiivveerrss



  1122..11..  AAuutteeuurr


  L'auteur du Kernel-HOWTO Linux est Brian Ward (bri@cs.uchicago.edu).
  S'il vous plat, envoyez-moi des commentaires, corrections, rajouts.
  Les corrections sont en particulier trs importantes.
  Vous pouvez jeter un coup d'oeil  ma page web ici
  <http://www.math.psu.edu/bri/> ou l <http://blah.math.tu-
  graz.ac.at/~bri/>.

  Bien que j'essaye d'tre attentif  mon courrier, rappelez-vous que
  j'en ai _b_e_a_u_c_o_u_p tous les jours, donc a peut prendre un petit peu de
  temps pour vous rpondre. Si le mail est une question, essayez d'tre
  le plus clair et dtaill possible. Si vous m'crivez  propos de
  matriel qui ne fonctionne pas (ou quelques chose du genre), j'ai
  besoin de savoir quelle est votre configuration matrielle. Si vous
  reportez une erreur, ne vous limitez pas  "J'ai essay ceci et a n'a
  pas march", j'ai besoin de savoir quelle tait l'erreur, et quelles
  versions du noyau, de gcc et de la libc vous utilisez. Me donner le
  nom de la distribution n'est pas suffisant. Ne craignez pas de poser
  des questions simples, si vous ne demandez pas vous n'aurez pas de
  rponse ! Merci  tous ceux qui m'ont envoy des commentaires.

  Si votre question ne concerne pas le noyau ou est crite dans un
  langage que je ne comprends pas, il se peut que je ne rponde pas.

  Si vous m'crivez et que vous n'obtenez aucune rponse dans un temps
  raisonable (trois semaines ou plus), il y a des chances que j'ai
  accidentellement dtruit votre message (dsol). Rssayez.

  J'ai beaucoup de mail sur des problmes et questions de matriel. Ce
  n'est pas un problme mais merci de noter que que je ne suis pas
  familier avec tout le matriel du monde. J'utilise des processeurs
  AMD, des controlleurs SCSI Adaptec et Symbios et des disques SCSI IBM.

  La version 0.1 de ce document a t crite le 3 octobre 1994. Il est
  disponible aux formats SGML, PostScript, TeX, roff et texte.


  1122..22..  RReessttee  ffaaiirree


  Le paragraphe "Trucs et astuces" est un peu court. J'espre l'toffer
  avec les suggestions venant d'autres personnes.  De mme pour "Autres
  paquetages". Des informations supplmentaires pour le
  dbogage/sauvetage lors de crash seraient les bienvenues.


  1122..33..  CCoonnttrriibbuuttiioonnss


  Une petite partie du README de Linus (cf. option kernel hacking ) est
  incluse.  (Merci, Linus !)

    uc@brian.lunetix.de (Ulrich Callmeier) : patch -s et xargs.

    quinlan@yggdrasil.com (Daniel Quinlan) : corrections et complments
     dans un bon nombre de paragraphes.

    nat@nataa.frmug.eu.org (Nat Makarvitch) : mrproper, tar -p, et
     plein d'autres choses

    boldt@math.ucsb.edu (Axel Boldt) : a rassembl les descriptions des
     options de configuration du noyau et m'a fourni la liste

    lembark@wrkhors.psyber.com (Steve Lembark) : suggestion pour le
     boot multiple.

    kbriggs@earwax.pd.uwa.edu.au (Keith Briggs) : quelques corrections
     et suggestions


    rmcguire@freenet.columbus.oh.us (Ryan McGuire): ajouts au niveau
     des options de compilation

    Eric.Dumas@freenix.fr (Eric Dumas) : traduction franaise

    simazaki@ab11.yamanashi.ac.jp (Yasutada Shimazaki): traduction
     japonaise

    jjamor@lml.ls.fi.upm.es (Juan Jose Amor Iglesias): traduction
     espagnole

    mva@sbbs.se (Martin Wahlen) : traduction sudoise

    jzp1218@stud.u-szeged.hu (Zoltan Vamosi) : traduction hongroise

    bart@mat.uni.torun.pl (Bartosz Maruszewski) : traduction polonaise

    donahue@tiber.nist.gov (Michael J Donahue) : typos, gagnant de la
     "comptition du pain en tranches"

    rms@gnu.ai.mit.edu (Richard Stallman) : notice de
     distribution/concept de documentation libre

    dak@Pool.Informatik.RWTH-Aachen.DE (David Kastrup) : NFS

    esr@snark.thyrsus.com (Eric Raymond) : quelques trucs et astuces

  Tous ceux qui m'ont envoy des mails avec des questions et des
  problmes ont galement t d'une aide prcieuse.


  1122..44..  CCooppyyrriigghhtt,, ttrraadduuccttiioonn,, lliicceennccee eett aauuttrreess


  Copyright  Brian Ward, 1994-1999.

  Version franaise Copyright  Eric Dumas, 1995-1997 dumas@freenix.fr
   Christophe Deleuze, 1999

  Permission is granted to make and distribute copies of this manual
  provided the copyright notice and this permission notice are preserved
  on all copies.

  Permission is granted to copy and distribute modified versions of this
  manual under the conditions for verbatim copying, provided that the
  derived work is distributed under the terms of a permission notice
  identical to this one. Translations fall under the category of
  ``modified versions.''

  _(_V_o_u_s _a_v_e_z _l_e _d_r_o_i_t _d_e _f_a_i_r_e _e_t _d_e _d_i_s_t_r_i_b_u_e_r _d_e_s _c_o_p_i_e_s _d_e _c_e
  _d_o_c_u_m_e_n_t _ _c_o_n_d_i_t_i_o_n _q_u_e _l_'_a_v_i_s _d_e _c_o_p_y_r_i_g_h_t _e_t _c_e_t _a_v_i_s _d_e _p_e_r_m_i_s_s_i_o_n
  _s_o_i_e_n_t _p_r__s_e_r_v__s _s_u_r _t_o_u_t_e_s _l_e_s _c_o_p_i_e_s_. _V_o_u_s _p_o_u_v_e_z _c_o_p_i_e_r _e_t
  _d_i_s_t_r_i_b_u_e_r _d_e_s _v_e_r_s_i_o_n_s _m_o_d_i_f_i__e_s _s_o_u_s _l_e_s _m__m_e_s _c_o_n_d_i_t_i_o_n_s _p_o_u_r_v_u _q_u_e
  _l_e _t_r_a_v_a_i_l _d__r_i_v_ _s_o_i_t _d_i_s_t_r_i_b_u_ _s_o_u_s _u_n _a_v_i_s _d_e _p_e_r_m_i_s_s_i_o_n _i_d_e_n_t_i_q_u_e
  _ _c_e_l_u_i_-_c_i_. _L_e_s _t_r_a_d_u_c_t_i_o_n_s _s_o_n_t _d_e_s _"_v_e_r_s_i_o_n_s _m_o_d_i_f_i__e_s_"_)_.

  Garantie : aucune.

  Cette version franaise peut tre trouve sur ftp.lip6.fr  dans le
  rpertoire /pub/linux/french/HOWTO.

  La distribution commerciale est autorise et encourage ; toutefois il
  est fortement recommand de contacter l'auteur avant la
  redistribution, dans l'intrt de la mise  jour des donnes (vous
  pourriez aussi m'envoyer un exemplaire de ce que vous faites). Idem
  pour les versions traduites, contactez le traducteur. Il est conseill
  aux traducteurs de contacter l'auteur avant de commencer la
  traduction. La version imprime est bien plus belle. Recyclez.
































































