|
このページは大阪弁化フィルタによって翻訳生成されたんですわ。 |
Certains exemples pr駸ent駸 dans ce document pr駸upposent que vous poss馘ez
les programmes GNU tar, find et xargs. Ils sont
assez standards, et ne devraient pas vous poser trop de probl鑪es. On
suppose 馮alement que vous connaissez la structure de votre disque
(partitions). Si vous ne le savez pas, il est imp駻atif que vous gardiez une
copie sur papier du r駸ultat de l'ex馗ution de la commande mount
(ou bien une copie du fichier /etc/fstab, si vous savez le lire).
risque d'y avoir quelques diff駻ences. Cela ne devrait pas poser trop de
probl鑪es mais risque de semer un peu la confusion.
Il existe deux versions des sources du noyau : une version dite "stable" et une version de d騅eloppement. Les version stables ont des num駻os de version pairs : 1.2.x, 2.0.x sont des versions stables... tout comme la 2.2.x. Ces noyaux sont consid駻駸 comme 騁ant les plus stables et sans erreurs. Les noyaux de d騅eloppement (1.3.x, 2.1.x, etc) sont des sur votre 馗ran, soit un fichier, soit quelque chose qui peut 黎re directement saisi, comme une commande ou des options pour une commande (si vous poss馘ez une version texte de ce document, il n'y a pas de diff駻ence).
Le noyau Unix joue le r?e d'interm馘iaire entre vos programmes et votre mat駻iel. Premi鑽ement, il g鑽e la m駑oire pour tous les programmes
Jetez un coup d'oeil sur le Hardware-HOWTO. Vous pouvez aussi regarder le
fichier "config.in" dans les sources de Linux, ou
juste essayer "make config", ce qui vous permet de voir tous
les mat駻iels support駸 par le noyau standard, mais pas tout ce que
Linux supporte. En effet, beaucoup de p駻iph駻iques assez utiles
(tels les p駻iph駻iques PCMCIA, et quelques lecteurs de cartouches) sont des
modules chargeables maintenus et distribu駸 s駱ar駑ent.
Linus recommande une version de gcc dans le fichier README fourni
avec le code source. Si vous ne poss馘ez pas cette version, la
documentation dans la version recommand馥 de gcc devrait vous indiquer si
souplesse, c'est devenu la m騁hode pr馭駻馥 pour coder certaines
fonctionnalit駸 du noyau. Bon nombre de pilotes de p駻iph駻iques tels que
PCMCIA et les gestionnaires de cartouches QIC-80/40 sont des modules
chargeables.
ftp.fr.kernel.org pour la France,
ftp.be.kernel.org pour la Belgique.
Faites un su (super utilisateur) ou bien loggez-vous en tant que
la version du noyau actuellement en fonction.
Par exemple, si "uname -r" donne "1.0.9,"
vous pourrez d駱lacer votre r駱ertoire (avec mv)
"linux" en "linux-1.0.9". Si vous 黎es du
genre t駑駻aire, d騁ruisez le r駱ertoire. Dans tous les cas, soyez s? qu'il
n'y ait aucun r駱ertoire "linux" dans /usr/src
avant de d馗ompresser et d'installer les sources.
Dans /usr/src, installez les sources en faisant "tar zxpvf
http://www.muraroa.demon.co.uk/). Faites:
bz2cat linux-x.y.z.tar.bz2 | tar xvf -
Note : il s'agit d'une r駱騁ition, 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
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 appara?ront hi駻archis馥s.
make
menuconfig vous pouvez utiliser la barre d'espace.
タ partir des versions 2.0.x, une option "?" est pr駸ente : elle
(ノmulation du coprocesseur Arithm騁ique) Si vous ne poss馘ez pas de
coprocesseur arithm騁ique (autrement dit, vous ne disposez que d'un 386 ou
d'un 486SX), r駱ondez "y". Si vous en avez un et que vous
sont s駘ectionnables plus tard dans la configuration.
Une question porte sur les gestionnaires de p駻iph駻iques "old
disk-only" et "new IDE". Vous devez choisir l'un des deux. La
principale diff駻ence est que le vieux gestionnaire de p駻iph駻ique ne
"y" que si votre machine se trouve sur un r駸eau tel
qu'Internet ou si vous voulez utiliser SLIP, PPP, term, etc. pour
communiquer avec un acc鑚 Internet externe. Toutefois, bon nombre de
L'une des meilleures d馭inition des IPC (communication inter-processus) se trouve dans le glossaire du livre de Perl. Ces m馗anismes sont utilis駸 par
(Famille de processeur) Dans les anciens noyaux, il s'agissait de l'option Use -m486 flag for 486-specific optimizations.
Cette option s駘ectionnait certaines optimisations pour un type de processeur, le "386" fonctionnera avec toutes les machines.
(Gestion SCSI) Si vous avez au moins un p駻iph駻ique SCSI,
r駱ondez "y". On vous demandera alors de plus amples
renseignements sur la gestion des CD-ROM, des disques, et quel type de
contr?eur SCSI vous poss馘ez. Consultez le SCSI-HOWTO pour plus de d騁ails.
(Gestion de p駻iph駻iques r駸eau) Si vous avez une carte r駸eau, ou
si vous voulez utiliser SLIP, PPP, ou un adaptateur sur port parall鑞e, r駱ondez
"y". Le script de configuration vous demandera alors quel
type de carte vous poss馘ez et quels protocoles vous voulez inclure.
(Syst鑪es de fichiers) On vous demandera quels types de syst鑪es de fichiers vous souhaitez g駻er :
Standard (minix) - Les distributions r馗entes ne cr馥nt pas de syst鑪es de fichiers de type minix, et bon nombre de personnes ne s'en servent pas, mais
Second extended - C'est le syst鑪e de fichiers standard de Linux. Vous en
aurez tr鑚 certainement besoin, donc "y".
(NdT : et puis c'est un Fran軋is 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, r駱ondez "y".
Des syst鑪es de fichiers originaires d'autres syst鑪es d'exploitation sont 馮alement disponibles.
/proc - Un des syst鑪es de fichiers les plus puissants (id馥 effront駑ent
Bon, tapez "mount", cela va vous afficher un truc comme 軋 :
'. Pour voir les modules que le noyau utilise actuellement, lancerblah# mount /dev/hda1 on / type ext2 (defaults) /dev/hda3 on /usr type ext2 (defaults) none on /proc type proc (defaults)/usrsont du type ext2fs, j'utilise/proc, et il y a une disquette mont馥 avec le syst鑪e de fichiers MS-DOS (beuurrrk !).Essayez "
cat /proc/filesystems" si vous avez/proc. Cela vous donnera la liste des syst鑪es de fichiers que votre noyau g鑽e.Le support de syst鑪es de fichiers rarement utilis駸 et qui ne sont pas absolument n馗essaires peut augmenter la taille du noyau. Voir la section sur les modules chargeables pour r駸oudre ce probl鑪e, ainsi que la section sur les pi鑒es.
Character devices
(P駻iph駻iques caract鑽e) Vous trouverez ici les pilotes pour g駻er votre imprimante parall鑞e, souris bus, souris PS/2 (beaucoup de portables utilisent une souris constructeur de type PS/2), quelques lecteurs de bande "
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 enti鑽e du pilote, vous pouvez r駱ondreToutes les options de configuration ne sont pas d騁aill馥s dans ce document car elles changent trop souvent ou bien sont vraiment 騅identes (par exemple, le support de la carte 3Com 3C509 permet la compilation du
Documentation/Configure.helpdes sources du noyau depuis la version 2.0.Kernel hacking
Extrait du README de Linus :
La configuration "kernel hacking" provoque g駭駻alement un noyau plus gros ou plus lent (ou les deux), et peut m麥e rendre le noyau
4. Compiler le noyau
4.1 Nettoyer et chercher les d駱endances
Lorsque le script de configuration va se terminer, il vous demandera de faire un "
make dep" et (peut-黎re) "make"
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 馮alement une m騁hode pratique si vous avez d騁ruit accidentellement votre noyau (ou quelque chose de ce genre). Vous pouvez 馮alement vous en servir pour installer de nouveaux syst鑪es, en copiant directement le contenu d'un disque sur un autre ("tout 軋 ? ouah !").4.4 Installer le noyau
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, place : "cp bzImage /vmlinuz" si vous utilisez "/vmlinuz", puis relancez lilo. Sur les syst鑪es r馗ents, vous pouvez simplement lancer "lilo", mais sur de plus anciens, vous devez faire un/etc/lilo/installou/etc/lilo/lilo -C /etc/lilo/config.Si vous d駸irez en savoir plus sur la configuration de LILO, ou si vous voulez avoir LILO, r馗up駻ez la derni鑽e version sur votre site FTP favori et suivez les instructions.
"yyy" est le chemin complet du noyau de secours. Puis changez "label = zzz" en "label = linux-sauvegarde" et relancezlilo. Si elle n'y est pas, vous devrez rajouter une ligne dans le fichier de configuration indiquant 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 compress馥).Poursuivons avec cet exemple et supposons que vous ayez mis le fichier
.rej. Quelques versions de patch (vieilles versions) utilisent#pour les fichiers rejet駸. Vous pouvez utiliser "find" pour les trouver :find . -name '*.rej' -printci-dessus,patch -ssupprime tous les messages sauf les erreurs. Si vous stockez les sources de votre noyau dans un autre r駱ertoire que/usr/src/linux, unpatch -p1dans ce r駱ertoire fera les choses proprement. Les autres options sont bien document馥s dans les pages de manuel.5.2 Si quelque chose ne fonctionne pas
(Note : cette section traite plut? des noyaux assez anciens)
Le probl鑪e le plus fr駲uent qui se pr駸entait 騁ait lorsqu'un patch 馘itez
config.in, et changez les "y" en "n" et les "n" en "y" lorsque cela est n馗essaire. Faites unpatch -p0 < config.in.rejIl y a d'autres mani鑽es (meilleures ?) pour se d饕arrasser des fichiers .orig en utilisant le programme GNU
xargs:find . -name '*.orig' | xargs rmou la m騁hode s?e mais un peu plus verbeuse :find . -name '*.orig' -print0 | xargs --null rm --5.4 Autres patches
Il y a d'autres patches (je les appellerai "non-standards") que ceux distribu駸 par Linus. Si vous les appliquez, les patches Linus risquent de de modules chargeables, le nombre de patches "non standards" d馗ro?.
6. Paquetages suppl駑entaires
Votre noyau Linux a bon nombre de caract駻istiques qui ne sont pas expliqu馥s dans le noyau lui-m麥e ; elles sont typiquement utilis馥s par des paquetages externes. Une liste des plus utiles est donn馥 ici.
6.1 kbd
La console de Linux poss鐡e de nombreuses caract駻istiques. Elle peut d'outils Linux dans le paquetage util-linux. Ils est d駸ormais 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 quesetterm,rdev, etctrlaltdel, qui concernent le noyau. Comme le dit Rik, n'installez pas sans r馭l馗hir, vous n'avez pas besoin de tout installer dans la distribution, et cela pourrait vous causer de graves ennuis.6.3 hdparm
6.4 gpm
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 op駻ations avec un grand nombre de types de souris.
sympt?es peuvent 黎re un plantage de votre syst鑪e, des probl鑪es d'entr馥s-sorties 騁ranges, une chute des performances, des reboot al饌toires... V駻ifiez que vous avez 馮alement fait unmake dep.7.2 Noyaux 駭ormes ou lents
(pilotes de p駻iph駻iques, syst鑪es 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 m駑oire. Le sympt?e le plus visible est l'augmentation sensible du fonctionnement du swap. Si votre disque faitVous pouvez calculer la taille m駑oire que le noyau utilise en prenant la m駑oire totale de votre machine et en soustrayant la valeur de la m駑oire totale ("total mem") dans
/proc/meminfoou bien avec la commande "free".7.3 Le port parall鑞e ne fonctionne pas/mon imprimante ne fonctionne pas
Les options de configuration pour les PC sont : premi鑽ement, dans la cat馮orie "General Setup" s駘ectionnez "Parallel port support" et "PC-style hardware". Puis dans "Character devices", poss馘ez des sources corrompus. Votre version de gcc peut 馮alement ne pas 黎re correcte, ou bien endommag馥 (par exemple les fichiers d'include peuvent 黎re faux). Soyez s? que les liens que Linus d馗rit dans le fichier README sont corrects. En g駭駻al, si un noyau standard ne compile pas, c'est qu'un truc ne tourne pas rond dans le syst鑪e, et il est plus que probable que certains outils doivent 黎re reinstall駸.
Dans des cas relativement rares, gcc peut 馗houer en raison de probl鑪es de http://www.linux-france.org/article/sig11-fr/sig11-fr.html).
7.5 La nouvelle version du noyau ne boote plus !
racine (/) se trouve et quel est son type (ext2fs, minix, etc). Dans l'exemple ci-dessous, vous aurez 馮alement besoin de conna?re la partition des sources du noyau (/usr/src/linux), et où elle est mont馥.Dans cet exemple,la racine
/est/dev/hda1, la partition qui supporte/usr/src/linuxest/dev/hda3, normalement mont馥 sur/usr. Toutes les deux ont un syst鑪e de fichiers de type ext2fs. L'image du noyau se trouve dans d'une disquette de secours et montez la partition où se trouve le noyau en 騁at de marche :
mkdir /mnt mount -t ext2 /dev/hda3 /mntSi
mkdirvous annonce que le r駱ertoire existe, ignorez le message./vmlinuz, faites comme ci-dessus en changeant/dev/hda3en/dev/hda1(la partition/),/mnt/src/linuxen/mnt, etif=bzImageenif=vmlinuz. La petite lien n'existe pas, ou bien pointe au mauvais endroit, bon nombre de programmes ne compileront pas. Si vous d馗idez que les sources du noyau prennent trop de place sur votre disque et que vous les d騁ruisez, cela sera d駸archiviez les sources du noyau sans l'optionp(conserve le mode), les utilisateurs ne pourront pas utiliser le compilateur C. Vous pouvez alors utiliser la commandechmodpour r駸oudre le probl鑪e mais il est probablement plus facile de r駟nstaller les fichiers include. Vous pouvez proc馘er de la m麥e mani鑽e que lors de l'installation des sources au d饕ut, en ajoutant un argument pour n'extraire que les includes :blah# tar zxvpf linux.x.y.z.tar.gz linux/includeNotez que "make config" va recr馥r le lien (modutils-x.y.z), regardez le fichierREADME, et suivez les instructions d'installation (qui sont en g駭駻al tr鑚 simples, du genre, faitesmake install). Vous devriez avoir maintenant les programmesinsmod,rmmod,ksyms,lsmod,genksyms,modprobe, etdepmoddans/sbin. Vous pouvez les tester avec le pilote exemple "hw" dansinsmod; regardez le fichierINSTALLdans ce sous-r駱ertoire pour les d騁ails. drv_hello.olsmod. Il devrait alors afficher :blah# lsmod Module: #pages: Used by: drv_hello 1pas un nom de fichier. Les autres programmes de gestion des modules sont document駸 (pages de manuel).9.2 Modules distribu駸 avec le noyau
Avec la version 2.0.30, presque tout est disponible sous forme de modules chargeables. Pour les utiliser, soyez s? que vous ne les ins駻ez pas dans la configuration du noyau. Pour cela, ne r駱ondez pas
ypendant le `make config'.Compilez un nouveau noyau et bootez avec. Puis,
cddans pouvez alors les utiliser depuis ce r駱ertoire ou faire `make modules_install' qui les installera dans/lib/modules/x.y.z, oux.y.zest le num駻o de version du noyau.Cela peut 黎re particuli鑽ement utile pour les syst鑪es de fichiers. Vous n'utilisez peut-黎re pas fr駲uemment les syst鑪es 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, puisrmmod secours.10. Trucs et astuces
10.1 Rediriger la sortie standard des commandes make ou patch
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).10.2 Installations diverses du noyau
En plus des disquettes, d'autres m騁hodes existent pour tester un nouveau qui vous donne un prompt. タ ce moment, tapez `
nouveau_noyau' pour qu'il boote sur le nouveau noyau.Si vous d駸irez conserver plusieurs sources du noyau (cela peut prendre beaucoup de place ; faites attention), la mani鑽e la plus simple /usr/src/linux' indiquera la version 1.2.2 comme version courante. Avant de cr馥r ce type de lien symbolique, soyez certain que le dernier argument de
lnn'est pas un r駱ertoire existant. Le r駸ultat ne serait pas celui que vous esp駻iez.BogoMips mini-HOWTO : pour information 12. Divers
12.1 Auteur
L'auteur du Kernel-HOWTO Linux est Brian Ward (
bri@cs.uchicago.edu). S'il vous pla?, envoyez-moi desJ'ai beaucoup de mail sur des probl鑪es et questions de mat駻iel. Ce n'est pas un probl鑪e mais merci de noter que que je ne suis pas familier avec tout le mat駻iel du monde. J'utilise des processeurs AMD, des controlleurs SCSI Adaptec et Symbios et des disques SCSI IBM.
avec les suggestions venant d'autres personnes. De m麥e pour "Autres paquetages". Des informations suppl駑entaires pour le d饕ogage/sauvetage lors de crash seraient les bienvenues.12.3 Contributions
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 des options de configuration du noyau et m'a fourni la listelembark@wrkhors.psyber.com(Steve Lembark) : suggestion pour le boot multiple.kbriggs@earwax.pd.uwa.edu.au(Keith Briggs) : quelques corrections et suggestionsrmcguire@freenet.columbus.oh.us(Ryan McGuire): ajouts au niveau des options de compilationEric.Dumas@freenix.fr(Eric Dumas) : traduction fran軋isesimazaki@ab11.yamanashi.ac.jp(Yasutada Shimazaki): traduction japonaisejjamor@lml.ls.fi.upm.es(Juan Jose Amor Iglesias): traduction espagnolemva@sbbs.se(Martin Wahlen) : traduction su馘oisejzp1218@stud.u-szeged.hu(Zoltan Vamosi) : traduction hongroisebart@mat.uni.torun.pl(Bartosz Maruszewski) : traduction polonaisedonahue@tiber.nist.gov(Michael J Donahue) : typos, gagnant de la "comp騁ition du pain en tranches"rms@gnu.ai.mit.edu(Richard Stallman) : notice de distribution/concept de documentation libredak@Pool.Informatik.RWTH-Aachen.DE(David Kastrup) : NFSesr@snark.thyrsus.com(Eric Raymond) : quelques trucs et astucesVersion fran軋ise Copyright © Eric Dumas, 1995-1997 dumas@freenix.fr
© Christophe Deleuze, 1999Permission 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 l'auteur avant de commencer la traduction. La version imprim馥 est bien plus belle. Recyclez.