Page suivante - Page précédente - Table des matières

2. Nommage des disques durs sous FreeBSD

Linux et FreeBSD nomment les disques durs et les partitions selon deux principes différents. Cette section décrit les principales différences entre les deux systèmes. En fait le principe de nommage de FreeBSD est une variation du style de nommage BSD traditionnel adapté aux partitions de PC. Il est donc très proche sur ce point des autres systèmes Unix basés sur BSD tels que NetBSD, OpenBSD, Ultrix, Digital Unix, SunOS et Solaris.

2.1 ``Partitions'' et ``tranches'' (slices) sous FreeBSD

FreeBSD a besoin d'une entrée dans la table de partition primaire de votre disque dur. Cette partition primaire est appelée ``tranche'' (slice en anglais) dans la terminologie FreeBSD. Il utilise ensuite le programme disklabel pour créer plusieurs partitions logiques dans cette partition primaire. Ces partitions logiques sont appelées ``partitions'' dans la terminologie FreeBSD. Ce concept est similaire à la façon dont Linux (et DOS) manipule les partitions logiques dans une partition étendue. Vous ne pouvez pas installer FreeBSD dans une partition étendue créée par Linux (ou DOS). Notez que le programme fdisk de Linux n'affiche pas les partitions d'une tranche FreeBSD depuis le menu principal, mais il peut afficher l'information de nommage de disque (disklabel) BSD si on utilise la commande 'b'. Le résultat sera quelque chose comme ceci (/dev/hda4 est la tranche FreeBSD) :

# fdisk /dev/hda
Command (m for help): p
Disk /dev/hda: 64 heads, 63 sectors, 621 cylinders
Units = cylinders of 4032 * 512 bytes
 Device Boot   Begin    Start      End   Blocks   Id  System
 /dev/hda1   *        1        1       27    54400+  83  Linux native
 /dev/hda2           28       28       55    56448   83  Linux native
 /dev/hda3           56       56      403   701568   83  Linux native
 /dev/hda4          404      404      621   439488   a5  BSD/386
 Command (m for help): b
 Reading disklabel of /dev/hda4 at sector 1624897.
 BSD disklabel command (m for help): p
 8 partitions:
 #        size   offset    fstype   [fsize bsize   cpg]
 a:    64512  1624896    4.2BSD        0     0     0   # (Cyl.  404 - 419)
 b:   104832  1689408      swap                        # (Cyl.  420 - 445)
 c:   878976  1624896    unused        0     0         # (Cyl.  404 - 621)
 e:    64512  1794240    4.2BSD        0     0     0   # (Cyl.  446 - 461)
 f:   645120  1858752    4.2BSD        0     0     0   # (Cyl.  462 - 621)
 BSD disklabel command (m for help): q
 #

Les lettres `a'...`f' dans la première colonne sont les mêmes étiquettes (labels) que celles utilisées plus bas dans l'exemple d'une tranche FreeBSD. Il y a trois partitions spéciales dans le jargon FreeBSD. La lettre `a' désigne la partition racine, `b' la partition de swap tandis que `c' désigne la tranche en entier. Voyez la documentation pour plus d'information sur la façon ``standard'' d'affecter ces lettres aux différents types de partitions.

2.2 Nommage des disques et des partitions sous Linux et FreeBSD

Les disques durs sont nommés des façons suivantes sous Linux et FreeBSD :

 Linux           FreeBSD
Premier disque  IDE     /dev/hda        /dev/wd0
Second disque   IDE     /dev/hdb        /dev/wd1
Premier disque SCSI     /dev/sda        /dev/sd0
Second disque  SCSI     /dev/sdb        /dev/sd1

Les partitions (tranches FreeBSD) d'un disque IDE sont nommées de la façon suivante (/dev/hda est utilisé comme exemple) :

 Linux           FreeBSD
Première partition primaire     /dev/hda1       /dev/wd0s1
Deuxième partition primaire     /dev/hda2       /dev/wd0s2
Troisième partition primaire    /dev/hda3       /dev/wd0s3
Quatrième partition primaire    /dev/hda4       /dev/wd0s4

Les partitions de ma tranche FreeBSD sont nommées de la façon suivante. Ceci est le nommage par défaut, qu'il est possible de changer en faisant une installation personnalisée de FreeBSD (/dev/hda4 est la tranche FreeBSD) :

Nom Linux       Nom FreeBSD     Point de montage FreeBSD
/dev/hda5       /dev/wd0s4a     /
/dev/hda6       /dev/wd0s4b     swap
/dev/hda7       /dev/wd0s4e     /var
/dev/hda8       /dev/wd0s4f     /usr

Si vous lancez dmesg sous Linux vous verrez (le noyau linux doit avoir été compilé avec le support UFS. Voyez la section Installer et préparer Linux):

Partition check:
 hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 hda8>

Si vous avez installé FreeBSD dans la tranche /dev/sd1s3 (/dev/sdb3 dans le jargon Linux), et que /dev/sdb2 est une partition Linux étendue contenant deux partitions logiques (/dev/sdb5 et /dev/sdb6), l'exemple précédent ressemblera plutôt à ceci :

Nom Linux       Nom FreeBSD     Point de montage FreeBSD
/dev/sdb7       /dev/sd1s3a     /
/dev/sdb8       /dev/sd1s3b     swap
/dev/sdb9       /dev/sd1s3e     /var
/dev/sdb10      /dev/sd1s3f     /usr

La commande dmesg montrera ceci sous la forme

Partition check:
 sdb: sdb1 sdb2 < sdb5 sdb6> sdb3 < sdb7 sdb8 sdb9 sdb10>

Si vous avez une partition étendue Linux après votre tranche FreeBSD, vous allez avoir des problèmes. La plupart des noyaux des disquettes d'installation Linux ne contiennent pas le support UFS, ils ne reconnaîtront donc pas les partitions FreeBSD à l'intérieur de la tranche. Ce qui qui aurait dû être vu comme (/dev/hda3 est la tranche FreeBSD et /dev/hda4 est la partition étendue Linux)

Partition check:
 hda: hda1 hda2 hda3 < hda5 hda6 hda7 hda8> hda4 < hda9 hda10>
est vu comme:
Partition check:
 hda: hda1 hda2 hda3 hda4 < hda5 hda6>

Cela peut résulter en un mauvais assignement de périphérique et provoquer des pertes de données. Je conseille de toujours mettre votre tranche FreeBSD après toutes les partitions étendues Linux, et de ne changer aucune partition logique dans vos partitions étendues Linux une fois que FreeBSD est installé !


Page suivante - Page précédente - Table des matières