Overblog Tous les blogs Top blogs Technologie & Science Tous les blogs Technologie & Science
Editer l'article Suivre ce blog Administration + Créer mon blog
MENU
Publicité

Bonjour, je vous présente mon blog qui concerne le systeme d'exploitation GNU/LINUX. je vais traiter je l'éspère en detail certains paramètrages de LINUX . Je m'occupe aussi de l'administration system d'une association les pc's fonctionnent sous Ubuntu. Bonne lecture a toutes et tous.

Compilation du kernel

Publié le 22 Juin 2006 par Sébastien SOURBET in tuxmag

2 Préparation des outils

Afin de pouvoir compiler votre noyau, vous allez avoir besoin de quelque outils que vous allez pouvoir télécharger facilement a l'aide de urpmi. Il est donc nécessaire de bien avoir configuré vos sources de téléchargement de packages.

La configuration des sources est differente selon que vous utilisiez une architechture de type i586, ia64, ppc ou x86_64. Si vous ne savez pas configurer vos sources, il vous est possible de les configurer de maniere tres simple a l'aide de easy urpmi

Une fois vos sources correctement configurées, il va falloir telecharger les outils de développement indispensables a la compilation du noyau a savoir gcc et ses dépendances, make et ncurses, tcl/tk, Gtk, Qt selon le mode de configuration que vous désirez utiliser ( ncurses dans l'exemple ) ainsi que bzip2 pour décompresser les sources.

Nous allons tout d'abord lancer un terminal et passer en mode root le temps de l'installation. Pour passer en mode root, il suffit de faire:

$ su


Votre mot de passe root va alors vous etre demandé


$ password


Entez alors votre mot de passe et installez les packages comme suit, une fois en mode root. Vous pouvez vérifier que vous etes bel et bien en mode root grace au symbole au debut de la ligne de commande. En root, vous devez avoir un # contrairement aux autres utilisateurs qui ont un $.


#urpmi gcc
#urpmi make
#urpmi libncurses5-devel
#urpmi bzip2

3 Installation des sources et configuration
Arrivé a ce stade, il est imperatif de tres bien connaitre le materiel present sur la machine. Afin de vous aider a verifier le matériel que vous utilisez sur votre machine, des commandes sont disponibles telles que lspci pour lister le materiel connectes sur vos ports pci ou lsusb pour lister le materiel connecter sur vos ports usb.
Mandriva offre également un gestionnaire tres efficace appelé harddrake2 accessible a l'aide de la commande:


# harddrake2

           drake.gif
Ou bien en cliquant sur le menu Applications/Systeme/Configuration/Configurer votre ordinateur/ puis en selectionnant Materiel/Verifier et configurer votre materiel.

3.1 Installation des sources


A présent votre machine possede tous les outils nécessaires, nous allons donc télécharger la derniere version stable des  sources disponibles du kernel sur le site kernel.org. Attention, assurez de bien telecharger la version full en cliquant sur le F, et enregistrez la dans le repertoire /usr/src/.

Une fois les bonnes sources telechargees il va falloir les decompresser.

On va maintenant se placer dans le repertoire /usr/src/ grace a la commande:


# cd /usr/src/


Et on va decompresser les sources a l'aide de la commande tar:


# tar -xjf linux-2.6.x.x.tar.bz2


Un dossier appelé linux-2.6.x.x/ vient de se créer. Nous allons créer un lien symbolique appele linux pointant sur le dossier linux-2.6.x.x/.

Pour s'assurer que le dossier /usr/src/ ne contient pas d'autre lien symbolique du meme nom.


# rm linux


On crée a present notre lien symbolique pointant sur linux-2.6.x.x/


# ln -s linux-2.6.x.x/ linux


Et enfin on verifie que le lien a bien ete cree


# ls -l /usr/src/


linux -> linux-2.6.x.x/ doit alors s'afficher, indiquant comme si dessous que le lien pointe bien vers les sources 2.6.x.x


lrwxrwxrwx   1 root root       15 mai 23 21:23 linux -> linux-2.6.x.x/
drwxrwxrwx  20 root root     4096 mai 23 21:55 linux-2.6.x.x/
-rw-r--r--   1 root root 40838199 mai 23 21:20 linux-2.6.x.x.tar.bz2


3.2 Configuration du noyau


Une fois la verification effectuee, nous allons nous placer dans le repertoire /usr/src/linux/ en entrant la commande suivante:


#cd /usr/src/linux/


Et nous allons configurer le noyau. Plusieurs interfaces de configuration sont alors disponibles.

    -L'interface ncurses ( mode semi-graphique ) qui se lance comme suit:
   

    # make menuconfig

           menuconfig.gif
    -L'interface GTK+ ( mode graphique )


    # make gconfig


    -L'interface QT ( mode graphique )


    # make xconfig

   

A present, en fonction de votre materiel et de vos besoins vous allez pouvoir configurer toute une liste d'options permettant d'optimiser votre systeme. Il existe alors 3 types d'etats pour ces options. Les characteres precedent ces options sont soit une * indiquant que l'option est toujours active dans le noyau, soit un M indiquant qu'elle est chargée en module suivant les besoins, soit un espace signifiant que l'option n'est pas prise en charge par le noyau.
Ceci peut sembler un peu barbare a premiere vue mais permet d'alléger grandement le noyau et donc d'eviter de perdre en rapidité.

Il est utile de savoir que toute votre configuration noyau est en fait stockée dans le fichier .config. Si vous téléchargez un autre noyau et que vous placez votre fichier .config dans le répertoire racine des sources vous pourrez le réutiliser.

3.3 Liste succinte des options du noyau

Code maturity level options: cache ou de fait apparaître les options encore en développement considérées comme instables.

General setup: options générales sur votre système.

Loadable module support
: gestion des modules.

Block layer
: entrées/sorties sur votre carte-mère.

Processor type and features
: options relatives auprocesseur.

Power management options (ACPI, APM): économie d'énergie, mise en veille et l'ACPI/APM.

Bus options (PCI, PCMCIA, EISA, MCA, ISA)
: gestion des slots pour cartes PCI, PCMCIA, ISA, etc...

Executable file formats: gestion des fichiers exécutables.

Networking:  protocoles réseau gérés par le noyau.

Device Drivers
: pilotes matériel.

File systems
: systèmes de fichiers gérés par le noyau.

Instrumentation Support
: profilage du noyau (inutile de l'activer).

Kernel hacking
; déboguage du noyau.

Security options
: modèle de sécurité de votre noyau.

Cryptographic options: algorithmes cryptographiques pouvant être implantés dans le noyau.

Library routines: librairies communes du noyau

4 Compilation et installation

4.1 Compilation


Pour lancer la compilation, il vous suffit a présent de faire


# make
# make modules
# make modules_install


4.2 Installation


Bien evidemment, sous mandriva 2006 qui est une distribution récente, l'installation automatique est tres bien géree et donc est a utiliser en priorité par rapport a la vieille installation manuelle.


# make install


Nous remarquerons qu'il est possible d'additionner ces actions en une seule et meme commande a l'aide de l'operateur &&, ce qui nous donnerait ici


# make && make modules && make modules_install && make install


A présent votre nouveau noyau est pret a fonctionner, mais nous allons quand meme configurer quelque petits détails. Il faut noter que en cas de problemes, il est toujours possible d'utiliser l'ancien noyau car Mandriva le sauvegarde.

Mandriva utilise automatiquement un fichier en complément du noyau, fichier nommé initrd. Ce fichier est en fait une image de disque ( Disque virtuel initial :INITial Ram Disk -> initrd ) contenant le plus souvent les modules que l'on souhaite rendre utilisables dès le démarrage du noyau.

5 Configuration de lilo
Une fois notre noyau installé, il va falloir configurer le boot loader ( LILO par défaut sous Mandriva ) afin de pouvoir sélectionner le noyau sur lequel on veut booter. Pour ce faire nous allons modifier le fichier de configuration de LILO, appelé lilo.conf qui se trouve dans le répertoire /etc/ a l'aide de notre editeur de texte prefere. Ici nous allons utiliser VI.


# vi /etc/lilo.conf


Le fichier de configuration s'affiche alors a l'ecran. Normalement, Mandriva crée une section semblable a celle ci


image=/boot/vmlinuz-2.6.x.x
        label="26xx"
        root=/dev/hda5
        initrd=/boot/initrd-2.6.x.x.img
        append="splash=silent"
        vga=788


Si elle n'existe pas, il va vous falloir la créer en vous inspirant de celle ci dessus, en spécifiant un nom de votre choix que nous placerons entre double cotes sur la ligne label comme ceci


label="MonKernelPerso"


Il va falloir specifier l'emplacement sur lequel est installé le noyau en specifiant le nom du disque, et eventuellement le numero de la partition, que nous allons noter N comme suit


root=/dev/hdaN


Vous pouvez egalement choisir votre nouveau noyau par defaut au demarrage, en specifiant le label du noyau sur lequel booter par defaut


default="Kernel-Perso"


Si vous utilisez un  Disque virtuel initial, renseignez le champ initrd comme ceci


initrd=/boot/initrd-2.6.x.x.img


Sauvegardez et quittez l'editeur.
Afin que toutes les modifications soient prises en compte, il est necessaire de relancer LILO.


# lilo


Voila, apres avoir redémarré votre machine, vous pourrez a booter sur votre tout nouveau noyau.

5 Configuration de lilo
Une fois notre noyau installé, il va falloir configurer le boot loader ( LILO par défaut sous Mandriva ) afin de pouvoir sélectionner le noyau sur lequel on veut booter. Pour ce faire nous allons modifier le fichier de configuration de LILO, appelé lilo.conf qui se trouve dans le répertoire /etc/ a l'aide de notre editeur de texte prefere. Ici nous allons utiliser VI.


# vi /etc/lilo.conf


Le fichier de configuration s'affiche alors a l'ecran. Normalement, Mandriva crée une section semblable a celle ci


image=/boot/vmlinuz-2.6.x.x
        label="26xx"
        root=/dev/hda5
        initrd=/boot/initrd-2.6.x.x.img
        append="splash=silent"
        vga=788


Si elle n'existe pas, il va vous falloir la créer en vous inspirant de celle ci dessus, en spécifiant un nom de votre choix que nous placerons entre double cotes sur la ligne label comme ceci


label="MonKernelPerso"


Il va falloir specifier l'emplacement sur lequel est installé le noyau en specifiant le nom du disque, et eventuellement le numero de la partition, que nous allons noter N comme suit


root=/dev/hdaN


Vous pouvez egalement choisir votre nouveau noyau par defaut au demarrage, en specifiant le label du noyau sur lequel booter par defaut


default="Kernel-Perso"


Si vous utilisez un  Disque virtuel initial, renseignez le champ initrd comme ceci


initrd=/boot/initrd-2.6.x.x.img


Sauvegardez et quittez l'editeur.
Afin que toutes les modifications soient prises en compte, il est necessaire de relancer LILO.


# lilo


Voila, apres avoir redémarré votre machine, vous pourrez a booter sur votre tout nouveau noyau.
Publicité
Publicité
Commenter cet article
Publicité