Manuel de pdisk.

Préambule.

Ceci est la traduction en français du manuel de pdisk, éditeur de partitions de disque dur. Cette traduction a été réalisée par Gautier Ancelin, avec l'aimable assistance de Marc Herbert. Ne pouvant plus s'occuper de sa mise à jour, il en a fait don à la rubrique "GNU Linux sur Macintosh" de Linux-France. Veuillez donc m'adresser vos remarques concernant la traduction (eherlent chez linux-france.org).

Le document original se trouve à http://www.cfcl.com/~eryk/linux/pdisk/index.html.

Ce document est publié avec l'aimable autorisation de son auteur initial. Veuillez lui adresser vos questions (en anglais) concernant le contenu de ce manuel. La version originale du manuel fait partie du paquetage pdisk.

Généralités.

Qu'est-ce que pdisk ?

C'est un simple éditeur de partitions pour disque Apple. Il y a deux versions de pdisk : une pour Linux et une pour Mac OS. Ce document présente la version Mac OS de pdisk, bien que la plus grande partie soit également valable pour la version Linux. Néanmoins, il vaut mieux consulter la documentation spécifique à une version avant de l'utiliser.

Qu'est ce qu'une partition de disque Apple ?

La plupart des systèmes d'exploitation dispose de plusieurs méthodes pour découper un disques en plusieurs parties - afin que le disque entier ne soit pas dévolu à un seul système de fichiers, ou même à un seul système d'exploitation. Ce découpage du disque est habituellement appelé "partitionnement". Dans certains systèmes, les informations de partitionnement sont écrites en dur dans le système, ce qui est restrictif. Mac OS, lui, stocke cette information dans les premiers blocs du disque.

Le schéma de partitionnement de disque Apple a été développé en 1986 par l'équipe A/UX avec l'aide des équipes Mac OS et Apple II. Il existait déjà un format de partitionnement utilisé pour les premiers périphériques SCSI du MacPlus, mais il a été remplacé par le format actuel dans le Macintosh II et ses successeurs ainsi que dans les versions suivantes de Mac OS. Ce schéma actuel est supporté par Mac OS, A/UX, ProDos, MkLinux et "Rhapsody".

Qu'est-ce que Linux ?

Au cas où vous auriez eu pdisk autrement que par le biais d'une distribution de ce système, MkLinux est une version du système d'exploitation Linux, modifiée pour tourner en tant que process serveur au dessus d'un micro-noyau Mach. Comme avec Linux, tous les sources de ce système sont disponibles en téléchargement, y compris le source du noyau Mach. MkLinux tourne sur la plupart des Macintosh PowerPC.

Sur quels Macintosh pdisk peut-il fonctionner ?

A priori, n'importe lequel. Il a été testé sous systèmes 7.6.1 et 8, mais devrait également tourner sur des versions plus anciennes.Une version 68000 est même disponible pour ceux qui y trouveraient une utilité.

Pourquoi aurais-je besoin de pdisk sous Mac OS ?

Les principaux utilisateurs de la version Mac OS de pdisk sont les utilisateurs de MkLinux. pdisk a été développé au départ pour ce système. La syntaxe des commandes était à l'origine identique à celle de 'fdisk' (un programme destiné à éditer les partitions au format DOS/Windows). La version Mac OS est un portage très direct de la version MkLinux.

Les avantages de pdisk sur les programmes de partitionnement de disques les plus répandus (SilverLining, FWB toolkit, Apple HD SC Setup, Drive Setup, etc) sont :

Les inconvénients de pdisk sont :

Où puis-je avoir les sources ?

Le site principal pour MkLinux est <http://www.mklinux.org>. A l'heure où ces lignes ont été écrites, on pouvait trouver les distributions de pdisk à < ftp://ftp.mklinux.org/pub/mklinux-pre-R1/ppc/MacOS_Utilities/>. Ceci inclut les binaires pour Mac OS et MkLinux, ainsi que les sources.

Description du programme (dans sa version 0.7).

Bien que pdisk soit un programme pour Macintosh, son interface n'est pas du tout Macintosh. pdisk est un programme dit "orienté ligne". Dans un programme de ce type, vous lancez vos commandes en tapant sur le clavier et le programme ne regarde ce que vous avez tapé que lorsque vous appuyez sur "Return".

Lorsque vous lancez pdisk, une fenêtre avec des lignes de texte à l'intérieur apparaît. La dernière ligne doit dire à peu de chose près "Top Level command ? (? for help) :". C'est le prompt. Si vous tapez un ? suivi de Return, vous devriez obtenir une liste de commande en anglais, comme ceci :

Notes:
    Disk have fake names of the form /dev/scsi<bus>.<id>
    For example, /dev/scsi0.1, /dev/scsi1.3, and so on.
    MkLinux style names are also allowed (i.e /dev/sda or /dev/hda),
    and these names follow the MkLinux DR3 conventions.
 
Commands are:
  h    print help
  v    print the version number and release date
  l    list device's map
  L    list all devices' maps
  e    edit device's map
  E    (edit map with specified block size)
  r    toggle readonly flag
  q    quit the program
Quelques unes de ces commandes nécessitent ce que l'on appelle des arguments ; par exemple l (list) et e (edit) ont besoin d'un argument simple, le nom du périphérique à lister ou à éditer. Les commandes qui nécessitent des arguments les demandent tour à tour. Vous pouvez également donner ces arguments avec la commande en les séparant par des espaces. La commande dans ce cas ne demande pas l'argument. Les commandes sont insensibles à la casse (h ou H) sauf quand la majuscule donne accès à une variante de cette commande.
h
Affiche l'aide relative à une commande. La différence entre h et ? est que cette dernière affiche parfois des indications supplémentaires.
v
Affiche le numéro de version et la date. Correspond à la version indiquée dans la fenêtre d'informations du Finder.
l
Demande le nom d'un périphérique et affiche le contenu de sa table de partitions.
L
Affiche le contenu des tables de partitions de tous les périphériques.
e
Demande le nom d'un périphérique et ouvre sa table de partitions.
E
Identique à e, sauf qu'elle demande aussi la taille de bloc.
r
Bascule pour le réglage "lecture seule". Quand "lecture seule" est enclenché, pdisk ne peut pas écrire dans la table des partitions.
q
Quitte pdisk

Le format du listing.

C'est un bon endroit pour indiquer à quoi ressemble une table de partitions.
Partition map (with 512 byte blocks) on '/dev/scsi0.2' (/dev/sda)
   #:                 type name                length   base    ( size )
   1:  Apple_partition_map Apple                   63 @ 1      
   2:       Apple_Driver43*Macintosh               54 @ 64     
   3:       Apple_Driver43*Macintosh               74 @ 118    
   4:        Apple_Patches Patch Partition        512 @ 192    
   5:            Apple_HFS untitled           2117430 @ 704     (  1.0G)
   6:           Apple_Free Extra                   10 @ 2118134
 
Device block size=512, Number of Blocks=2118143
DeviceType=0x0, DeviceId=0x0
Drivers-
1: @ 64 for 20, type=0x1
2: @ 118 for 32, type=0xffff
La première ligne indique de quel périphérique il s'agit et quelle taille de bloc il utilise. La plupart des tables de partitions utilisent des blocs de 512 octets, mais elles peuvent également utiliser des blocs de 1024 ou 2048 octets. Si pdisk est capable de détecter un nom de partition MkLinux différent du nom du périphérique, alors ce nom est affiché entre parenthèses.

Ensuite vient la liste des partitions. Chaque partition (ou morceau) du disque prend une ligne dans la liste. Les données qui décrivent la partition constituent l'entrée dans la table des partitions. Ces entrées sont listées par ordre d'index. Pour chacune d'entre elles, on trouve :

La liste des partitions est suivie d'informations sur le bloc 0 du périphérique qui décrit l'emplacement des pilotes.

Editer les tables de partitions.

La commande e du menu de plus haut niveau ouvre une table de partitions en édition. Le prompt est alors changé en "Command ? (? for help):". Si vous tapez "?" suivi de Return, vous devriez obtenir une liste comme celle-ci :
Notes:
  Base and length fields are blocks, which vary in size between media.
  The name of a partition is descriptive text.
 
Commands are:
  h    help
  p    print the partition table
  P    (print ordered by base address)
  i    initialize partition map
  s    change size of partition map
  c    create new partition (standard MkLinux type)
  C    (create with type also specified)
  n    (re)name a partition
  d    delete a partition
  r    reorder partition entry in map
  w    write the partition table
  q    quit editing (don't save changes)
Les commandes qui nécessitent des arguments les demandent tour à tour. Vous pouvez également donner ces arguments en même temps que la commande en les séparant par des espaces. Dans ce cas, la commande ne demande pas les arguments déjà précisés. La seule exception est le prompt de confirmation des commandes i et w. Les commandes sont insensibles à la casse (h ou H) sauf quand la majuscule donne accès à une variante de la commande.

Les partitions sont toujours indiquées par leurs numéros, qui sont aussi leurs index dans la table des partitions. Une bonne partie de ces commandes changent le numéro d'index des partitions voisines de celle modifiée. Il est donc conseillé d'afficher la table des partitions aussi souvent que nécessaire.

Créer plus de 15 partitions est déconseillé. Il y a actuellement un bug dans certains (tous ?) noyaux qui fait que l'accès au disque est impossible si plus de quinze partitions sont décrites dans la table.

h
Affiche l'aide relative à une commande. La différence entre h et ? est que cette dernière affiche parfois des indications supplémentaires.
p
Affiche la table des partitions. Le résultat est identique à celui du listing décrit plus haut.
P
identique à p, sauf que les entrées sont listées dans l'ordre de leurs apparitions sur le disque (triés en fonction du numéro de leurs premiers blocs) plutôt qu'en fonction de leurs index.
i
Initialise la table des partitions. Rarement utilisée. Cette commande demande la taille du périphérique. ATTENTION : si vous écrivez la table après l'avoir initialisée, le disque devient invisible de Mac OS et pdisk n'est pas capable d'installer un pilote !
s
Change la taille de la partition qui contient la table des partitions. Cette taille doit être inférieure ou égale à la taille de la partition dans laquelle elle est écrite. Cette commande est utile lorsque vous voulez faire des choses compliquées comme formater un disque avec plusieurs schémas de partitionnement.
c
Créer une partition nécessite trois arguments.
Le premier argument est l'adresse de base (exprimée en blocs) de la partition. Outre un simple nombre, vous pouvez donner un numéro de partition suivi de la lettre 'p' pour indiquer que le premier bloc de la nouvelle partition doit être le même que celui de cette partition existante vide.
Le deuxième argument est la longueur de la partition exprimée en nombre de blocs. Ce peut-être un simple nombre ou un numéro de partition suivi de la lettre 'p', auquel cas c'est la taille de cette partition qui est prise. Ou encore un nombre suivi de la lettre 'k', 'm' ou 'g' qui indique la taille à donner à la partition en ko, Mo ou Go respectivement (ce sont des multiples de 1024, bien sûr, et non des multiples de 1000).
Le dernier argument est le nom de la partition. Ce peut être un simple mot sans quotes, ou une chaîne de caractères entre guillemets ou entre quotes.
Le type de partition créé est fixé correctement pour une partition MkLinux ("Apple_UNIX_SVR2").
C
Identique à la commande 'c', avec la possibilité de donner le type de partition voulu en dernier argument. Le type peut-être un simple mot sans quotes, ou une chaîne de caractères entre guillemets ou entre quotes.
n
Renomme une partition. Ne changez pas le nom d'une partition dont le type commence par "Apple_Driver". Mac OS a besoin de ces partitions. Les noms des autres partitions peuvent être changés.
d
Détruit une partition. Lorsqu'une partition est détruite, son type est changé en "Apple_Free" et elle peut fusionner avec une autre partition libre adjacente.
r
Réordonner prend comme argument l'index courant et le nouvel index. Si le nouvel index est plus grand que tous les index existant, c'est le dernier index disponible qui est pris.
w
Ecrit la table de partitions sur le disque, mais pdisk ne vide pas encore les caches appropriés et ne démonte pas les volumes, la table des partitions n'est donc pas réinterprétée. Pour que cette table soit prise en compte, il faut redémarrer la machine. Désolé.
q
Quitte le mode édition. Retourne au prompt de niveau le plus haut. Si vous avez modifié la table de partitions, les changements sont PERDUS, aucune proposition d'écriture de cette table n'est faite.

Problèmes connus.

Ceci est une horrible application Mac OS, il faudrait la doter d'une interface digne de ce nom.

L'utilisation de ce programme nécessite une bonne compréhension des schémas de partitionnement, bien meilleure que celle que la plupart des gens s'efforcent d'acquérir.

L'aide pendant la saisie des informations doit être améliorée.


erik chez cfcl.com

Traduction : Gautier Ancelin, avec l'aimable assistance de Marc Herbert.

Remarque : Le noyau Linux pour PowerPC limite le nombre de partitions à 63 pour les disques IDE et 15 pour les disques SCSI. Voyez à ce sujet le document /usr/src/linux/Documentation/devices.txt. Notez également qu'une installation standard de Linux ne crée que les 16 premiers fichiers spéciaux, par exemple /dev/hda1 à /dev/hda16. Enfin, notez que la page de man de pdisk fait état d'une limitation du nombre de partitions à 15, sans préciser si cette limitation affecte les disques IDE, ni si elle est uniquement présente avec les noyaux MkLinux.

 

Dernière mise à jour le 20/6/00.

les fichiers en téléchargement sont à ftp://ftp.linux-france.org/pub/macintosh/

 

Retour à GNU Linux sur Macintosh