# [HOWTO] installation de Gentoo minimale

## loopx

Voici une documentation que j'ai faite pour ceux qui voudrait installer Gentoo ...  Il y aura surement des retouche à faire, mais le début m'a l'air déjà pas mal   :Cool: 

http://pix-mania.dyndns.org/web_plugin/documentation/DocumentationServlet?action=showpage&id=1

N'hésiter pas à me donner vos avis pour l'améliorer   :Wink: 



Si le lien "is dead", merci de lire la copie suivante :

Gentoo - installation minimale

Affiché 153 fois, révision 163, dernière mise à jour le 31/03/2008 19:32:14

Objectifs

L'objectif principal de cette documentation est d'apprendre à installer Gentoo Linux sans utiliser la documentation officiel qui est parfois beaucoup trop complexe et fourni beaucoup d'information inutile. Cette documentation est donc plus ciblée dans la mise sur pied du système minimum qui permettra, par la suite, de déployer une distribution Gentoo Linux pour serveur ou poste de travail (en anglais: 'server' ou 'desktop').

Pour votre information, "Gentoo Linux" est une distribution Linux dite "source": chaque programme à installer doit être "compilé" avant de pouvoir être utilisable. La compilation nécéssite les "sources" de l'application (qui sont le fruit du travail des développeurs); c'est de là que vient le mot "source" associé à Gentoo Linux  :Wink: 

Attention: cette documentation traite de l'installation Gentoo Linux x86 i686 (32 bits et non 64 bits! mais j'en parle quand même un peu, ce qui pourait s'avérer suffisant).

Prérequis

Pour installer Gentoo Linux, vous aurez besoin de ce qui suit :

- du temps libre (régulier, pour bien débuter)

- un ordinateur

- une connexion Internet (tout se fait via Internet)

- un cd Linux (n'importe quel liveCD) bootable

- de la motivation

- de la persévérence (ne baisser les bras!)

- de la logique (cela peut venir tout seul lors de l'installation)

Les points important d'une installation Gentoo

L'installation de votre tout nouvel OS Gentoo réclame l'accomplissement d'un certain nombre de point clé (dans un ordre préci) :

AVANT toute chose: sauvegarder vos données sensible (je le redirais jamais assez ...)

0. démarrer l'ordinateur sur un liveCD

1. création des partitions

2. téléchargement du dernier "stage" et du dernier "snapshot"

3. décompression des deux fichiers précédament téléchargé

4. entrer dans la nouvelle installation (chroot)

5. mise à jour du "portage" (qui est le gestionnaire de packet de Gentoo)

6. installation et configuration d'un noyau pour votre matériel

7. installation du lilo/grub pour avoir le choix du système d'exploitation à démarrer (point de démarrage de tout Linux)

8. essayer de démarrer la nouvelle installation

9. quelques configurations importantes

10. mise à jour de votre installation

Toutes ces étapes vous feront sans doute peur dans un premier temps, mais vous apprendrez bien vite que tout n'est que logique et compréhensible  :Smile: 

Syntaxe et autres informations utilisées dans la suite de cette documentation

La suite de cette documentation utilisera une syntaxe très simple mais devant être comprise par vous, futur utilisateur de Gentoo. Les prochains titres vont directement vous plonger dans l'installation de Gentoo.

Les commandes qui vous seront expliquées seront toutes précédées d'un caractère :

- '#' : précise que l'utilisateur ROOT doit être utilisé

- '$' : un utilisateur normal doit être utilisé (non ROOT)

Des exemples d'utilisation vous seront affichés histoire de voir un peu comment une commande va réagir. Ces paragraphes sont de couleur orange et seront présent pour vous aider dans la compréhension de Gentoo Linux.

Les titres utiliseront des numéros représentant l'ordre dans lequel les tâches d'installation doivent être traités.

Pour ceux qui iront plus loin dans cette documentation (donc après ce chapitre ...), je leur souhaite bonne chance d'avance.

Retenez ceci: ne jamais laisser tomber les bras (même que c'est ma grand mère qui me l'a dit); Linux est certe complexe, mais cela en vaut la peine. Il n'est pas rare de passer à côté de la résolution d'un problème à cause que l'on abandonne un souci un peu trop vite/facilement ... (à méditer ...)

0. Téléchargement du CD de Gentoo

Gentoo est une distribution Linux qui doit être installée via un liveCD (= CD Linux qui démarre à la place de Windows ou tout autre système d'exploitation présent sur un disque dur). Un CD/DVD Linux bootable permet de démarrer l'ordinateur et d'exécuter un environement Linux. Cet environement Linux (provenant du CD/DVD) va permettre d'installer Gentoo; c'est  lui qui apporte une série d'outils nécessaire à l'installation (partition, formattage, copie, décompression, accès au Web etc). Un liveCD (ou installCD) est un système d'exploitation compacté sur un CD/DVD !

Pour installer Gentoo, vous pouvez donc utiliser n'importe quel liveCD ou utiliser celui de Gentoo. Il en existe deux :

- liveCD (qui démarre une interface graphique contenant un navigateur Web etc ... plus simple pour les nouveaux)

- installCD (pas d'interface graphique, tout en console; plus de 10 fois plus petit que le liveCD)

Dans le cas ou vous souhaiteriez utiliser un liveCD différent, vérifier qu'il est capable de faire ce qui suit :

- prise en charge du réseau (connection internet obligatoire!)

- cfdisk (pour la création des partitions) ou autre

- mk* (pour le formatage ... ex: mkreiserfs, mkswap, mkext3, ..) ou autre

- mount (pour monter les partitions précédement créées; je doute fort qu'un liveCD oublie cette commande ...)

- wget, links ou équivalent (pour le téléchargement du "stage" et du "snapshot")

- tar (permet de gérer les fichiers "archives" et donc, de décompressé le stage et le snapshot)

- cp (pour la copie de fichier ... hum)

- chroot (pour entrer dans votre nouvelle installation)

Rassurez-vous: toutes ces commandes sont très souvent présentes sur tous liveCD Linux ^^. Pas besoin donc de vérifier si elle s'y trouve, c'était juste pour vous faire peur :p

Pour télécharger un des CD Gentoo, vous pouvez utiliser suivre ces étapes :

- démarrer un navigateur Web et rendez-vous sur "www.google.be" (ce sera votre ami!)

- faites une recherche sur: "gentoo mirrors" (et cliquer sur "j'ai de la chance" ou cliquer sur le premier site dans la liste des résultats)

- cliquer sur un des mirroir, par exemple: "Ovh Hosting Provider (http)" (note: aucun site belge n'est présent dans la liste des mirroirs; c'est assez récent et très étrange mais ce n'est pas grave du tout)

- une fois connecté au mirroir, entrer dans ces répertoires: "releases/x86/current/" et sélectionner le type de CD désiré. Noter que le fichier désiré est un fichier ".iso" (celui de plus grande taille et dont la version est la plus élevée).

Actuellement, voici la version que je choisirais si je voulais un liveCD: http://mirror.ovh.net/gentoo-distfiles/releases/x86/current/livecd/livecd-i686-installer-2007.0.iso

ATTENTION: certain (très) vieux PC ne savent pas exécuter les instructions i686; pour ceux-la, il faut un liveCD en i586 voir i386.

Notez aussi que, actuellement, il existe 2 grandes catégories d'instruction processeur (et donc, de liveCD):

- 32 bits => x86

- 64 bits (pour tout les AMD64) => amd64

Choisisser donc votre architecture en conséquence: x86 ou amd64 (qui couvrent la majorité des PC).

Si, par malheure, vous ne trouvez pas de CD/DVD pour votre amd64, vous pouvez sans problème utiliser un liveCD 32 bits (i686).

Ca y est ?

Vous avez trouvé le CD/DVD idéal ? Alors qu'attendez-vous! Télécharger-le et graver-le  :Wink: 

1. Démarrer l'ordinateur sur un CD/DVD Linux

Prennez le CD/DVD que vous venez de graver; celui-ci est dit "bootable", c'est à dire qu'il peut être utilisé pour "démarrer" l'ordinateur (à la place de Windows ... noter que le disque dur principal de votre ordinateur est toujours "bootable" sinon, votre système d'exploitation ne pourrait démarrer).

Pour parvenir à démarrer le CD/DVD Linux, vous devrez essayer l'une des techniques suivantes:

- simplement mettre le CD dans le bon lecteur: un seul lecteur est utilisé pour démarrer l'ordinateur (si vous en avez plusieurs, essayer chaqu'un d'entre eux pour ne pas passer à coté  :Wink:  ). Dans le meilleur des cas, le CD sera exécuté à la place de votre disque dur (à la place de Windows donc, si il est présent ...).

- utiliser le "boot menu" du BIOS: appuyer sur la touche permetant d'afficher le "boot menu" et selectionner votre lecteur CD. Généralement, la touche est "F8" ou "F11" voir "F12".

- modifier le paramètre "boot sequence" du BIOS: entrer dans le BIOS (touche "DEL" ou "F1" ou "F2" ou autre selon la carte mère) et modifier la séquence de démarrage en placant le lecteur CD/DVD AVANT le disque dur.

Si vous n'avez pas réussi à démarrer le CD, c'est que :

- soit vous êtes à coté de la plaque (99% des cas); re-tester les points précédents.

- soit votre CD/DVD ne fonctionne pas.

- soit votre lecteur CD/DVD ne fonctionne pas bien.

- soit vous avez une incompatibilité materiel (je vous conseil donc de poster sur le forum Gentoo, section francaise; voir "Liens utiles" dans le menu principal.

Maintenant, votre CD Linux doit démarrer. Lisez ce qu'il est afficher à l'écran ... Généralement, cela se passe de la sorte :

- le menu de démarrage du CD (dépend de la distribution et de la version) :

Soit le cd affiche quelques lignes, et il est marqué :

boot :

Dans ce cas, appuyer juste sur la touche ENTER et le CD va démarrer Linux.

Soit vous avez un joli menu; dans ce cas, démarrer juste le CD et pas une installation ... (exemple avec le CD de Kubuntu: ne prenner pas le choix "installer Kubuntu" si vous voulez installer Gentoo ... selectionner juste "démarrer Kubuntu").

- chargement du kernel de Linux à partir du CD (des lignes qui défile à l'écran)

- choix du type de clavier: choisisser "BE" ou "FR" (pour avoir un clavier AZERTY et non QWERTY).

- Linux est maintenant démarré (en "console" ou en "interface graphique"); vous pouvez commencer l'installation  :Wink: 

1.1. Problèmes connu avec les liveCD

Voici une liste de problème / solution si Linux ne parvient pas à se lancer :

- vous avez une erreur, et l'affichage se bloque: plus rien ne se passe :

Il est très possible que l'ACPI de votre ordinateur soit buggée (merci à Microsoft ...). La solution serait de désactiver la prise en charge de l'ACPI et de l'APIC; Linux ne serait plus tenté de gérer ceux-ci et passera à coté du problème. Pour ce faire, il faut passer des "paramètres" aux kernel Linux.

Arrivé au "boot :" du CD (quelques secondes après le démarrage du PC), à la place de faire ENTER, vous devrez entrer une ligne et ensuite, faire ENTER. La ligne est ainsi: "nom_du_kernel [option1] [option2] ...". Voici un exemple utilisant le CD Gentoo (qui contient 2 kernel: gentoo et gentoo-nofb) :

gentoo noacpi (suivit de ENTER)

Les problèmes de démarrage de Linux sont souvent du au BIOS qui possède une table ACPI buggée. Généralement, le problème est résolu en utilisant un ou plusieurs des options suivantes (qui désactive certaine fonctionnalités) :

- noapic (désactive APIC)

- noacpi (désactive ACPI)

- acpi=off (désactive ACPI)

- apic=off (désactive APIC)

Le problème vient de certain composant de l'ordinateur qui pose problème avec le kernel Linux (il est bien connu que les constructeurs construise des pc "Windows only!"... heureusement, la tendance est entrain de changer  :Wink:  ).

Pour information :

ACPI = Advanced Configuration Power Interface

APIC = Advanced Programmable Interrupt Controller

Si rien n'y fait, faites une recherche sur l'erreur complète dans "google"... n'oubliez jamais que lorsqu'un problème du genre survient, vous n'êtes généralement jamais le seul à l'avoir rencontré.

1.2 Quelques astuces

Si vous avez raté le moment ou le choix du clavier est proposé et que vous vous retrouvez avec un clavier "QWERTY", pas de panic; faites ceci:

loadkeys be-latin1

Aura pour effet de passer à un clavier belge ("AZERTY" donc).

Lors du démarrage du kernel Linux, il y a généralement un "framebuffer" qui masque les lignes du kernel. Un "framebuffer" est une image d'arrière plan ainsi qu'une jolie barre de progression servant à remplacer les vilaines lignes de code "qui font peur". Si vous souhaitez quand même voir les lignes de détection du kernel, essayer ceci :

- appuyer sur la touche 'i'

- appuyer sur la touche ESCAPE

Lors du démarrage, une commande vous ralenti considérablement (et est, en plus, complètement inutile). L'exemple typique est le DHCPCD (le client DHCP) qui attend une réponse d'un éventuel serveur DHCP (c'est lui qui envoye les configurations du réseau pour vos carte réseau). Pour éviter d'attendre, essayer ceci (lorsqu'elle vous fait attendre) :

- CTRL+c

- CTRL+d

- CTRL+z

2. Création des partitions

Dès que le CD/DVD Linux est démarré et vous laisse la parole, la première chose à faire est de créer les partitions nécessaire à votre nouvelle installation Gentoo Linux. C'est, en réalité, Linux qui nécessite au minimum 1 partition (celle qui contiendra l'installation Linux ... qui sera appellée la "partition racine"). Certain penseront que je dis des conneries mais c'est pas vrai ... En réalité, il y a 2 types de partitions "généralement" nécessaire :

- Linux (contient l'installation Linux)

- Swap (étend la mémoire vive de l'ordinateur)

J'ai dis que une seule partition était nécessaire, mais cela dépend de la quantité de RAM dont dispose votre machine. J'ai constaté que 1 Go de mémoire vive était amplement suffisant à la plupart des PC tournant sous Linux. En utilisation classique d'un PC de bureau, il est difficile de dépasser les 512 Mo d'utiliser; c'est pourquoi il n'est pas vraiment nécessaire d'utiliser une partition SWAP. Les PCs qui sorte actuellement regorge de mémoire vive ... 2 Go devient monaie courante (on peut féliciter Microsoft pour la création d'emploie  :Wink:  ca sa nouvelle bête, Windows Vista, est un vrai boulimique en ressource mémoire ce qui à donné un vrai coup de pouce au marché de la mémoire RAM ...).

Malgré cela, je recommande tout de même de créer une partition SWAP à cause du "on sais jamais" ... C'est ainsi que, passé 1 Go de mémoire RAM, je vous demanderais de créer une partition de 512 Mo de SWAP et pas plus, car cela est généralement inutile.

Attention: le partitionnement ne défini pas le type de partition "Linux" utilisé. En effet, celui-ci pourra être formaté en "EXT2", "EXT3", "REISERFS" ou autre; le type de la partition restant "Linux".

Mais, ou sont passé mes disques dur !!!???

Oui, en effet, il faut déjà trouver le disque dur ... Pour ce faire, utiliser cette commande :

# dmesg | grep X

mais, remplacer le X par ce qui suit :

- hda : premier disque IDE

- hdb : deuxième disque IDE

- hdc : troisième disque IDE

- hdd : quatrième disque IDE

- sda : premier disque SATA

- sdb : deuxième disque SATA

- sdc : ...

Quand vous tomberez sur la bonne device pointant vers le disque dur, il y aura ce genre de ligne :

loop ~ # dmesg | grep sda

Kernel command line: root=/dev/sda1

sd 0:0:0:0: [sda] 488397168 512-byte hardware sectors (250059 MB)

sd 0:0:0:0: [sda] Write Protect is off

sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00

sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA

sd 0:0:0:0: [sda] 488397168 512-byte hardware sectors (250059 MB)

sd 0:0:0:0: [sda] Write Protect is off

sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00

sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA

 sda: sda1 sda2 < sda5 > sda3 sda4

sd 0:0:0:0: [sda] Attached SCSI disk

Ceci ne correspond à aucun disque détecté :

loop ~ # dmesg | grep hda

    ide0: BM-DMA at 0xfc00-0xfc07, BIOS settings: hda:pio, hdb:pio

Ici, un graveur DVD :

loop ~ # dmesg | grep hdd

    ide1: BM-DMA at 0xfc08-0xfc0f, BIOS settings: hdc:pio, hdd:DMA

hdd: LITE-ON DVDRW LDW-411S, ATAPI CD/DVD-ROM drive

hdd: ATAPI 40X DVD-ROM CD-R/RW drive, 2048kB Cache, UDMA(33)

En principe, les lecteurs CD/DVD se trouve en "hdX" alors que les disques dur peuvent se trouver en "hdX" ou "sdX".

Pour créer ou supprimer une partition, vous pouvez utiliser la commande "cfdisk". Exemple:

# cfdisk /dev/hda

Ordonera à "cfdisk" de démarrer en utilisant le disque "hda".

C'est quoi "hda" ?

Il faut savoir que tout périphérique sous Linux (ou Unix) est identifié sous forme de fichier. C'est pour cela qu'on dit que "tout est fichier" pour les systèmes Linux ou Unix (Unix est le père de Linux ...). Un disque dur ressemble donc à ... un fichier, oui! Un composant va permettre la détection des disques dur; si il en trouve un, il lui attribue un "nom"... Plus précisément, il va associer le disque dur à "une device" (un appareil, en anglais). Les devices se trouve toute sous le répertoire "/dev/" (qui sont les 3 premières lettres de "device" ...).

Dans l'exemple précédant, "hda" correspond à la device et représente le disque dur.

Mais, comment les noms des "devices" sont-il attribué" ?

Ben, très simplement. Il y a 2 type d'attribution :

- un pour disque en IDE

- l'autre pour les disques SATA, PATA, USB

Pour rappel, les disques dur IDE sont les disques dur interne des PC; ont les reconnais grace à leur "nape" (= une sorte de rubant constitué d'une multitude de petits fils) large de plusieurs centimètre (~5 cm). Un PC possède généralement 2 port IDE; 1 port IDE peut servir à connecté 2 disques dur (ou 2 lecteurs CD/DVD). 2 port IDE = 4 disques. C'est ainsi que :

- hda (disque maître en IDE1)

- hdb (disque esclave en IDE1)

- hdc (disque maître en IDE2)

- hdd (disque esclave en IDE2)

Pour ce qui est des autres type de disque, cela est simple ... ca commence à "sda" et ca fini ... ou ca fini  :Smile:  :

- sda (premier périphérique de stockage de mass détecté)

- sdb (le deuxième)

- sdc (le 3ème ...)

- sdd (...)

Il faut savoir que les clé usb, appareil photo, disque dur externe, carte mémoire voir d'autre composant seront placé dans une device "sdX" ... lors de l'installation (avant le démarrage du PC), il est très important de retirer tout périphérique inutile connecté au PC via un port "USB" ou "FIREWIRE" !!! Si vous les laisser connecté, il pourrait être placé AVANT un disque dur interne, ce qui poserait quelques soucis très très pénible.

Reprenons ... dans "cfdisk", vous devez créer 2 partitions :

- "Linux" est (83)

- "Swap" est (82)

Si le disque ou Linux est installé doit être bootable, n'oubliez pas de mettre une partition en "boot" (la partition racine ou, si vous utiliser une partition pour stocker le répertoire "/boot/", la partition contenant ce répertoire). Dans ce document, nous utiliserons la partition racine comme partition de boot, pas besoin donc de "partition pour stocker le /boot/".

Attention: pour que les partitions soit créée, il faut absolument faire une écriture sur chaqu'une des partitions (write) et, pour bien faire, redémarrer l'ordinateur.

Vos partitions sont maintenant créées mais restent inutilisables! Il va falloir les formater  :Wink: 

3. Formatage des partitions

Pour rendre une partition utilisable, il est obligatoire de la formater, ce qui est très facile sur Linux :

# mkswap /dev/hda1

# mkreiserfs /dev/hda3

Le numero après "hda" représente la partition (voir dans cfdisk).

Noter que pour une partition, il faut utiliser "mkreiserfs" alors que pour la swap, c'est "mkswap". Si vous utiliser un autre type de partition, il suffi de mettre "mk" avant le nom  :Wink: .

Il est maintenant possible d'utiliser ces 2 partitions. Nous allons monter la partition racine ("hda3") dans le répertoire "/mnt/gentoo/" du liveCD de manière à créer un point d'entrée (sinon, on saurais pas l'utiliser).

# mount /dev/hda3 /mnt/gentoo

Cela aura pour effet de monter la partition "3" du disque "hda" dans "/mnt/gentoo/".

Pour utiliser la partition SWAP, il ne faut pas la monter: un commande existe (pour l'utilisation dans le liveCD; votre nouvelle installation utilisera cette partition si vous lui préciser la partition SWAP dans le fichier "/etc/fstab"):

swapon /dev/hda1

3.1. Les partitions sous Linux : différent de Windows

Linux ne représente pas les disques comme Windows : il n'y a pas de poste de travail comme dans Windows! Dans Linux, tout commence par une partition (celle où la nouvelle installation à été placé) qui est appellée la "racine" (noté "/") et qui représente l'entrée dans la partition Linux. C'est donc le répertoire parent de chaque dossier.

Chaque repertoire peut, si précisé, être contenu sur d'autre disque. Exemple: vous avez installé Linux sur un disque qui est maintenant trop petit (les sous répertoires de "/home/", les dossiers utilisateurs donc, sont maintenant trop gros). Et bien, vous pouvez facilement déplacer le répertoire "/home/" vers une autre partition; il suffira ensuite de monté la partition contenant les répertoires utilisateurs dans "/home/" pour que tout redevienne exactement comme avant, mais en étalant l'arborescence des fichiers sur 2 partitions.

Sous Linux, toute partition montée se trouve OBLIGATOIREMENT sous la racine. Lorsque l'on présente un répertoire sous cette forme: "/home/loopx/" (avec le "/" au début), celà signifie que l'on se dirige de la racine, vers "home" puis vers "loopx". Un répertoire sans "/" est un répertoire relatif (relatif à la position actuelle). Exemple: je suis dans "/home/" et je précise "loopx", ce qui correspond donc à "/home/loopx/" vu que je suis déjà dans "/home/".

Généralement, les partitions de données sont montées sous le répertoire "/mnt/".

Attention: la Swap ne se monte pas! N'essayer donc pas, cela ne fonctionne pas.

Note: le "/" en fin d'adresse ne sont pas nécessaire ("/mnt/" = "/mnt").

4. Téléchargement du "stage" et du "snapshot"

Avant d'aller plus loin, il va falloir "connecter" votre ordinateur à internet. Ceci n'est pas très compliqué mais séché que, à l'instant actuel de votre installation, il sera bien plus probable que uniquement votre carte réseau fillaire fonctione (et pas votre carte Wifi). Cela dépend bien sûr de votre liveCD et de votre matériel. Dans un premier temps, il faut regarder quelle carte a été détecté; faites ceci :

ifconfig -a

Voici un exemple d'affichage de carte réseau :

loop ~ # ifconfig -a

eth0      Lien encap:Ethernet  HWaddr 00:13:8F:2F:7C:94

          inet adr:169.254.54.174  Bcast:169.254.255.255  Masque:255.255.0.0

          UP BROADCAST MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 lg file transmission:1000

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

          Interruption:16 Adresse de base:0xbc00

lo        Lien encap:Boucle locale

          inet adr:127.0.0.1  Masque:255.0.0.0

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:24 errors:0 dropped:0 overruns:0 frame:0

          TX packets:24 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 lg file transmission:0

          RX bytes:1804 (1.7 Kb)  TX bytes:1804 (1.7 Kb)

wlan0     Lien encap:Ethernet  HWaddr 00:40:F4:C3:7C:18

          inet adr:10.2.1.6  Bcast:10.2.1.63  Masque:255.255.255.192

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:11954 errors:2287 dropped:0 overruns:0 frame:0

          TX packets:7498 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 lg file transmission:1000

          RX bytes:14639140 (13.9 Mb)  TX bytes:896175 (875.1 Kb)

          Interruption:21 Adresse de base:0xa000

L'exemple précédent affiche le nombre de carte reconnue dans mon PC. Notez que je ne suis pas sur un liveCD (mais celà ne change rien). Voici la liste des cartes réseaux détectées :

- lo : la boucle local (127.0.0.1) qui est toujours présente

- eth0 : une carte réseau câblée

- wlan0 : une carte réseau Wifi

Pour éviter tout problème inutile, on n'utilisera pas la carte réseau Wifi mais plutôt la carte réseau filaire. Deux choix s'offre à vous pour configurer cette dernière :

- automatique

- manuel

La technique "automatique" est bien plus simple à mettre en oeuvre, mais il faut que un serveur DHCP soit sur votre réseau (fourni par un "routeur" ou un "modem" par exemple). Connecter votre PC avec un câble réseau approprié et faites ceci :

# dhcpcd eth0

où "eth0" est le nom de l'interface de la carte filaire. Si la commande se termine sans erreur, c'est que vous avez du réseau sinon, c'est que le serveur DHCP n'a pas répondu.

Si la commande "dhcpcd" n'a pas fonctionné, faites ceci (configuration manuel du réseau) :

# ifconfig eth1 192.168.0.10 netmask 255.255.255.0 up

# route add default gw 192.168.0.1

# echo "nameserver 192.168.0.1" > /etc/resolv.conf

ici, on règle le PC sur un réseau (192.168.0.0, à adapter), on ajoute la route par défaut vers internet (vers le routeur) et on règle le DNS (pour la conversion des adresses "www.google.be" en adresse IP).

Après ces étapes, un :

# ping www.google.be

devrais donner ceci :

loop ~ # ping www.google.be

PING www.l.google.com (66.249.93.147) 56(84) bytes of data.

64 bytes from ug-in-f147.google.com (66.249.93.147): icmp_seq=1 ttl=241 time=132 ms

64 bytes from ug-in-f147.google.com (66.249.93.147): icmp_seq=2 ttl=241 time=139 ms

64 bytes from ug-in-f147.google.com (66.249.93.147): icmp_seq=3 ttl=241 time=94.3 ms

64 bytes from ug-in-f147.google.com (66.249.93.147): icmp_seq=4 ttl=241 time=156 ms

64 bytes from ug-in-f147.google.com (66.249.93.147): icmp_seq=5 ttl=241 time=79.9 ms

ce qui signifie que votre ordinateur à accès à Internet  :Wink: 

Il est l'heure de télécharger le "stage" et le "snapshot". Le "stage" représente, le système d'exploitation Linux Gentoo minimal "de base"; c'est lui qui fourni la "première version" de votre installation toute neuve. Le "stage" est en réalité une archive compressée qui contient l'arborescence des fichiers Linux, et plus précisément Gentoo (vu que l'on isntalle Gentoo).

Vous devez soit télécharger le stage sur Internet, soit utiliser le stage fourni sur le CD (si vous le trouver ...). Nous utiliserons ici la version Internet qui est, bien entendu, plus à jour que celle que vous pourriez trouver sur CD/DVD. Pour ce faire, vous utiliserez soit le navigateur présent sur le liveCD (via l'interface graphique, utiliser Firefox par exemple), soit la commande "links" ou "links2" (qui est un navigateur en console) ou encore "wget" (si vous connaissez l'adresse exacte de l'archive).

Je vous conseil "links2" qui est une amélioration de "links": il va vous permettre de contacter google pour effectuer une recherche sur "gentoo mirrors" pour ensuite utiliser un des mirroirs pour le téléchargement du stage.

Vous trouverez le stage sous le répertoire "releases/x86/current/stages".

Attention de prendre la version adéquate adaptée à votre architecture (x86 ou amd64 principalement).

Pour une installation 32bits de base, voici le lien que j'utiliserais:

http://mirror.ovh.net/gentoo-distfiles/releases/x86/current/stages/stage3-i686-2007.0.tar.bz2

Notez la présence des "stage" 1, 2 ou 3 qui corresponde à différentes étape de compilation; utiliser la 3 car il n'est vraiment pas utile de passer par la 1 ou 2 (qui compliquerais bien la chose au passage). Il existe aussi une version "x86" et "i686" pour l'architecture "x86 32bits" simple. Utilisez celle en i686 qui utilise les instructions i686 plus récente que celle de "x86" qui n'est autre que i386 (assez vieille). Tout les processeurs actuelle supporte les instructions i686.

Vous l'avez probablement remarqué, l'archive que vous devez télécharger et contenant le stage est au format "tar.bz2". Ce format est une archive (tar) compressée (bz2) (qui doit être un concurrent du format "zip" très connu sur le Net). Vous utiliser l'outil "tar" pour la compression/décompression.

Avant de télécharger quoi que ce soit, il faut entrer dans la partition Linux qui est actuellement vierge:

cd /mnt/gentoo

Une fois dedans, démarrer "links" et télécharger le stage (faite "ALT-f" si vous ne comprenez pas pourquoi il n'y a rien dans links  :Wink:  ); Le stage sera sauvegardé dans le répertoire courant (c'est pour ca que l'on s'ai placé dans la partition avant de lancer links: c'est dans cette partition qu'il y a de l'espace libre).

Avant de continuer plus loin et de traiter l'archive du stage, vous aller aussi télécharger le "snapshot" en procédant de la même manière que pour le stage. Le "snapshot" est aussi une archive; celle-ci contient l'arborescence du "portage" (qui est le gestionnaire de packet, truc servant à installer/désinstaller des programmes). Cette archive contient une série de sous-répertoires qui représente toutes les applications disponibles dans Gentoo (installable via la commande "emerge" du gestionnaire de packet, ce qui est très simple). Les applications ne s'y trouvant pas doivent être compilées à la main (elle sont très rare et on en aura pas besoin dans cette doc  :Smile:  ).

Le "snapshot" se trouve sous le répertoire "snapshots" des mirroirs Gentoo. Actuellement, j'utiliserais ce lien pour télécharger le "snapshot":

http://mirror.ovh.net/gentoo-distfiles/snapshots/portage-latest.tar.bz2

5. Décompression du "stage" et du "snapshot"

Nous possédons le "stage" ainsi que le "snapshot" (voir point précédent). La documentation va s'accélérer un peu pour laisser place au language des "commandes" (élément clé de Linux). Pour chaque commande, une simple explication sera présente.

Tout commence par la commande "tar" qui va prendre 4 paramètres :

- 'x' : décompression

- 'v' : mode bavard; affichage de chaque fichier

- 'j' : format de l'archive "bzip2"

- 'f' : aucune idée, me demande même si c'est encore utile  :Surprised: 

- "-C" : précise le répertoire de destination

Se placer dans le répertoire ou tout commencera (normalement, vous y êtes déjà)

# cd /mnt/gentoo

Décompresser le "stage3" (il faut le décompacter là ou on se trouve)

# tar xvjf FICHIER_ARCHIVE_STAGE

Décompresser le "snapshot" qui contient donc les fichiers utile au portage (notez le "-C" pour préciser la destination)

# tar xvjf FICHIER_ARCHIVE_SNAPSHOT -C /mnt/gentoo/usr/

Si tout s'est bien déroulé, vous devriez avoir, dans le répertoire "/mnt/gentoo", une arborescence ainsi:

drwxr-xr-x  21 root root   576 nov 25 22:08 .

drwxr-xr-x  21 root root   576 nov 25 22:08 ..

drwxr-xr-x   2 root root  3000 fév 22 07:56 bin

drwxr-xr-x   3 root root   544 nov 28 04:51 boot

drwxr-xr-x  14 root root 14000 fév 21 18:58 dev

drwxr-xr-x  83 root root  5432 fév 22 10:13 etc

drwxr-xr-x   6 root root   168 sep 18 00:41 home

drwxr-xr-x  10 root root  5032 fév 22 09:49 lib

drwxr-xr-x   2 root root   120 fév 21 18:57 media

drwxr-xr-x   6 root root   176 nov 26 03:40 mnt

drwxr-xr-x  20 root root   608 déc 23 16:47 opt

dr-xr-xr-x 127 root root     0 fév 21 18:57 proc

drwx------  55 root root  6000 fév 22 09:18 root

drwxr-xr-x   2 root root  4272 fév 22 04:16 sbin

drwxr-xr-x  11 root root     0 fév 21 18:57 sys

drwxrwxrwt 185 root root 30560 fév 22 10:13 tmp

drwxr-xr-x  16 root root   560 déc  5 16:19 usr

drwxr-xr-x  15 root root   408 nov  9 03:05 var

Note: pour afficher le contenu d'un répertoire, utiliser la commande "ls".

Sous le répertoire "/mnt/gentoo/usr", vous devez avoir un répertoire nomé "portage" qui contient une série de répertoire représentant des catégories:

total 1441

drwxr-xr-x 160 root root       4816 mar 21 17:00 .

drwxr-xr-x  16 root root        560 fév 23 03:31 ..

drwxr-xr-x  37 root root       1072 mar 21 14:08 app-accessibility

drwxr-xr-x 175 root root       5040 mar 21 14:08 app-admin

drwxr-xr-x   6 root root        192 mar 21 14:08 app-antivirus

drwxr-xr-x  79 root root       2080 mar 21 14:08 app-arch

drwxr-xr-x  35 root root        976 mar 21 14:08 app-backup

drwxr-xr-x  23 root root        608 mar 21 14:08 app-benchmarks

drwxr-xr-x  55 root root       1488 mar 21 14:08 app-cdr

drwxr-xr-x  77 root root       2120 mar 21 14:07 app-crypt

drwxr-xr-x 243 root root       8048 mar 21 14:07 app-dicts

drwxr-xr-x  55 root root       1744 mar 21 14:07 app-doc

drwxr-xr-x  76 root root       1920 mar 21 14:07 app-editors

...

Pour vérifier, rendez-vous dans "/mnt/gentoo/usr/portage" et faite "ls" pour vérifier si le répertoire n'est pas vide. Si vous êtes perdu, utiliser la commande "pwd" qui permet d'afficher le répertoire courant (ou vous vous trouvez donc).

L'installation du "stage" et "snapshot" est maintenant terminé  :Smile: 

6. Entrer dans la nouvelle installation

Il existe une fonction importante dans Linux; elle est utilisé pour deux actions différents:

- emprisonner un utilisateur dans un répertoire (il ne pourra pas en sortir; le repertoire est devenu la partition principal)

- déplacer la racine "/" vers un répertoire quelconque se trouvant sous cette même racine

Pour faire cela, il faut utiliser la commande "chroot" qui signifie "change root" (root = racine). Arrivé à ce stade de l'installation, nous avons besoin de changer la racine de position.

Pourquoi changer la racine de position ??? C'est très simple :

Actuellement, nous utilisons les commandes fournie par le CD/DVD (autrement dit, chaque commande tapée dans le shell (= invite de commande dit à la sauce Windows = console) fait appel au CD/DVD et exécute donc la commande présente sur le CD. En fait, si on y pense un peu, c'est logique: un CD Linux bootable n'est autre qu'un média contenant une installation Linux; celui-ci contient les répertoires contenant les commandes (/usr/bin, /usr/sbin, /bin, /sbin).

Maintenant que nous avons décompressé le stage, nous possédons aussi ces commandes "de base" sur le disque dur. Pour pouvoir les utilisers (celle du disque dur et non celle du CD), il faut modifier l'emplacement de la racine.

Ce n'est pas encore très clair comme explication ...

Lorsque l'on tape une commande dans le shell, ce dernier va chercher la commande suivant cet ordre :

- dans le répertoire courant

- dans le PATH

Le "path" contient une série de répertoire: "/usr/bin", "/usr/sbin", etc ... Si nous ne déplacons pas la racine, les commandes utilisée resterons celle du CD/DVD... sauf si on précise le chemin complet (absolu) tel que (pour la commande "ls"):

# /mnt/gentoo/bin/ls

Attention, n'espéré pas éviter la commande "chroot" sous prétexte que vous utiliser le chemin absolu pour exécuter la commande! En effet, beaucoup de ces commandes sont des scripts (qui vont eux même appeler d'autre commande). Si le chroot n'est pas fait, la première commande sera bien exécuté mais toutes les autres commandes appellées par cette première comande poserons des soucis (parce que appelée via le chemin normal, à savoir /usr/XXX et non /mnt/gentoo/usr/XXX).

Donc, la commande "chroot" va nous permettre de "redéfinir" la racine. A la place d'avoir "racine = CD/DVD", nous allons avoir "racine = partition Linux sur disque dur". La racine va donc être déplacée de "/" vers "/mnt/gentoo"; ce répertoire sera donc la nouvelle racine... nouvelle racine UNIQUEMENT pour le shell courant! (sinon, l'exécution du Linux via le liveCD serait compromise).

Avant de chrooté, veuillez exécuter ces commandes :

Lier le répertoire des devices du votre installation vers les devices générée par le CD/DVD

# mount -o bind /dev /mnt/gentoo/dev

Recopier le fichier de configuration du domaine & DNS du CD/DVD vers votre nouvelle installation

# cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf

Pour effectuer le "chroot, tapez ceci :

# chroot /mnt/gentoo /bin/bash

Note: "/bin/bash" est la commande qui sera exécutée lorsque la racine aura été déplacée. Autrement dis, un nouveau shell sera exécuté dans le shell courant (un simple "exit" vous fera retourner dans le shell précédant, fermant le nouveau shell et stoppant le chroot qui n'a plus de raison d'être).

Une fois exécuté, taper les commandes qui suivent dans le shell chrooté (elle sont nécessaire au bon fonctionnement de votre installation Gentoo au moment présent! Si vous ométez celle-ci, vous obtiendrez des erreurs inatendues!).

Voici la liste des comandes à taper une fois le chroot effectué:

Mise à jour des variables d'environement

# env-update

D'autre variable d'environement

# source /etc/profile

Monter les processus (/proc)

# mount -t proc none /proc

Note: pour passer d'un environement chrooté à un environement normal (liveCD), utiliser les touches pour passer d'un terminal à l'autre : CTRL-ALT. Vous êtes dans le terminal 1 ou 7 (CTRL-ALT+F1 ou F7), pour passer au 2 (qui n'est pas utilisé), faite ceci : CTRL-ALT+F2 (c'est une console provenant du liveCD). CTRL-ALT+F1 ou F7 (si vous étiez en environement graphique) pour revenir au terminal où vous vous trouviez avant.

Ceci fait, vous êtes maintenant prêt à "Gentoozer" sur votre installation toute neuve et pas encore terminée...

Pour être sûr que tout fonctionne (ou presque sûr), taper la commande suivante :

# ifconfig

(affiche les connexions réseaux actives)

Cela ne doit pas provoquer d'erreur! Vous devriez obtenir un truc du genre:

lo        Lien encap:Boucle locale

          inet adr:127.0.0.1  Masque:255.0.0.0

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:3369 errors:0 dropped:0 overruns:0 frame:0

          TX packets:3369 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 lg file transmission:0

          RX bytes:928722 (906.9 Kb)  TX bytes:928722 (906.9 Kb)

wlan0     Lien encap:Ethernet  HWaddr 00:40:B4:C3:7a:24

          inet adr:10.2.1.6  Bcast:10.2.1.63  Masque:255.255.255.192

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:1779479 errors:146999 dropped:0 overruns:0 frame:0

          TX packets:1112519 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 lg file transmission:1000

          RX bytes:2544307615 (2426.4 Mb)  TX bytes:100218614 (95.5 Mb)

          Interruption:21 Adresse de base:0xa000

Notez que l'on en a rien à faire de "lo" (qui est la boucle local); ce qui importe est "ethX" ou "wlanX" voir autre (ici wlan0). Si vous n'avez que "lo", celà signifie qu'aucune interface n'est actuellement active (donc pas de Net)! Et si vous avez des erreurs à cet endroit, c'est que vous avez oublié de re-monter "/proc" dans votre nouvelle installation.

7. Mise à jour du portage

Vous êtes à présent entré dans votre toute nouvelle installation Gentoo. Chaque commande que vous aller taper sera exécutée par votre installation. Il est à noter que beaucoup de commande ne seront plus disponible, à comparer au CD/DVD utilisé pour démarrer l'ordinateur; cela est tout à fait normal. Rappelez-vous: vous avez une installation Gentoo des plus minimaliste actuellement.

La première chose à faire est de mettre le portage à jour; faites donc ceci :

#emerge --sync

Cela va mettre à jour les répertoires et fichiers se trouvant sous le répertoire "/usr/portage". Cette opération est assez longue, pas de panique. Une fois à jour, vous aurez la possibilité d'installer la dernière version disponible de chaque programme.

Ci-dessous, un exemple de synchronisation :

loop ~ # emerge --sync

>>> Starting rsync with rsync://134.68.220.73/gentoo-portage...

>>> Checking server timestamp ...

Welcome to raven.gentoo.org

Server Address : 134.68.220.73

Contact Name   : mirror-admin@gentoo.org

Hardware       : 2 x Intel(R) Xeon(TM) CPU 1700MHz, 2019MB RAM

Please note: common gentoo-netiquette says you should not sync more

than once a day.  Users who abuse the rsync.gentoo.org rotation

may be added to a temporary ban list.

MOTD autogenerated by update-rsync-motd on Sun Oct 14 03:24:55 UTC 2007

receiving file list ... done

timestamp.chk

Number of files: 1

Number of files transferred: 1

Total file size: 32 bytes

Total transferred file size: 32 bytes

Literal data: 32 bytes

Matched data: 0 bytes

File list size: 32

File list generation time: 0.001 seconds

File list transfer time: 0.000 seconds

Total bytes sent: 210

Total bytes received: 562

sent 210 bytes  received 562 bytes  308.80 bytes/sec

total size is 32  speedup is 0.04

Welcome to raven.gentoo.org

Server Address : 134.68.220.73

Contact Name   : mirror-admin@gentoo.org

Hardware       : 2 x Intel(R) Xeon(TM) CPU 1700MHz, 2019MB RAM

Please note: common gentoo-netiquette says you should not sync more

than once a day.  Users who abuse the rsync.gentoo.org rotation

may be added to a temporary ban list.

MOTD autogenerated by update-rsync-motd on Sun Oct 14 03:24:55 UTC 2007

receiving file list ... done

deleting .ebuild.x

deleting dev-db/opendbx/opendbx-1.3.5.ebuild

deleting dev-db/opendbx/opendbx-1.3.4.ebuild

... [beaucoup de lignes]

xfce-extra/xfce4-xkb/

xfce-extra/xfkc/

xfce-extra/xfmedia/

xfce-extra/xfwm4-themes/

Number of files: 122421

Number of files transferred: 525

Total file size: 152164878 bytes

Total transferred file size: 2414694 bytes

Literal data: 2414694 bytes

Matched data: 0 bytes

File list size: 2978940

File list generation time: 27.004 seconds

File list transfer time: 0.000 seconds

Total bytes sent: 57928

Total bytes received: 5465337

sent 57928 bytes  received 5465337 bytes  15894.29 bytes/sec

total size is 152164878  speedup is 27.55

>>> Updating Portage cache:  100%

Performing Global Updates: /usr/portage/profiles/updates/1Q-2008

(Could take a couple of minutes if you have a lot of binary packages.)

  .='update pass'  *='binary update'  @='/var/db move'

  s='/var/db SLOT move' S='binary SLOT move' p='update /etc/portage/package.*'

...........

q: Updating ebuild cache ...

q: Finished 24368 entries in 0.800207 seconds

loop ~ #

[la, c'est fini  :Smile: ]

Il se peut que, à la fin de la synchronisation, "emerge" vous demande de mettre à jour le packet "portage". Si c'est le cas, c'est qu'une mise à jour des scripts du gestionnaire de packet est disponible. Il est très important d'effectuer cette mise à jour avant toute autre installation! (même si on ne vois aucune différence).

Pour procéder à la mise à jour de portage, faites ceci:

# emerge portage

ce qui aura pour effet de demander au portage d'installer le packet "portage"; par défaut, il prendra la dernière version disponible pour votre architecture et selon votre profile. Vous pouvez lui faire confiance à 100%. Il va effectuer cette tâche dans cette ordre :

- téléchargement du packet (uniquement si vous ne l'avez pas encore téléchargé)

- compilation du packet (si nécessaire)

- installation du packet

- désinstallation de la version plus ancienne (si nécessaire)

A la fin de l'installation, emerge pourrait vous indiquer que des fichiers de configuration doivent être installé. En fait, un packet peut être livré avec une série de fichier de configuration se mettant automatiquement à jour. Pour éviter d'écraser vos configuration personnalisée, celui-ci ne fera rien. C'est donc à vous de lancer la commande "etc-update" si nécessaire après une nouvelle installation ou une mise à jour.

Lancer "etc-update" et procéder dans cette ordre:

# etc-update

- afficher la liste des configurations à mettre à jour

- repérer les configurations que vous avez personnellement modifié

- taper (une à une, pas tout en même temps) le numéro des fichiers dont vous ne voulez pas que la mise à jour écrase l'original

- une "comparaison" entre le fichier original et la mise à jour vous est affiché (cela permet de voir les modifications apportée par la mise à jour)

- appuyer sur "q" pour quitter la comparaison

- faite votre choix: 1 => mettre à jour le fichier, 2 => supprimer la mise à jour du fichier de configuration

- répéter la "selection des fichiers dont vous ne souhaiter pas la mise à jour" jusqu'a ce qu'il ne reste plus que des fichiers dont vous vous en fouter (ceux-ci seront écraser d'un seul coup)

- vous avez le choix pour les fichiers restant: 3 => mise à jour avec confirmation, 5 => mise à jour sans confirmation (perso, je prend la 5 mais je vous conseil la 3 dans un premier temps ...)

Votre portage est maintenant à jour, ainsi que les scripts lui conférants toutes ces fonctinonalités.

8. Configuration de Gentoo

8.1. Le "make.conf"

Le fichier "make.conf" est très important et est spécifique à Gentoo. C'est lui qui va permettre de donner des informations aux packets à installer. Il contient tous les flags et aussi, d'autre variable permettant le choix du type d'instruction à utiliser lors de la compilation.

Voici un exemple de "/etc/make.conf" :

CFLAGS="-O2 -march=i686 -fomit-frame-pointer -pipe"

CHOST="i686-pc-linux-gnu"

CXXFLAGS="${CFLAGS}"

USE="tunepimp qt3support exif kipi xcb amr subtitles mplayer theora real aiglx nsplugin visualization gstreamer imlib -esd gif encode spell mikmod xmms mp3 mpeg -sdl xml png ogg unicode mad motif sndfile truetype javascript iproute2 tiff ppds qt3 qt4 scanner pdf wifi gphoto2 audiofile sensord logitech-mouse xine lm_sensors kdeenablefinal -mythtv -apache2 -apache v4l ffmpeg xvmc aac aalib asf jpeg2k xscreensaver oracle arts glitz cairo nptl nptlonly dri ipv6 -mysql jpg jpeg xprint a52 ssl socks5 mozilla ithreads threads pthreads xosd java -gnome sdk fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow X avi directfb gtk xv dts dvdread dvdr opengl alsa cdrom dvd mmx 3dnow dma udma dri xorg kde ati avi dga dio dts vorbis win32codecs xinerama dbus hal divx4linux network xvid quicktime xv samba acpi"

INPUT_DEVICES="keyboard mouse evdev"

VIDEO_CARDS="radeon"

LINGUAS="fr"

Dans l'exemple précédant, remarquer les 3 premières ligne :

- CFLAGS : option pour le compilateur et choix du type d'instruction (ici, i686 => générique)

- CHOST : encore le type d'instruction (i686)

- CXXFLAGS : aucune importance, il ne changera jamais

Dans Gentoo, il y a 2 possibilités pour la compilation :

- utiliser des flags qui sont très proche du processeur de votre machine

- utiliser des flags qui sont plus générique (i686)

Le premier cas est, par exemple, une Gentoo sur un Centrino (pentium M). Les programmes sont compilés uniquement pour le processeur Centrino et aucun autre. Cela est plus rapide, mais il sera impossible de copier l'installation vers une autre machine.

Le deuxième cas utilise des instructions bien plus générique que le premier (i686). Ainsi, une fois installé, la Gentoo pourrait être copié sur une autre machine (il faut que le processeur supporte le i686 ce qui est très souvent le cas). Il y a moyen d'optimisation, pas d'utilisation d'instruction spécifique à un processeur en particulier; cela apporte plus de généricité.

Si vous souhaitez utiliser des instructions optimisée au maximum pour votre processeur, vous devez jetter un oeil au wiki regroupant toutes les valeurs pour les 2 premiers flag selon le type de processeur. Rendez-vous ici :

http://fr.gentoo-wiki.com/HOWTO_CFLAGS

8.2. Le "fstab"

Le fichier "/etc/fstab" regroupe tout ce qui doit être "monté" au démarrage de Linux. Cela passe du "/proc" en passant par "/" (racine) et toute les partitions de données.

Voici un exemple de "/etc/fstab" :

#                                                  

/dev/sda5               swap            swap            defaults                0 0

/dev/sda1               /               reiserfs        defaults                0 0

/dev/sda3               /mnt/data       reiserfs        defaults                0 0

/dev/sda4               /mnt/transfert  ntfs-3g         defaults,force          0 0

# NOTE: The next line is critical for boot!

none                    /proc           proc            defaults                0 0

none                    /dev/shm        tmpfs           defaults                0 0

Dans l'exemple précédant, on retrouve notamment la SWAP, la SHM (Shared Memory = mémoire partagée), toutes partitions à utiliser.

Attention: cela fait un bon moment que le FSTAB n'a plus besoin de préciser les disques amovible (CD/DVD, clé usb et autre). Le montage de ces périphériques amovibles est réalisé grace à HAL (qui détecte quand un périphérique amovible est connnecté). Si vous avez KDE, c'est lui qui fera en sorte de monter le périphérique détecté par HAL.

8.3. Autres configurations

Il reste encore quelques fichiers de configuration à configurer (très simplement). Les fichiers de configurations se trouve généralement sous le répertoire "/etc/"; les fichiers de configurations des services se trouvent sous "/etc/conf.d/". Rendez-vous dans cd dernier :

cd /etc/conf.d/

Commencer par éditer le fichier "clock" :

CLOCK="local"

Editer le fichier "hostname" et placer-y le nom de votre machine :

HOSTNAME="loop"

Editer le fichier "keymaps" pour configurer le clavier :

KEYMAP="be-latin1"

Editer le fichier "xdm" (pour l'authentification sur serveur X); kdm => kde, gdm => gnome

DISPLAYMANAGER="kdm"

9. Installation et configuration du kernel (noyau) Linux

Pour installer et configurer le kernel (celui de Gentoo), vous avez besoin de :

- gentoo-sources

- pciutils

Ce dernier contient la commande "lspci" qui sera très utile pour connaitre le type de materiel du PC. Installer donc ces deux packets en faisant ceci :

emerge gentoo-sources pciutils -pv

Voici un exemple provenant de mon PC :

loop # emerge gentoo-sources pciutils -pv

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild  NS   ] sys-kernel/gentoo-sources-2.6.24-r3  USE="-build -symlink" 82 kB

[ebuild   R   ] sys-apps/pciutils-2.2.10  USE="zlib -network-cron" 0 kB

Total: 2 packages (1 in new slot, 1 reinstall), Size of downloads: 82 kB

Dans l'exemple précadant, noter que "pciutils" est déjà installé sur mon système (R) et que le kernel (gentoo-sources) ne le sont pas encore (N); de plus, ce dernier sera placé dans un nouveau slot (emplacement) (S) ce qui ne provoquera pas de désinstallation de la version précédente.

Pour information, les sources du kernel contienne des milliers de drivers de tout type. Les sources sont bien le code source du kernel (on peut voir le travail des développeurs et l'améliorer si on y arrive ^^). L'installation du kernel n'est donc pas une compilation! C'est juste l'installation des sources; à vous de le compiler!

Pour vous aider à configurer le kernel, vous aurez besoin de "lspci" qui vous donne des informations sur tout les composants connectés au bus PCI.

Voici un exemple de "lspci" provenant de mon PC :

loop # lspci

00:00.0 Host bridge: VIA Technologies, Inc. VT8377 [KT400/KT600 AGP] Host Bridge (rev 80)

00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI Bridge

00:0b.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 07)

00:0b.1 Input device controller: Creative Labs SB Live! Game Port (rev 07)

00:0c.0 Network controller: Texas Instruments ACX 111 54Mbps Wireless Interface

00:0d.0 Multimedia video controller: Conexant CX23880/1/2/3 PCI Video and Audio Decoder (rev 03)

00:0d.1 Multimedia controller: Conexant CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] (rev 03)

00:0f.0 RAID bus controller: VIA Technologies, Inc. VIA VT6420 SATA RAID Controller (rev 80)

00:0f.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)

00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)

00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)

00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)

00:10.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)

00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86)

00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge [KT600/K8T800/K8T890 South]

00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 7 :Cool: 

01:00.0 VGA compatible controller: ATI Technologies Inc RV350 AP [Radeon 9600]

01:00.1 Display controller: ATI Technologies Inc RV350 AP [Radeon 9600] (Secondary)

Voici la partie la plus compliqué de l'installation de Gentoo Linux ... Beaucoup de personnes utilise des distributions binaire installable comme Windows (click click donc ...) mais, il finisse toujours par être confronté à la mise à niveau du kernel ou à la modification de celui-ci. Ces personnes auront facile au début, mais après, tout se compliquera lors des mises à jours. Dans Gentoo, on est directement dans la problématique des configurations. Une fois effectuées, tout est bien plus simple  :Smile: .

La configuration du kernel, si c'est votre première fois, va prendre un certain temps et surtout, va provoquer un certain nombre de crash (kernel panic) parce que vous aller surement oublier des options importante ce qui empêchera Linux de démarrer correctement. Ne vous inquiétez pas, c'est tout à fait normal pour un début (je l'ai fais planté 10 fois environ à ma première fois).

Souvenez-vous : regarder bien l'erreur qui s'affiche, faites une recherche sur google ou sur le forum Gentoo; si le problème persiste, demander de l'aide sur le forum Gentoo et surtout, ne laisser pas tomber les bras! (je pense que c'est le pire).

Pour débuter la configuration du kernel (après l'avoir emergé), faites ceci :

# cd /usr/src

Cela va vous déplacer dans le répertoire des "sources".

Voici un exemple de ce que l'on peut y trouver :

loop ~ # cd /usr/src

loop src # pwd

/usr/src

loop src # ls -la

total 8

drwxr-xr-x 10 root root  416 mar  2 01:13 .

drwxr-xr-x 16 root root  560 fév 23 03:31 ..

-rw-r--r--  1 root root    0 aoû  3  2005 .keep

lrwxrwxrwx  1 root root   22 mar  2 01:13 linux -> linux-2.6.22-gentoo-r6

drwxr-xr-x 20 root root 1560 nov 28 03:07 linux-2.6.20-xen-r6

drwxr-xr-x 20 root root 1456 mar  2 01:29 linux-2.6.22-gentoo-r6

drwxr-xr-x 19 root root 1216 nov 28 04:49 linux-2.6.23-gentoo

drwxr-xr-x 19 root root  736 nov 22 01:31 linux-2.6.23-gentoo-r2

drwxr-xr-x 19 root root  736 nov 28 05:52 linux-2.6.23-gentoo-r3

drwxr-xr-x 19 root root  736 déc 20 22:18 linux-2.6.23-gentoo-r4

drwxr-xr-x 19 root root  736 jan  5 04:59 linux-2.6.23-gentoo-r5

drwxr-xr-x 21 root root 1512 fév 27 00:38 linux-2.6.24-gentoo-r2

L'exemple précédent utilise la commande "pwd" qui permet d'afficher le répertoire courant. La commande "ls" est utilisée pour lister les fichiers et répertoires. Noter les paramètres utiliser :

- 'l' : liste détaillée

- 'a' : afficher les fichiers caché (les fichiers et répertoires commencant par un '.')

Dans la liste, il y a un "lien symbolique" :

lrwxrwxrwx  1 root root   22 mar  2 01:13 linux -> linux-2.6.22-gentoo-r6

C'est une sorte de raccourci; le lien symbolique "linux" pointe vers le répertoire "linux-2.6.22-gentoo-r6" qui sont les sources du kernel Gentoo version "2.6.22-r6". Un "lien symbolique" peut pointer vers un répertoire ou vers un fichier. Dans la ligne ci-dessus, le premier caractère correspond à :

- '-' : un fichier

- 'd' : un répertoire (directory)

- 'l' : un lien symbolique

Dans l'exemple plus haut, le kernel utilisé est le "linux-2.6.22-gentoo-r6". Ce kernel est celui utilisé actuellement parce que le lien symbolique "linux" pointe dessus. Vous devez obligatoirement créer un lien symbolique vers le kernel que vous souhaitez utiliser. Dans votre première installation (actuellement donc), ce lien est déjà présent car si aucune sources n'est présente lors de l'"emerge gentoo-sources", le lien symbolique "linux" est créé automatiquement.

Voici comment supprimer un lien symbolique et comment le créer :

Se placer dans le répertoire contenant le lien symbolique

# cd /usr/src

Supprimer le lien symbolique "linux" (c'est exactement pareil que pour un fichier)

# rm linux

Créer le lien symbolique

# ln -s linux linux-2.6.22-gentoo-r6

Note: cette dernière ligne est à adapter selon la version du kernel installé (faire "ls" pour voir).

Vous êtes maintenant au stade ou le kernel est bien installé, le lien "linux" est bien reglé; il faut maintenant tout configurer ...

Entrer dans le kernel :

cd linux

Si vous n'etes pas dans le répertoire "/usr/src", vous pouvez utiliser la comande qui suis à la place de la commande ci-dessus (ca fonctionne aussi si vous êtes déjà dans "/usr/src" :

cd /usr/src/linux

Pour rappel, la différence entre ces 2 dernières lignes est que la première utilise un chemin "relatif" alors que le second utilise un chemin "absolu" (commencant par la racine "/").

Pour lancer l'utilitaire de configuration du kernel, faites ceci :

make menuconfig

ou :

make xconfig

Le premier va lancer l'utilitaire en mode "console", le seconde démarre un petit logiciel en mode graphique (le serveur X doit être lancé mais, vu que vous en êtes au début, vous n'avez pas encore de serveur X).

Exemple avec l'utilitaire de configuration dans une console :

loop linux # make menuconfig

scripts/kconfig/mconf arch/i386/Kconfig

 .config - Linux Kernel v2.6.22-gentoo-r6 Configuration

 ──────────────────────────────────────────────────────────────────────────────

  ┌────────────────────── Linux Kernel Configuration ───────────────────────┐

  │  Arrow keys navigate the menu.   selects submenus --->.          │

  │  Highlighted letters are hotkeys.  Pressing includes, excludes, │

  │   modularizes features.  Press to exit, for Help, │

  │  for Search.  Legend: [*] built-in  [ ] excluded   module  < >       │

  │ ┌─────────────────────────────────────────────────────────────────────┐ │

  │ │        Code maturity level options  --->                            │ │

  │ │        General setup  --->                                          │ │

  │ │        Loadable module support  --->                                │ │

  │ │        Block layer  --->                                            │ │

  │ │        Processor type and features  --->                            │ │

  │ │        Power management options (ACPI, APM)  --->                   │ │

  │ │        Bus options (PCI, PCMCIA, EISA, MCA, ISA)  --->              │ │

  │ │        Executable file formats  --->                                │ │

  │ │        Networking  --->                                             │ │

  │ │        Device Drivers  --->                                         │ │

  │ └────v(+)─────────────────────────────────────────────────────────────┘ │

  ├─────────────────────────────────────────────────────────────────────────┤

  │                    (Select)    ( Exit )    ( Help )                     │

  └─────────────────────────────────────────────────────────────────────────┘

Noter dans l'exemple suivant, la première ligne après l'exécution de "make menuconfig" est la compilation; il pourrait y en avoir plus d'une si vous n'avez jamais utiliser cet utilitaire auparavant sur l'ordinateur que vous utiliser!

Dans un autre terminal (CTRL+ALT+2 par exemple, vous êtes dans le 1 ou le 7 actuellement), faites un :

# lspci

pour lister votre matériel. Vous êtes prêt à tout configurer comme un chef  :Smile: 

Mais, comment il fonctionne l'utilitaire ???

C'est simple, il travail avec un fichier ".config" se trouvant sous le répertoire pointé par le lien symbolique "/usr/src/linux". Ce fichier contient toutes les configurations du kernel; il n'existe pas si c'est la première configuration (il sera créé par l'utilitaire). Dans le cas ou vous utiliser une configuration existante plus ancienne, vous pouvez faire (avant le lancement de l'utilitaire de configuration) :

# make oldconfig

qui aura pour effet de modifier le fichier ".config" dans le but de le formatter pour la nouvelle version (en conservant les configurations déjà faite).

Mais mais, comment on l'utilise !!!!???

Facile, vous avez besoin de ces touches :

- ENTER : pour valider l'action sélectionnée en bas :

 │                    (Select)    ( Exit )    ( Help )                     │

- HAUT et BAS : pour sélectionner un menu

- DROITE et GAUCHE : pour sélectionner une action

- '?' pour afficher l'aide et aussi, l'emplacement d'un des éléments dans le menu ainsi que d'autres informations intéressante concernant l'élément

- ESCAPE : pour quitter rapidement et sans sauvegarder (à utiliser plusieurs fois)

- SLASH (touche "/") : permet d'effectuer une recherche !!! Très intéressant  :Wink: 

Pour quitter un menu ou vous êtes entré, ne faites pas ESCAPE mais plutot "sélectionner EXIT".

Bon ok, je sais comment ca fonctionne, mais je dois faire quoi ???????

Ben, tu dois configurer ton kernel, spice di biloute va! 

----------

## nonas

Dommage qu'il faille et javascript et des cookies pour voir une doc.

Du coup je sais pas ce qu'il en est (à part peut-être que ça aurait plus sa place sur le wiki).

----------

## loopx

de quoi !?

Il n'y a :

- ni javascript

- ni cookies

C'est que du Java JSP ... ton browser ne vois que du HTML, CSS

Bon oui, c'est vrai, j'ai du javascript dans les pages avant, mais ca pose pas de problème, il y a les liens pour continuer (vu que le javascript est utilisé pour le timer)   :Wink: 

EDIT: pour information, je viens de tester avec "links" en console, et ca fonctionne plus que bien!

 :Cool: 

----------

## nonas

Il me demande un cookie ici (JSESSIONID). J'aime pas les cookies.   :Wink: 

----------

## loopx

Une session HttpSession (de Java) demanderait-il les cookies d'activé ? En tout cas, je n'utilise pas personnellement les cookies ... Je vais jetter un oeil tiens, ca me semble louche   :Shocked: 

EDIT : ben ouais, c'est vrai, tu as raison; mon application utilise des cookies ...   j'aurais pas imaginé  :Surprised:    c'est donc ainsi qu'il connait la session d'un utilisateur ... Je comprend mieux ...

Bon, ok ... mais, ou est le problème sinon ? parce que il va très bien le site   :Wink:    même en console donc, jvois vraiment pas ou est le souci ...   :Razz: 

----------

## kwenspc

 *loopx wrote:*   

> 
> 
> EDIT : ben ouais, c'est vrai, tu as raison; mon application utilise des cookies ...   j'aurais pas imaginé    c'est donc ainsi qu'il connait la session d'un utilisateur ... Je comprend mieux ...

 

Tu dois avoir la possibilité de configurer ça afin qu'il utilise le rewrite url au lieu d'un cookie, fin il me semble.

----------

## nonas

 *loopx wrote:*   

> Bon, ok ... mais, ou est le problème sinon ? parce que il va très bien le site     même en console donc, jvois vraiment pas ou est le souci ...  

 Oui le site est bien à part ça.

Y'a des choses bien didactiques.

----------

## titoucha

Tu as fait un sacré travail, bravo.   :Very Happy: 

----------

## loopx

Merci ^^

le site et la doc sont très récente donc, bcp de fautes   :Laughing:   et pas encore complet...

J'ai fais ca pour les connaissances  :Wink:  ... mais j'en fais aussi profiter la communauté   :Wink: 

----------

## mornik

snif chez moi ça génère une erreur :

http://img260.imageshack.us/img260/5328/errorro1.jpg

----------

## loopx

ouais en effet, y a eu un crash sur un des beans ^^

Ca arrive, c'est pas encore suffisament sérucisé   :Wink: 

jvais relancer ca

EDIT: Je sais pas trop ce qu'il s'est passé mais c'est possible que le bean à été rangé ... et donc, il le trouve plus (ca je gère pas encore dans l'application, faudra gérer ce souci). Je suis en pleine mise à jour donc, ptet qu'il y avait pas assez de mémoire vive ...

Maintenant ca refonctionne

EDIT2: faudrait que je mette des timers aussi ... y a des souci d'accès concurrent :d  lol

----------

## mornik

Je doits avoir de chance. J'ai tjs le meme message :'(

----------

## loopx

je viens de voir  :Very Happy: 

j'ai compris je pense ... suis à la mise à jour en cours, et peu de place sur la partition racine ... ben ... le / est full donc, tout qui plante ...

Je viens de corriger ca, ca devrait refonctionner la

----------

## mornik

ça y est !! Il me reste plus qu'à lire.

Merci  :Very Happy: 

----------

