Partitionner un disque dur avec pdisk pour y installer GNU Linux.

Préambule.

Ce document à été initialement écrit par Gauthier Ancelin. 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 ce document.

Tout d'abord, l'auteur de ces lignes décline toute responsabilité quand à ce qui pourrait arriver à vos données si les manipulations suivantes ne sont pas correctement effectuées.

Cette introduction a au moins pour mérite de vous prévenir que l'opération de formatage/partitionnement n'est pas sans risque. Il convient donc de sauvegarder toutes vos données avant de commencer, d'imprimer le manuel de pdisk, ainsi que cette page.

Préparation

Il vous faut tout d'abord choisir le disque sur lequel vous allez installer. Si vous n'en avez qu'un, l'affaire est vite réglée ;-). Attention, ce disque doit avoir une capacité minimale de 400 Mo (NDWM : ce document est maintenant plutôt ancien, veuillez vous reporter à la documentation de votre distribution pour connaître la place minimale requise).

Re-NDWM : les nouveaux venus liront avantageusement le document "Système de fichiers", qui décrit, entre autres, l'arborescence typique d'une distribution installée.

Re-re-NDWM : une chose qu'il peut être intéressante de savoir est qu'une partition, pour être utilisée, doit être associée à un répertoire, et que l'on peut ainsi chaîner les partitions et les disques. Par exemple, sur mon G3, j'ai la répartition suivante :

/dev/sdb3    /
/dev/sdb4    /home
/dev/sdc3    /usr
/dev/sdc4    /usr/local

(attention, ces disques sont réservés à Linux, donc je n'ai pas gardé les partitions normalement utilisées par MacOS). Il n'y a pas de règle absolue pour tailler et répartir les partitions. Tout dépend de l'usage que l'on a. Mais, il peut être intéressant d'avoir /home et /usr/local sur des partitions dédiées, puisque les répertoires des utilisateurs sont des sous-répertoires de /home, et tout, ou presque tout ce qui est installé hors distribution va dans /usr/local. L'intérêt de telles dispositions paraîtra évident lors de la prochaine mise à jour de distribution.

Remarques :
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.

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. Cependant, des contributeurs de fcoum ont tiré ça au clair. Il en résulte que l'on peut créer plus de 15 partitions sur un disque, qu'il soit SCSI ou IDE.

Dans le cas des disques SCSI, pdisk (version de mai 2000 pour MacOS PPC) annonce lors de la création de la 16ème partition et des suivantes que plus de 15 partitions ont été créées et que Linux peut rencontrer des problèmes.

De plus, lors du boot, la numérotation des partitions de ce disque SCSI débordera sur le fichier spécial suivant. Par exemple, vous avez créé 24 partitions (/dev/sdb1 à /dev/sdb24). Pour Linux, ces partitions seront accessibles par /dev/sdb1 ... /dev/sdb15 /dev/sdc1 ... /dev/sdc9. Ceci peut être problématique si vous avez un disque sur le fichier spécial suivant (/dev/sdc dans l'exemple précédent).

Sauvegardez d'abord tout ce qui se trouve sur ce disque, car les données qu'il contient vont disparaître dans l'opération. Si vous n'êtes pas parfaitement sûr de vous, sauvegardez aussi les données des autres disques, une erreur est si vite arrivée...

Lancez pdisk. Tapez la commande L (en majuscule !). Elle vous liste l'ensemble des périphériques disponibles. Repérer le disque dont la "partition map" ou table de partitions est sur /dev/scsi0.X, où X est le numéro d'identification SCSI du disque cible. Si vous voulez installer sur un IDE, la table est sur un disque /dev/ata0.0. Si vous avez plusieurs disques IDE, vous n'avez probablement pas besoin de lire cette page ;-).

Suit immédiatement, entre parenthèses, le nom de ce disque vu selon Linux : typiquement, /dev/sda pour le premier disque SCSI, /dev/sdb pour le second, etc... Si vous avez un disque IDE, son nom est probablement /dev/hda.

Tayau !

Passons aux choses sérieuses : vous connaissez le nom du disque sur lequel vous voulez installer Linux. Dans tout ce qui suit, on suppose que ce disque est /dev/sdz (ce nom ne représente aucun disque sur votre machine, ça évitera des accidents aux têtes en l'air ;-). Dans tout ce qui suit, il vous donc remplacer /dev/sdz par le nom du disque que vous avez choisi.

Commencez par lister le contenu de ce disque en tapant la commande :

l /dev/sdz

Le détail de la table de partition du disque apparaît, ça ressemble à ceci :


      Partition map (with 512 byte blocks) on '/dev/scsi0.6' (/dev/sdz)
       #:                type name          length   base    ( size )
       1: Apple_partition_map Apple             63 @ 1      
       2:      Apple_Driver43*Macintosh_SL     128 @ 64     
       3:           Apple_HFS Sans_titre   2117952 @ 192     (  1.0G)
       
      Device block size=512, Number of Blocks=2118144 (1.0G)
      DeviceType=0x1, DeviceId=0x0
      Drivers-
      1: @ 64 for 6, type=0x1
Chaque ligne représente une partition de votre disque. Il ne faut surtout pas toucher aux partitions 1 et 2, elles sont indispensables. Il faut commencer par demander l'édition de la table de partitions du disque ; tapez la commande : 

e /dev/sdz

La liste des commandes a changé, tapez la commande '?' pour le constater. Sachez qu'à partir de maintenant, toutes les commandes que vous taperez seront sans influence. Elle ne seront prise en compte que lorsque vous demanderez l'écriture de la nouvelle table de partitions sur le disque. Si vous êtes perdu, vous pouvez donc taper 'q'. Vous perdez alors ce que vous avez fait, mais vous êtes sûr de ne rien changer sur votre disque.

Destruction des partitions existantes

Il est probable que le disque contient une ou plusieurs partitions HFS. Il faut bien entendu les détruire pour recréer des partitions de type et de taille différents.

Dans le cas où vous auriez des difficultés à identifier la ou les partitions que vous souhaitez récupérer pour y installer Linux, vous pouvez vous aider de FWD Hard Disk Toolkit.

Dans l'exemple ci-dessus, il faut détruire l'unique partition HFS existante ; tapez la commande :

d 3

Relistez les partitions du disque (en tapant la commande 'p') : la partition en question existe toujours, mais est désormais du type 'Apple_Free'.

Création de la partition HFS [optionnel]

Nous avons besoin d'une partition HFS pour mettre les données nécessaires à l'installeur RedHat - ce n'est pas obligatoire si vous possédez un autre disque HFS. Tapez la commande (respectez bien les majuscules !) : 

C 192 614400 Sans_titre Apple_HFS

192 représente le premier bloc qu'occupera cette partition. 614400 sa capacité exprimée en blocs de 512 octets, soit 300 Mo ici, "Sans_titre" son nom , et Apple_HFS son type. Tapez la commande 'p' et regardez comme la partition précédemment libre, désormais la n°4, a diminué de volume. Son premier bloc est maintenant en 614592, soit 192+614400. Logique !

Création des partitions Linux

Il faut créer au minimum deux partitions : une pour le 'swap' (ou mémoire virtuelle) et une pour l'installation de Linux lui-même : la partition 'root'.

Créons tout d'abord la partition de swap. Les "pros" conseillent de prendre une fois et demi la taille de votre RAM en swap. C'est ce que nous allons faire ici, à peu de chose près, sur une machine qui embarque 64 Mo de RAM.

c 4p 204800 swap

Attention, la commande est bien 'c' et non 'C' : 'c' crée automatiquement des partitions de type Apple_UNIX_SVR2, celles utilisées par Linux. 4p précise que le premier bloc est le premier bloc de la partition n°4, celle qui est libre. On aurait pu taper 614592 à la place, mais puisque pdisk peut faire le calcul pour nous, autant en profiter. 204800 blocs de 512 octets nous font donc 100 Mo affectés à cette partition. Le dernier paramètre swap est très important : c'est le nom de la partition. Linux s'en sert pour l'installation, tapez le tel quel !

Dernière étape : la création de la partition 'root' :

c 5p 5p root

Ce n'est pas la peine de détailler, vous avez compris.

Ecrire la table de partitions

Attention, c'est le point de non retour. Si vous ne savez plus où vous en êtes, et ne comprenez rien à ce que vous avez fait, c'est le moment de quitter (commande q) et de recommencer à partir de la commande d'édition de la table de partitions (e /dev/sdz).

Vérifiez, à l'aide de la commande p, que vous obtenez quelque chose comme ça :


      Partition map (with 512 byte blocks) on '/dev/sdz'
       #:                type name          length   base    ( size )
       1: Apple_partition_map Apple             63 @ 1      
       2:      Apple_Driver43*Macintosh_SL     128 @ 64     
       3:           Apple_HFS Sans_titre    614400 @ 192     (300.0M)
       4:     Apple_UNIX_SVR2 swap          204800 @ 614592  (100.0M)
       5:     Apple_UNIX_SVR2 root         1298752 @ 819392  (634.2M)
      Device block size=512, Number of Blocks=2118144 (1.0G)
      DeviceType=0x1, DeviceId=0x0
      Drivers-
      1: @ 64 for 6, type=0x1
Si c'est le cas, lancez-vous :

w

Voilà, c'est fait, maintenant, quittez pdisk.

Après

C'est quasiment terminé pour cette partie. Redémarrez votre machine pour que la nouvelle table de partitions soit lue. Mac OS vous propose de formater la partition HFS, faites-le, mais ne la formatez surtout pas en HFS étendu ! L'installeur Linux a besoin d'accéder à cette partition, et il ne sait accéder qu'aux partitions HFS.

Notez aussi dans un coin le nom des partitions root et HFS, elles vous seront demandées tôt ou tard : dans l'exemple ci-dessus, la partition root est accessible par /dev/sdz5 (le nom du disque concaténé au numéro de la partition root), la partition HFS par /dev/sdz3.

 

Dernière mise à jour le 9/1/01.

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

 

Retour à GNU Linux sur Macintosh