HOWTO NPTL avec un noyau 2.6 sous Gentoo

Un article de Gentoo Linux Wiki.


Cet article fait partie des HOWTOs.
Méthodes d'installation CD Live Noyau et matériel Portables et Notebooks Portage Système Réseaux et Services Serveur X Logiciels fréquemment utilisés Autres



Sommaire

[modifier] Introduction

Ce guide a pour but d'aider ceux qui souhaitent avoir une Gentoo avec un noyau 2.6 et en utilisant le NPTL.

[modifier] Installer Gentoo

Avec le LiveCD et votre BIOS configuré pour démarrer sur votre lecteur CD, démarrez votre PC et allez jusqu'à l'invite de démarrage de votre CD.
Se référer au Manuel d'installation officiel pour savoir comment obtenir et graver votre LiveCD cd Gentoo.

[modifier] Choisir ses options de démarrage

Maintenant, démarrez depuis votre LiveCD et tapez smp à l'invite de démarrage.

Code : démarrage
boot: smp


smp est un noyau 2.6 qui permettra à votre /proc d'avoir des informations propres aux noyaux 2.6 au lieu de 2.4 comme c'est le cas en général sur Gentoo. C'est obligatoire notamment pour pouvoir compiler la glibc avec le support NPTL.
Se référer au Manuel d'installation officiel pour savoir les options que vous pouvez passer au noyau lors du démarrage.

[modifier] Préparation du disque dur

Nous allons donc préparer notre disque dur pour l'installation de Gentoo. Pour cela, nous utiliserons (pour l'exemple) fdisk :

Code : préparation du disque dur
fdisk /dev/hda

Vous devez construire au moins une partition racine et une partition d'échange. Ensuite, on va créer les systèmes de fichiers :

Code : Création des systèmes de fichiers et activation de la partition d'échange
mke2fs /dev/hda1 
mke2fs -j /dev/hda5 
mkswap /dev/hda6 
swapon /dev/hda6 
mount /dev/hda5 /mnt/gentoo 
mkdir /mnt/gentoo/boot 
mount /dev/hda1 /mnt/gentoo/boot 

[modifier] Mise à l'heure de la machine

Vérifiez que vous êtes bien à l'heure avec date.

[modifier] Installer les fichiers d'installation de la Gentoo

Allez dans le répertoire /mnt/gentoo

Code : aller dans /mnt/gentoo
cd /mnt/gentoo


Allez chercher une archive stage1 sur un miroir Gentoo avec links :

Code : aller chercher l'archive d'installation
links http://www.gentoo.org/main/en/mirrors.xml


  • Vous devez avoir configuré et activé votre réseau.


Après avoir téléchargé votre archive, désarchivez-la :

Code : désarchiver le stage1
tar -xvjpf stage?-*.tar.bz2 && rm stage?-*.tar.bz2

[modifier] Configurer make.conf

Ouvrez /mnt/gentoo/etc/make.conf et éditez-le. Voici un exemple de configuration :

Fichier : /mnt/gentoo/etc/make.conf
CFLAGS="-O2 -march=athlon-xp -pipe" 
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}" 
USE="nptl"

On notera notamment la dernière ligne qui permet d'utiliser le NPTL.

[modifier] Optionnel

Choisir un miroir en utilisant mirrorselect :

Code : choisir un miroir
mirrorselect -a -s4 -o | grep 'GENTOO_MIRRORS=' >> /mnt/gentoo/etc/make.conf

Cette commande va mettre un certain nombre de miroirs dans la variable GENTOO_MIRRORS présent dans /etc/make.conf.

Note : On peut aussi utiliser mirrorselect -i -o >> /mnt/gentoo/etc/make.conf. Choisir un miroir prêt de soi manuellement devrait donner de meilleurs résultats qu'un résultat obtenu sur un test unique fait avec mirrorselect -a -s4 -o.


Avant de faire votre chroot dans le nouvel environnement, vous pouvez enfin lancer passwd pour changer le mot de passe root, afin de pouvoir se logger ultérieurement dans un autre terminal.

[modifier] Faire votre chroot

  • Copier /etc/resolv.conf pour que le réseau continue de fonctionner dans l'environnement en chroot.
Code : copie du fichier resolv.conf
cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
  • Monter /proc
Code : Monter /proc
mount -t proc none /mnt/gentoo/proc
  • OPTIONNEL: changer le mot de passe root

Si vous voulez changer de terminal virtuel (Alt+F1 à F6) pour effectuer d'autres taches pendant que vous installez votre Gentoo, vous devez effectuer cette commande pour pouvoir vous connecter. Tout ce que cela fait, c'est changer le mot de passe de l'environnement du LiveCD.

Code : Chander le mot de passe root
passwd
  • Entrer en chroot dans le nouvel environnement Gentoo :
Code : entrer en chroot
chroot /mnt/gentoo /bin/bash 
env-update && source /etc/profile

[modifier] Mettre à jour Portage

Synchronisez votre arbre de Portage avec les serveurs Gentoo :

Code : synchronisation de l'arbre de Portage
emerge sync

[modifier] Passer du Stage1 au Stage2

Désinstaller linux-headers (celui installé est celui du noyau 2.4) :

Code : Désinstaller linux-headers
emerge unmerge linux-headers


Installer celui du noyau 2.6 :

Code : Installer linux26-headers
emerge --nodeps --oneshot linux26-headers

Faire le bootstrap de votre système (pour passer en stage2) :

Code : Faire le bootstrap
cd /usr/portage
scripts/bootstrap.sh && env-update && source /etc/profile

Pour vérifier que le support du NPTL est bien compilé avec la glibc, faites :

Code : vérifier que le support NPTL est fait
/lib/libc.so.6

Vous devriez voir Native POSIX Threads dans la sortie.

[modifier] Passer du Stage2 au Stage3

Construire le système (passage de Stage2 au Stage3) :

Code : Construction du système
emerge system && env-update && source /etc/profile && etc-update

[modifier] Configurer le noyau

Configurer la zone horaire :

Code : Configuration de la zone horaire
ln -sf /usr/share/zoneinfo/UTC /etc/localtime

Faites attention à bien utiliser votre propre fuseau horaire !


Choisir et configurer votre noyau :

Code : Choisir le noyau
emerge gentoo-sources

Se référer au manuel d'installation de Gentoo pour voir les autres noyaux 2.6 disponibles et comment les installer et configurer.


[modifier] Optionnel

  • Installer udev :
Code : Installation de udev
emerge udev
  • Installer le hotplug :
Code : Installation de hotplug
emerge hotplug && rc-update add hotplug boot
  • Installer alsa :
Code : Installation de alsa
emerge alsa-utils && rc-update add alsasound boot && nano -w /etc/modules.d/alsa && modules-update

Se référer au manuel ALSA pour Gentoo(en) pour plus d'informations sur comment installer et configurer sa carte son.

[modifier] Configurer votre système

Se référer au manuel d'installation Gentoo pour éditer fstab les fichiers de configuration pour le réseau, et rc.conf.

[modifier] Installer les outils nécessaires à votre système

  • Installer le système de journalisation des événements :
Code : Installation de metalog
emerge metalog && rc-update add metalog default
  • Installer un démon cron :
Code : Installation de vixie-cron
emerge vixie-cron && rc-update add vixie-cron default

[modifier] Optionnel

  • Installer gentoolkit :
Code : Installation de gentoolkit
emerge gentoolkit

gentoolkit contient des outils pour travailler sur Portage.

  • Installer ufed :
Code : Installer ufed
emerge ufed

ufed est une application qui permet de simplifier la sélection/suppression des paramètres USE.

[modifier] Configurer le gestionnaire de démarrage

Installer grub :

Code : Installer grub
emerge grub

Se référer au manuel d'installation de Gentoo pour configurer grub.

  • Mettre un mot de passe root :
Code : Changer le mot de passe root
passwd
  • Créer un utilisateur :
Code : Création d'un utilisateur
useradd username -m -G users,wheel,audio,tty -s /bin/bash
passwd username


Vous pouvez désormais sortir de votre chroot et redémarrer votre ordinateur sous votre nouvelle installation Gentoo :

Code : Redémarrer votre ordinateur
exit
cd /
umount /mnt/gentoo/boot
umount /mnt/gentoo/proc
umount /mnt/gentoo
reboot

[modifier] Faire fonctionner le NPTL sur des systèmes déjà en fonctionnement

On peut déjà trouver une documentation plus ou moins complète sur en:NPTL, mais nous en discuterons tout de même ici dans cet article.

Nous allons commencer par éditer le fichier /etc/make.conf


  • Ajoutez la ligne suivante à la fin du fichier, ou ajoutez simplement nptl à votre paramètres USE déjà existants.
Fichier : /etc/make.conf
USE="nptlonly"
  • Supprimez le linux-headers courant.
Code : Suppression de linux-headers
emerge -C linux-headers
  • Allez chercher le dernier gentoo-dev-sources (c'est obligatoire).
Code : Installation de gentoo-dev-sources
emerge gentoo-dev-sources
  • Installer linux26-headers :
Code : Installation de linux26-headers
emerge linux26-headers
  • Maintenant recompilez votre système pour qu'il utilise le NPTL :
Code : Recompiler la glibc avec le support de nptl
USE="nptlonly" emerge glibc


Redémarrez, et c'est fini.

[modifier] Sources

Autres langues