Vous pouvez récupérer les sources via ftp depuis ftp.kernel.org
dans le répertoire /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 développement et peuvent être
instables. Le fichier est typiquement linux-x.y.z.tar.gz
, où
x.y.z
est le numéro de version. Une version avec suffixe en
.bz2
(compressé avec bzip2) est aussi généralement 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.
Faites un su
(super utilisateur) ou bien loggez-vous en tant que
"root
", et allez dans le répertoire /usr/src
. Si
vous avez déjà installé les sources du noyau, il y aura déjà un répertoire
appelé "linux
", contenant l'ensemble des sources du noyau.
Si vous avez de la place disque et que vous voulez jouer la carte sécurité,
il est préférable de conserver ce répertoire intact. Un système assez
pratique consiste à renommer votre répertoire en fonction du numéro de la
version. La commande "uname -r
" vous indiquera le numéro de
la version du noyau actuellement en fonction.
Par exemple, si "uname -r
" donne "1.0.9
,"
vous pourrez déplacer votre répertoire (avec mv
)
"linux
" en "linux-1.0.9
". Si vous êtes du
genre téméraire, détruisez le répertoire. Dans tous les cas, soyez sûr qu'il
n'y ait aucun répertoire "linux
" dans /usr/src
avant de décompresser 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 problème). Vous verrez la liste
des fichiers se dérouler sous vos yeux. Lorsque c'est terminé, il y aura un
nouveau répertoire "linux
". Allez dans linux et
jetez un coup d'oeil au fichier README
. Il y a une section
"INSTALLING the kernel
". Suivez les instructions lorsque
nécessaire - prenez garde à ce que les liens soient en place et que les
fichiers .o
soient détruits, 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 -
Note : il s'agit d'une répétition, 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
vérifiez que vous possédez bien /bin/bash
, /bin/sh
,
ou $BASH
.
Il existe un certain nombre de possibilités 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
préalable installé Tk (click-o-rama - Nat). make
menuconfig
est destiné à ceux qui ont installé (n)curses et qui
préfèrent 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 apparaîtront hiérarchisées.
Vous êtes alors prêt à répondre aux questions, la plupart du temps par
"y
" ou par "n
". Les pilotes de périphériques
acceptent aussi généralement "m
", pour "module". Le
pilote sera compilé non pas directement dans le noyau mais en tant que
module chargeable. Une interprétation plus amusante est que le
"m
" est pour "maybe" (peut-être). Certaines options
non critiques ou évidentes ne seront pas décrites ici. Consultez le
paragraphe "Autres options de configuration" pour une courte
descriptions de quelques options non détaillées ici. Avec make
menuconfig
vous pouvez utiliser la barre d'espace.
À partir des versions 2.0.x, une option "?" est présente : elle permet d'obtenir une aide pour l'option désirée qui correspond sûrement aux informations les plus à jour. Voici une liste décrivant brièvement les options les plus importantes avec leur place dans la hiérarchie (NdT : et la traduction de l'intitulé).
(Émulation du coprocesseur Arithmétique) Si vous ne possédez pas de
coprocesseur arithmétique (autrement dit, vous ne disposez que d'un 386 ou
d'un 486SX), répondez "y
". Si vous en avez un et que vous
répondez "y
", ce n'est pas grave : le coprocesseur sera
utilisé et l'émulation ignorée. Pour toute machine pas trop vieille, la
réponse sera non.
(Gestion améliorée des disques durs) Vous devez à peu près toujours répondre oui à cette question. Cela signifie que le noyau pourra gérer les disques standards des PC comme IDE, que bon nombre de gens possèdent. Ceci n'inclut pas les disques SCSI : ils sont sélectionnables plus tard dans la configuration.
Une question porte sur les gestionnaires de périphériques "old disk-only" et "new IDE". Vous devez choisir l'un des deux. La principale différence est que le vieux gestionnaire de périphérique ne supporte qu'au plus deux disques sur une seule interface. Le nouveau gestionnaire gère une deuxième interface IDE et les disques CD-ROM IDE/ATAPI , et il est plus gros de 4 ko que l'ancien. Il est supposé "amélioré" ce qui signifie qu'à part avoir un nombre différent de bogues il peut améliorer les performances de votre disque, notamment si vous possédez du matériel récent (comme de l'EIDE).
(Gestion du Réseau) En principe, vous ne devriez répondre
"y
" que si votre machine se trouve sur un réseau tel
qu'Internet ou si vous voulez utiliser SLIP, PPP, term, etc. pour
communiquer avec un accès Internet externe. Toutefois, bon nombre de
paquetages (tels que le système X Window) ont besoin de ce support réseau
même si votre machine n'y est pas reliée ; dans ce cas, répondez
"y
". Plus tard, on vous demandera si vous voulez avoir le
support TCP/IP. De même, répondez "y
", à moins que vous ne
soyez sûr de ce que vous faites.
L'une des meilleures définition des IPC (communication inter-processus) se
trouve dans le glossaire du livre de Perl. Ces mécanismes sont utilisés par
certains développeurs Perl et quelques autres paquetages (comme par exemple
DOOM), donc ce n'est pas vraiment une bonne idée de répondre
"n
" à cette question à moins que vous ne sachiez exactement
ce que vous faites.
(Famille de processeur) Dans les anciens noyaux, il s'agissait de l'option Use -m486 flag for 486-specific optimizations.
Cette option sélectionnait certaines optimisations pour un type de processeur, le noyau fonctionnant normalement avec les autres processeurs. Le noyau généré avait toutefois une taille légèrement supérieure. Dans les nouveaux noyaux, cette différence 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.
(Gestion SCSI) Si vous avez au moins un périphérique SCSI,
répondez "y
". On vous demandera alors de plus amples
renseignements sur la gestion des CD-ROM, des disques, et quel type de
contrôleur SCSI vous possédez. Consultez le SCSI-HOWTO pour plus de détails.
(Gestion de périphériques réseau) Si vous avez une carte réseau, ou
si vous voulez utiliser SLIP, PPP, ou un adaptateur sur port parallèle, répondez
"y
". Le script de configuration vous demandera alors quel
type de carte vous possédez et quels protocoles vous voulez inclure.
(Systèmes de fichiers) On vous demandera quels types de systèmes de fichiers vous souhaitez gérer :
Standard (minix) - Les distributions récentes ne créent pas de systèmes de fichiers de type minix, et bon nombre de personnes ne s'en servent pas, mais cela peut être malgré tout une bonne idée de le configurer. Quelques programmes de "sauvetage de disques" l'utilisent, et encore aujourd'hui, un bon nombre de disquettes risquent d'avoir ce système de fichiers, car il est assez pratique pour les disquettes.
Second extended - C'est le système de fichiers standard de Linux. Vous en
aurez très certainement besoin, donc "y
".
(NdT : et puis c'est un Français 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épondez "y
".
Des systèmes de fichiers originaires d'autres systèmes d'exploitation sont également disponibles.
/proc - Un des systèmes de fichiers les plus puissants (idée effrontément
chipée aux Laboratoires Bell, je pense). Ça n'a rien à voir avec vos
partitions disques, mais c'est une interface sous forme de système 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 systèmes)
pour les entrées/sorties. Vous devriez répondre "y
" à ceci
: de nombreux programmes Linux standards en ont besoin.
NFS - Si vous êtes en réseau et que vous voulez utiliser des volumes
présents sur d'autres machines, répondez "y
".
ISO9660 - Format rencontré sur la plupart des CD-ROM. Si vous possédez un
CD-ROM et que vous comptez vous en servir sous Linux, répondez
"y
".
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 à côté de "type
" est le
type du système de fichiers. Dans cet exemple, mes partitions /
et
/usr
sont du type ext2fs, j'utilise /proc
, et il y a une
disquette montée avec le système de fichiers MS-DOS (beuurrrk !).
Essayez "cat /proc/filesystems
" si vous avez
/proc
. Cela vous donnera la liste des systèmes de fichiers que
votre noyau gère.
Le support de systèmes de fichiers rarement utilisés et qui ne sont pas absolument nécessaires peut augmenter la taille du noyau. Voir la section sur les modules chargeables pour résoudre ce problème, ainsi que la section sur les pièges.
(Périphériques caractère) Vous trouverez ici les pilotes pour gérer votre imprimante parallèle, souris bus, souris PS/2 (beaucoup de portables utilisent une souris constructeur de type PS/2), quelques lecteurs de bande et d'autres périphériques de type "caractère". Répondez en conséquence.
Note : "gpm" est un programme qui vous permet d'utiliser la souris à l'extérieur de X Window pour effectuer des opérations de copier-coller entre les consoles virtuelles. C'est assez utile si vous avez une souris série, car cela coexiste bien avec X Window, mais vous devrez faire quelques trucs pour que cela fonctionne avec les autres.
(Son) Si vous tenez à entendre biff
aboyer, répondez
"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ère du pilote, vous pouvez répondre
`n
' et donc économiser de la mémoire en insérant uniquement les
caractéristiques dont vous avez besoin.
Si vous vous intéressez de près 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/.
Toutes les options de configuration ne sont pas détaillées 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 complète de
ces options (plus une manière de les insérer 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.
Extrait du README de Linus :
La configuration "kernel hacking" provoque généralement un noyau plus gros ou plus lent (ou les deux), et peut même rendre le noyau moins stable en configurant quelques routines pour essayer de chercher les défauts du code, pour trouver les problèmes du noyau (kmalloc()). Donc, vous devrez répondre "n" à cette question si vous créez un noyau pour un système sûr.
Quand la configuration est terminée, un message vous indique que le noyau est configuré, et qu'il faut "regarder le Makefile général pour des configurations supplémentaires", 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 prêt. Si
vous ne comprenez rien à ce fichier, passez à la suite.