original in en Subhasish Ghosh
en to fr Michel Eytan
Je m'appelle Subhasish Ghosh, j'ai 20 ans, et vis actuellement en Inde. Je suis étudiant en Génie de systèmes d'exploitation et je travaille comme professionnel dans le domaine de l'Informatique. Je suis titulaire de 6 certifications Microsoft Certified Professional(MCP), ainsi que d'un MCP certifié en NT 4.0. Ca fait très longtemps que je travaille sous Linux, spécialement Red Hat Linux. Je suis en train de préparer l'examen de certification de Red Hat Linux Certified Engineer(RHCE) et me propose de travailler essentiellement avec les systèmes d'exploitation Linux dans l'avenir.
Salut tout le monde, cet article vous propose un processus pas-à-pas extrêmement détaillé qui décrit comment compiler, configurer et installer un noyau Linux personnalisé. Nous le savons tous, un noyau personnalisé est requis pour bien des raisons, et je n'aimerais pas entrer dans les détails "saignants" de celles-ci. Je me bornerai à montrer seulement comment compiler, configurer et installer un noyau Linux personnalisé. Bien que les étapes décrites ci-dessous visent en premier lieu les utilisateurs de Red Hat Linux, le même processus s'applique également aux utilisateurs d'autres distributions Linux, bien entendu, moyennant quelques modifications de détail.
Voici les instructions pour compiler le noyau Linux en 27 étapes. J'ai exécuté
toutes ces étapes sur un ordinateur avec la configuration suivante:
Compaq Presario 4010 Series, disque dur de 15.5 Go, 96 Mo de RAM,
processeur 400 MHz Intel Celeron, distribution Red Hat Linux 7.0 et noyau
2.2.16-22.
Notre objectif est d'obtenir un noyau personnalisé après
accomplissement de toutes les étapes mentionnées ci-dessous. J'ai, par exemple un
noyau personnalisé dénommé "2.2.16-22ghosh" qui fonctionne sur mon
ordinateur (car je m'appelle Subhasish Ghosh; vous pourriez avoir n'importe
quoi d'autre, et même plusieurs noyaux fonctionnant ensemble). Alors,
bonne chance pour la compilation du noyau Linux.
Etape 1 : logez-vous en tant que "root" puis exécutez les étapes suivantes.
Etape 2 : à l'invite taper rpm -q kernel-headers kernel-source make dev86
Etape 3 : si ces RPM sont dejà installés alors passer à l'étape 4. Sinon monter le CD-ROM Red Hat Linux 7.0 puis exécuter un rpm -Uvh pour les installer.
Etape 4 : si vous avez un système X Window pleinement opérationnel, tapez startx à l'invite. Sinon ma suggestion est de le configurer avant de continuer car ça rendra les choses plus faciles. Si le système X Window n'est PAS configuré alors tapez make config ou make menuconfig à l'invite. Remarquez que j'ai supposé que votre X Window System était opérationnel et c'est pourquoi il vous suffit de taper startx.
Etape 5 : une fois dans l'environnement GNOME ouvrez le terminal GNOME et tapez cd /usr/src/linux puis tapez Entrée.
Etape 6 : depuis /usr/src/linux, tapez make xconfig.
Etape 7 : la version graphique de make config devrait apparaître à l'écran. Elle propose les diverses options disponibles pour obtenir un noyau personnalisé.
Etape 8 : pour l'instant je suggère de laisser la plupart des options telles
qu'elles sont.
La configuration par défaut est passablement lourde. D'un autre côté
c'est probablement celle qui fonctionnera sur la plupart des ordinateurs. Je
suggère d'en terminer d'abord avec toutes les étapes afin d'apprendre le
fonctionnement du processus. Ensuite vous pourrez vous familiariser avec votre
matériel et ses caractéristiques de façon à avoir suffisamment d'expertise pour
affiner votre noyau et en obtenir un plus petit et optimal.
Un bon moyen de découvrir un peu plus sur les entrailles de
votre ordinateur est fourni par les fichiers se trouvant dans /proc, tels /proc/pci, /proc/interrupts,
/proc/modules, etc
Pour l'instant n'essayez pas de bricoler.
Dans le but d'expérimenter, contentez-vous des changements
suivants:
1.Type de processeur et caractéristiques : choisir le processeur correct selon que vous travaillez avec un Pentium 2, 3, ou Intel Celeron comme moi. Par exemple j'ai fait comme ceci: Processor Family: PPro/686MX, Maximum Physical Memory: 1 GB, Math Emulation: Yes, MTRR: Yes, SMP: Yes.
2.Ouvrez le dialogue Filesystems puis faites les changements suivants: par exemple j'ai choisi: DOS FAT fs support: Yes(y), MSDOS fs support: Yes(y), UMSDOS: m, VFAT(Windows 95) support: Yes(y), NTFS filesystem support (read-only): Yes(y), NTFS read-write support(DANGEROUS): No(n). Après avoir fait ces modifications, assurez-vous que vous n'avez rien changé d'autre en cours de route. Tous les changements ci-dessus sont inoffensifs et ne causeront aucun dommage à votre noyau Linux existant.
3.Sauvegardez et quittez la fenêtre Main.
Etape 9 : tapez un ls -al depuis le chemin /usr/src/linux.
Etape 10 : Je suis sûr que vous voyez un fichier: "Makefile". C'est un fichier très important pour le processus de compilation. Assurez-vous donc que vous en avez une sauvegarde en utilisant: cp Makefile Makefile.bak
Etape 11 : maintenant, tapez : (depuis /usr/src/linux) vi Makefile.
Etape 12 : allez à la ligne EXTRAVERSION et changez-la pour quelque chose dans ce genre : par exemple j'ai renommé EXTRAVERSION=-22, en EXTRAVERSION="-22ghosh". Vous pouvez lui donner le nom que vous voulez.
Etape 13 : sauvegardez et fermez le fichier.
Etape 14 : les étapes suivantes sont à exécuter depuis /usr/src/linux. Tapez make dep clean, et appuyez sur Entrée.
Etape 15 : tapez: make bzImage modules. Ca prend un certain temps, allez prendre un verre pendant que les fichiers nécessaires sont compilés. D'habitude, j'en profite pour faire un somme parce que je fais ce genre de chose en pleine nuit.
Etape 16 : à la fin de cette étape, un fichier "bzImage" sera créé dans le dossier /usr/src/linux/arch/i386/boot; allez-y et vérifiez qu'un fichier "bzImage" a bien été créé. SI ET SEULEMENT SI toutes les étapes de la compilation ont été accomplies correctement et si toutes les options que nous avons choisies dans make xconfig sont correctes, alors ce fichier aura été créé. Si vous trouvez ce fichier, ce dont je ne doute pas, vous pouvez vous réjouir car vous avez gagné 75% de la bataille. Si vous ne voyez pas ce fichier, je suis désolé, vous avez fait une erreur quelque part. Faites une pause et recommencez toutes les étapes depuis le début. Je suis sûr que vous allez réussir.
Etape 17 : tapez (depuis /usr/src/linux): cp ./arch/i386/boot/bzImage /boot/vmlinuz-2.2.16-22ghosh et appuyez sur Entrée.
Etape 18 : tapez : cp System.map
/boot/System.map-2.2.16-22ghosh
Bien que ça ne soit pas obligatoire, je suggère de sauvegarder le fichier
de configuration du noyau (/usr/src/linux/.config) ce qui vous donne une référence
pour créer ensuite d'autres noyaux sans avoir à tout reconfigurer depuis le
début.
La fenêtre de configuration graphique (make xconfig) offre la possibilité de
charger un fichier de configuration. Pour sauvegarder le fichier de
configuration tapez :
cp /usr/src/linux/.config /boot/Config-2.2.16-22ghosh
Etape 19 : tapez : make modules_install et appuyez sur Entrée. Vous verrez tous les modules s'installer dans un nouveau dossier personnalisé.
Etape 20 : tapez : mkinitrd /boot/initrd-2.2.16-22ghosh.img 2.2.16-22ghosh
Etape 21 : tapez : vi /etc/lilo.conf et ajoutez l'entrée suivante:
image=/boot/vmlinuz-2.2.16-22ghosh
label=GhoshKernel
initrd=/boot/initrd-2.2.16-22ghosh.img
root=/dev/hdc5
read-only
Etape 22 : sauvegardez et quittez. Remarquez que vous pouvez changer les
entrées du fichier lilo.conf file comme vous le voulez, et le root devrait
être le root de votre système; sur ma machine, il est sur /dev/hdc5. Insérez donc
l'info de votre propre système. La commande
df | grep '/$'
vous dira où se trouve votre système de fichier root. Faites attention aux guillemets simples autour
de l'expression qui suit grep.
Etape 23 : tapez : /sbin/lilo -v -v
Etape 24 : lisez toutes les infos sur l'écran. S'il n'y a pas d'erreurs, le travail est terminé. Félicitations !!!!
Etape 25 : redémarrez le système en tapant /sbin/reboot ou /sbin/shutdown -r now.
Etape 26 : dans l'écran de démarrage, tapez Tab (ou Control-X, si vous avez l'écran de démarrage LILO), et vous pouvez voir "GhoshKernel" parmi les autres choix pré-existants.
Etape 27 : tapez : GhoshKernel et appuyez sur Entrée. Le noyau personnalisé sera visualisé en train de démarrer sur votre système. Vous avez donc un noyau personnalisé parfaitement fonctionnel sur votre système.
Observez le processus de démarrage, les messages à l'écran et vérifiez qu'il n'y a pas d'erreurs. Plus tard vous pourrez aussi vérifier les messages depuis le fichier /var/log/boot.log et la commande dmesg. S'il n'y a pas d'erreurs, le noyau est parfait pour votre machine. Très bien!!
Logez vous à nouveau et tapez uname
-a puis appuyez sur Entrée. Vous voyez l'entrée suivante sur
l'écran: 2.2.16-22ghosh suivie de la date de
compilation et d'autres informations. Ce qui prouve bien que vous utilisez un
noyau personnalisé. C'est tout. Rappelez-vous aussi que vous pouvez avoir
autant de versions du noyau que vous le souhaitez. Au cas où ça ne
fonctionnerait pas, ou que vous messieurs (et mesdemoiselles) ayez un problème,
n'hésitez pas à m'envoyer un courrier électronique à l'adresse auspicious_blessingsin=
dia@hotmail.com
pour des questions et des suggestions. J'aimerais vraiment avoir
de vos nouvelles et vous aider et j'espère que cet article sera utile à tous
ceux qui veulent un noyau personnalisé parfaitement fonctionnel.
Prenez bien soin de vous.
Subhasish Ghosh