Gentoo Logo

1.  Introduction aux périphériques de bloc

Les périphériques de bloc

Nous allons regarder de manière approfondie la question des disques sous Gentoo Linux et sous Linux en général, y compris les systèmes de fichiers de Linux, les partitions et les périphériques de bloc. Ensuite, une fois que vous serez familiarisé avec les tenants et aboutissants des disques et des systèmes de fichiers, vous serez guidé pour réaliser la mise en place des partitions et des systèmes de fichiers pour votre installation de Gentoo Linux.

Pour commencer, nous allons présenter les périphériques de bloc. Le plus célèbre étant certainement celui qui représente le premier disque dans un système Linux, /dev/sda. Les disques durs SCSI, Serial ATA et mêmes les disques durs IDE sont tous nommés en /dev/sda depuis les nouveaux pilotes libata de Linux. Si vous utilisez les anciens pilotes, votre premier disque dur IDE s'appelle alors /dev/hda.

Les périphériques de bloc cités ci-dessus représentent une interface abstraite vers les disques. Les programmes utilisateur peuvent les utiliser pour interagir avec votre disque sans se préoccuper de savoir si vos périphériques sont IDE, SCSI ou autres. Le programme peut simplement utiliser l'espace sur le disque comme un groupe de blocs continus de 512 octets accessibles aléatoirement.

Partitions

Bien qu'il soit théoriquement possible d'utiliser un disque complet pour héberger votre système Linux, ceci n'est pratiquement jamais fait. À la place, les périphériques de bloc sont divisés pour être plus petits et plus facilement gérables. Ces subdivisions sont appelées partitions ou tranches.

La première partition d'un disque SCSI se nomme /dev/sda1, la deuxième /dev/sda2 et ainsi de suite.

La troisième partition d'un système Sun correspond au disque complet et ne doit contenir aucun système de fichiers.

Les utilisateurs familiers avec le système de partitionnement DOS remarqueront que les disques Sun n'ont pas de partition primaire ni étendue. Les disques d'un système Sun peuvent avoir jusqu'à huit partitions, la troisième étant réservée.

1.  Concevoir un plan de partitionnement

Plan de partitionnement par défaut

Si vous ne voulez pas établir votre propre plan de partitionnement, utilisez le plan décrit dans le tableau ci-dessous. C'est un point de départ intéressant pour la plupart des systèmes. Notez qu'il ne s'agit que d'un exemple que vous pouvez adapter à vos besoins.

Remarquez qu'il n'est pas recommandé d'utiliser une partition de démarrage séparée pour /boot sur SPARC, car cela complique la configuration du chargeur de démarrage.

Partition Système de fichiers Taille Point de montage Description
/dev/sda1 ext4 <2 Go / Partition racine. Sur les systèmes SPARC64 avec une version 3 d'OBP ou antérieure, cette partition doit avoir une taille inférieure à 2 Go et doit être la première du disque. Des versions plus récentes d'OBP prennent en charge des partitions racines plus importantes, et sont capables d'héberger /usr, /var et d'autres emplacements.
/dev/sda2 Mémoire virtuelle 512 Mo Aucun Mémoire virtuelle (swap). L'installation initiale et les grosses compilations auront besoin d'au moins 512 Mo de mémoire physique au total (y compris le swap).
/dev/sda4 Aucun Tout le disque Aucune Partition correspondant à tout le disque. Indispensable sur tout système Sparc.
/dev/sda4 ext4 2 Go minimum /usr La partition /usr accueille les applications, l'arbre Portage qui occupe 500 Mo et les sources des programmes.
/dev/sda5 ext4 1 Go minimum /var La partition /var sert à stocker les données générées par les programmes. Portage l'utilise aussi comme espace temporaire pendant les compilations. Les grosses compilations comme celles de Mozilla ou LibreOffice.org peuvent nécessiter plus d'un giga-octet d'espace temporaire.
/dev/sda6 ext4 Espace restant /home La partition /home accueille les répertoires personnels des utilisateurs.

1.  Partitionner votre disque avec fdisk

Les parties suivantes expliquent comment créer le plan de partitionnement décrit précédemment :

Partition Description
/dev/sda1 /
/dev/sda2 Mémoire virtuelle
/dev/sda3 Tout le disque
/dev/sda4 /usr
/dev/sda5 /var
/dev/sda6 /home

Changez votre plan de partitionnement comme vous le souhaitez, mais d'oubliez pas que votre partition racine ne doit pas dépasser les deux premiers giga-octets de votre disque sur des anciens systèmes. Notez également qu'il y a une limite de 15 partitions par disque SCSI ou SATA.

Lancer fdisk

Lancez fdisk avec votre disque comme argument :

Exemple de code 1.1 : lancement de fdisk

# fdisk /dev/sda

Vous devriez voir une invite de commande (« prompt ») qui ressemble à ceci :

Exemple de code 1.1 : l'invite de commande de fdisk

Command (m for help):

Pour voir les partitions disponibles, tapez p :

Exemple de code 1.1 : affichage des partitions disponibles

Command (m for help): p

Disk /dev/sda (Sun disk label): 64 heads, 32 sectors, 8635 cylinders
Units = cylinders of 2048 * 512 bytes

   Device Flag    Start       End    Blocks   Id  System
/dev/sda1             0       488    499712   83  Linux native
/dev/sda2           488       976    499712   82  Linux swap
/dev/sda3             0      8635   8842240    5  Whole disk
/dev/sda4           976      1953   1000448   83  Linux native
/dev/sda5          1953      2144    195584   83  Linux native
/dev/sda6          2144      8635   6646784   83  Linux native

Notez l'affichage de Sun disk label. Si cette partie manque, le disque utilise le partitionnement DOS et non pas le partitionnement SUN. Dans ce cas, utilisez s pour vous assurer que le disque a une table de partitions Sun.

Exemple de code 1.1 : créer un disklabel Sun

Command (m for help): s
Building a new sun disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.

Drive type
   ?   auto configure
   0   custom (with hardware detected defaults)
   a   Quantum ProDrive 80S
   b   Quantum ProDrive 105S
   c   CDC Wren IV 94171-344
   d   IBM DPES-31080
   e   IBM DORS-32160
   f   IBM DNES-318350
   g   SEAGATE ST34371
   h   SUN0104
   i   SUN0207
   j   SUN0327
   k   SUN0340
   l   SUN0424
   m   SUN0535
   n   SUN0669
   o   SUN1.0G
   p   SUN1.05
   q   SUN1.3G
   r   SUN2.1G
   s   IOMEGA Jaz
Select type (? for auto, 0 for custom): 0
Heads (1-1024, default 64):
Using default value 64
Sectors/track (1-1024, default 32):
Using default value 32
Cylinders (1-65535, default 8635):
Using default value 8635
Alternate cylinders (0-65535, default 2):
Using default value 2
Physical cylinders (0-65535, default 8637):
Using default value 8637
Rotation speed (rpm) (1-100000, default 5400): 10000
Interleave factor (1-32, default 1):
Using default value 1
Extra sectors per cylinder (0-32, default 0):
Using default value 0

Vous trouverez les valeurs correctes dans la fiche technique de votre disque. L'option « auto configure » ne fonctionne généralement pas.

Suppression des partitions existantes

Il est temps de supprimer toute partition existante. Pour ce faire, tapez d et appuyez sur Entrée. On vous demandera alors le numéro de la partition que vous souhaitez supprimer. Pour supprimer un /dev/sda1 pré-existant, vous tapez :

Exemple de code 1.1 : suppression d'une partition

Command (m for help): d
Partition number (1-4): 1

Vous ne devez pas supprimer la troisième partition. Elle est indispensable sur un système Sparc. Si elle n'existe pas encore, suivez les instructions ci-dessus pour la créer.

Après avoir supprimé toutes les partitions, vous devriez avoir un plan de partitionnement similaire au suivant :

Exemple de code 1.1 : affichage d'un plan de partition vide

Command (m for help): p

Disk /dev/sda (Sun disk label): 64 heads, 32 sectors, 8635 cylinders
Units = cylinders of 2048 * 512 bytes

   Device Flag    Start       End    Blocks   Id  System
/dev/sda3             0      8635   8842240    5  Whole disk

Création de la partition principale

Commençons par créer la partition principale. Pour ce faire, tapez n pour créer une nouvelle partition, puis 1 pour créer la partition. Quand on vous demande le premier cylindre, appuyez sur Entrée. Quand on vous demande le dernier cylindre, entrez +512M pour créer une partition de 512 Mo. Vérifiez que toute la partition tient dans les deux premiers giga-octets du disque.

Exemple de code 1.1 : créer la partition racine

Command (m for help): n
Partition number (1-8): 1
First cylinder (0-8635): (Tapez Entrée.)
Last cylinder or +size or +sizeM or +sizeK (0-8635, default 8635): +512M

Tapez p pour afficher la table des partitions. Elle devrait ressembler à ceci :

Exemple de code 1.1 : afficher la table des partitions

Command (m for help): p

Disk /dev/sda (Sun disk label): 64 heads, 32 sectors, 8635 cylinders
Units = cylinders of 2048 * 512 bytes

   Device Flag    Start       End    Blocks   Id  System
/dev/sda1             0       488    499712   83  Linux native
/dev/sda3             0      8635   8842240    5  Whole disk

Création d'une partition de mémoire virtuelle

A présent, créons la partition de mémoire virtuelle. Pour ce faire, tapez n pour créer une nouvelle partition, puis 2 pour créer la deuxième partition, /dev/sda2 dans notre cas. Quand on vous demande le premier cylindre, appuyez sur Entrée. Quand on vous demande le dernier cylindre, tapez +512M afin de créer une partition de 512 Mo. Après avoir fait ceci, tapez t pour définir le type de partition, ensuite tapez 82 pour choisir le type « Linux swap ». Après avoir accompli ces étapes, en tapant p, vous devriez avoir un affichage semblable à celui-ci :

Exemple de code 1.1 : afficher la table des partitions

Command (m for help): p

Disk /dev/sda (Sun disk label): 64 heads, 32 sectors, 8635 cylinders
Units = cylinders of 2048 * 512 bytes

   Device Flag    Start       End    Blocks   Id  System
/dev/sda1             0       488    499712   83  Linux native
/dev/sda2           488       976    499712   82  Linux swap
/dev/sda3             0      8635   8842240    5  Whole disk

Création des partitions /usr, /var et /home

Pour finir, créons les partitions /usr, /var et /home. Comme précédemment, tapez n pour créer une nouvelle partition, puis tapez 4 pour créer la troisième partition, /dev/sda4 dans notre exemple. Quand on vous demande le premier cylindre, appuyez sur Entrée. Quand on vous demande le dernier cylindre, tapez +2048M pour créer une partition de 2 Go. Répétez ensuite pour les les partitions sda5 et sda6 en spécifiant les tailles souhaitées. Quand vous aurez terminé, votre table des partitions devrait ressembler à ceci :

Exemple de code 1.1 : afficher la table des partitions complète

Command (m for help): p

Disk /dev/sda (Sun disk label): 64 heads, 32 sectors, 8635 cylinders
Units = cylinders of 2048 * 512 bytes

   Device Flag    Start       End    Blocks   Id  System
/dev/sda1             0       488    499712   83  Linux native
/dev/sda2           488       976    499712   82  Linux swap
/dev/sda3             0      8635   8842240    5  Whole disk
/dev/sda4           976      1953   1000448   83  Linux native
/dev/sda5          1953      2144    195584   83  Linux native
/dev/sda6          2144      8635   6646784   83  Linux native

Sauvegarder et quitter

Pour sauvegarder votre plan de partitionnement et quitter fdisk, tapez w :

Exemple de code 1.1 : sauvegarder et quitter fdisk

Command (m for help): w

Maintenant que vos partitions sont créées, vous pouvez continuer avec Création des systèmes de fichiers.

1.  Création des systèmes de fichiers

Introduction

Maintenant que vos partitions sont créées, il est temps d'y installer un système de fichiers. Si vous ne vous souciez pas de quel système de fichiers choisir et êtes satisfait de ceux que nous utilisons par défaut dans ce manuel, continuez avec Application d'un système de fichiers à une partition. Sinon, continuez à lire pour en apprendre plus sur les systèmes de fichiers disponibles.

Les systèmes de fichiers

Le noyau Linux prend en charge de nombreux systèmes de fichiers. Ci-dessous, nous décrirons brièvement ext2, ext3, ext4, ReiserFS, XFS et JFS, qui sont les plus utilisés sur les systèmes Linux.

ext2 est le système de fichiers original de Linux mais n'a pas de métadonnées journalisées, ce qui signifie que la routine de vérification du système de fichiers ext2 au démarrage peut prendre beaucoup de temps. À présent, vous avez le choix entre plusieurs systèmes de fichiers journalisés qui peuvent être vérifiés très rapidement et sont généralement préférés à leurs homologues non journalisés. Les systèmes de fichiers journalisés évitent de devoir attendre longtemps quand vous démarrez votre système et que vos systèmes de fichiers sont dans un état incohérent.

ext3 est la version journalisée du système de fichiers ext2, qui fournit des métadonnées journalisées pour une récupération rapide en plus d'autres modes journalisés comme la journalisation de données complètes et ordonnées. Il utilise un index à base de HTree qui permet d'obtenir d'excellentes performances dans pratiquement toutes les situations. En résumé, ext3 est un système de fichiers très bon et très fiable.

ext4 est un système de fichier dérivant de ext3 et y apportant de nouvelles fonctionnalités, une amélioration des performances et la suppression de la taille limite, ceci moyennant des changements modérés au formatage du disque. Il peut couvrir des volumes allant jusqu'à 1 EB avec une taille maximum de fichier de 16 TB. À la place de la classique table d'allocation de blocs des systèmes ext2/3, ext4 utilise les extents, ce qui améliore la performance des fichiers de grande taille et réduit la fragmentation. Ext4 offre également des algorythmes sophistiqués d'allocation de blocs (allocation retardée et allocation multi-blocs) donnant ainsi au pilote du système de fichiers plus de moyens d'optimiser l'arrangement des données sur le disque. Le système de fichiers ext4 est un compromis entre la stabilité d'un code pour la production et le désir d'introduire des extensions dans un système de fichiers vieux de près de 10 ans. Ext4 est le système de fichier recommandé pour les systèmes de fichiers non spécifiques sur toutes les architectures.

Si vous avez l'intention d'installer Gentoo sur une petite partition (inférieure à 8 GO), vous devez indiquer à ext2, ext3 ou ext4 (si disponibles) de réserver suffisamment d'inodes à la création du système de fichiers. L'application mke2fs utilise le paramètre "bytes-per-inodes" pour calculer combien d'inodes un système de fichiers doit avoir. En lançant mke2fs -T small /dev/<device> (ext2) ou mke2fs -j -T small /dev/<device> (ext3/ext4) le nomble d'inodes sera généralement quadruple pour un système de fichiers donné lorsque son "bytes-per-inode" passe de un tous les 16 kO à un tous les 4 kO. Vous pouvez peaufiner cela encore plus en utilisant mke2fs -i <ratio> /dev/<device> (ext2) ou mke2fs -j -i <ratio> /dev/<device> (ext3/ext4).

JFS est le système de fichiers journalisé à hautes performances d'IBM. C'est un système de fichiers basé sur les B+tree léger, rapide et sûr avec de bonnes performances dans diverses configurations.

ReiserFS est un système de fichiers journalisé basé sur les B+tree qui a de très bonnes performances, spécialement dans le cas de petits fichiers au prix d'une plus grande consommation de cycles CPU. ReiserFS est apparemment moins maintenu que les autres systèmes de fichiers.

XFS est un système de fichiers avec des métadonnées journalisées qui possède un ensemble de fonctionnalités robustes et qui est optimisé pour la mise à l'échelle. XFS ne semble pas pardonner les éventuels problèmes de matériel.

Appliquer un système de fichier à une partition

Pour créer un système de fichiers sur une partition ou un volume, des outils spécifiques au type de système de fichiers choisi sont disponibles :

Système de fichiers Commande de création
ext2 mkfs.ext2
ext3 mkfs.ext3
ext4 mkfs.ext4

Par exemple pour créer la partition root, (/dev/sda1 dans notre cas), et les partitions /usr, /var, et /home partitions (respectivement /dev/sda4, 5 and 6 dans notre cas) en tant que système ext4, vous devriez utiliser :

Exemple de code 1.1 : appliquer un système de fichiers à une partition

# mkfs.ext4 /dev/sda1
# mkfs.ext4 /dev/sda4
# mkfs.ext4 /dev/sda5
# mkfs.ext4 /dev/sda6

Activation de la partition de mémoire virtuelle

mkswap est la commande utilisée pour initialiser la partition de mémoire virtuelle :

Exemple de code 1.1 : création d'une signature de mémoire virtuelle

# mkswap /dev/sda2

Pour activer la partition de mémoire virtuelle, utilisez swapon :

Exemple de code 1.1 : activation de la partition de mémoire virtuelle

# swapon /dev/sda2

Créez et activez la partition de mémoire virtuelle maintenant.

1.  Monter les partitions

Maintenant que nos partitions sont initialisées et contiennent un système de fichiers, il est temps de les monter avec la commande mount. N'oubliez pas de créer les points de montage nécessaires pour toutes les partitions que vous avez créées. Par exemple, pour monter les partitions de démarrage et racine :

Exemple de code 1.1 : monter les partitions

# mount /dev/sda1 /mnt/gentoo
# mkdir /mnt/gentoo/usr
# mount /dev/sda4 /mnt/gentoo/usr
# mkdir /mnt/gentoo/var
# mount /dev/sda5 /mnt/gentoo/var
# mkdir /mnt/gentoo/home
# mount /dev/sda6 /mnt/gentoo/home

Note : si vous installez /tmp sur une partition séparée, n'oubliez pas de définir les permissions nécessaires après avoir monté la partition. Utilisez la commande chmod 1777 /mnt/gentoo/tmp. La même remarque s'applique à /var/tmp.

Nous devrons également monter le système de fichiers proc (une interface virtuelle avec le noyau) sur /proc, mais nous devons d'abord placer nos fichiers sur les partitions.

Continuez avec (Installer les fichiers d'installation de Gentoo).

Dernière mise à jour le 17 décembre 2013

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.