4. Partager un disque avec Digital Unix

Contenu de cette section

Malheureusement, Digital Unix ne sait rien de Linux, aussi, partager un disque unique entre les deux systèmes n'est pas totalement simple. Cependant, ce n'est pas une tâche difficile si vous suivez les conseils prodigués dans cette section. Nous considérerons que vous utilisez la version 0.5 ou postérieure de aboot.

4.1 Partitionner le disque

Premièrement et avant tout : n'utilisez jamais les programmes de partitionnement de Linux (minlabel ou fdisk) sur un disque également utilisé par Digital Unix. Le programme Linux minlabel utilise le même format de table de partitions que le programmme disklabel de Digital Unix, mais il existe des incompatibilités avec les données écrites par minlabel, alors Digital Unix refusera tout simplement la table de partitions engendrée par minlabel. Pour configurer une partition Linux ext2 sous Digital Unix, vous allez devoir changer l'entrée disktab de votre disque. Pour illustrer notre propos, supposons que vous avez un disque rz26 (un disque de 1Go) sur lequel vous voulez installer Linux. L'entrée disktab sous Digital Unix v3.2 ressemble à (voyez le fichier /etc/disktab) :

rz26|RZ26|DEC RZ26 Winchester:\
        :ty=winchester:dt=SCSI:ns#57:nt#14:nc#2570:\
        :oa#0:pa#131072:ba#8192:fa#1024:\
        :ob#131072:pb#262144:bb#8192:fb#1024:\
        :oc#0:pc#2050860:bc#8192:fc#1024:\
        :od#393216:pd#552548:bd#8192:fd#1024:\
        :oe#945764:pe#552548:be#8192:fe#1024:\
        :of#1498312:pf#552548:bf#8192:ff#1024:\
        :og#393216:pg#819200:bg#8192:fg#1024:\
        :oh#1212416:ph#838444:bh#8192:fh#1024:

Les champs intéressants ici sont oit/?/; et p?, où ? désigne une lettre de l'intervalle a-h (les huit premières partitions). La valeur o indique l'adresse du début de la partition (en nombre de secteurs) et la valeur p donne la taille de la partition (également en nombre de secteurs). Reportez-vous à disktab(4) pour plus d'informations. Notez que Digital Unix aime définir des partitions qui se chevauchent. Pour les entrées ci-dessus, l'organisation des partitions ressemble à cela (vous pouvez vérifier en ajoutant les diverses valeurs o et p) :

  a     b         d           e           f
|---|-------|-----------|-----------|-----------|

                        c
|-----------------------------------------------|

                     g                 h
            |-----------------|-----------------|

Digital Unix insiste pour que la partition a commence à l'adresse 0 et que la partition c couvre l'étendue du disque. A part cela, vous pouvez organiser la table des partitions comme bon vous semble.

Supposons que vous avez Digital Unix utilisant la partition g et que vous voulez installer Linux sur la partition h avec la partition b comme partition de swap. Pour obtenir cette organisation sans détruire la partition Digital Unix existante, vous devez configurer explicitement les types des partitions. Vous pouvez réaliser ceci en ajoutant un champ t pour chaque partition. Dans notre cas, nous ajoutons la ligne suivante à l'entrée disktab.

        :ta=unused:tb=swap:tg=4.2BSD:th=reservd8:

Pourquoi avons-nous marqué la partition h comme "reservd8" plutôt que comme "ext2" ? Bon, Digital Unix ne connait rien de Linux. Une partition de type "ext2" correspond à une valeur numérique de 8, et Digital Unix utilise la châne "reservd8" pour cette valeur. Donc, dans le langage de Digital Unix, "reservd8" signifie "ext2". Ceci était la partie hardue. Maintenant, il ne nous reste plus qu'à installer la nouvelle entrée disktab sur le disque. Considérons que le disque à l'ID SCSI 5. Dans ce cas, nous faisons :

disklabel -rw /dev/rrz5c rz26

Vous pouvez vérifier que tout va bien en lisant le disklabel grâce à la commande disklabel -r /dev/rrz5c. A ce point, vous pouvez vouloir redémarrer Digital Unix et vous assurer que la partition Digital Unix est encore présente et en bon état. Si c'est le cas, vous pouvez arréter la machine et commencer l'installation de LInux. Prenez soin de sauter l'étape de partitionnement du disque lors de la procédure d'installation. Sachant que nous avons déjà installé une table de partitions correcte, vous devriez être capable de procéder à cette opération et de sélectionner la huitième partition comme partition racine de Linux et la deuxième comme partition de swap. Si le disque est le deuxième disque SCSI de la machine, les noms de périphériques pour ces deux partitions seront /dev/sdb8 et /dev/sdb2, respectivement (notez que Linux utilise des lettre pour désigner les disques et des numéros pour désigner les partitions, exactement à l'inverse de Digital Unix ; le schéma de Linux a plus de sens bien sûr ;-).

4.2 Installer aboot

Premier obstacle : avec le firmware --> -- SRM, vous ne pouvez démarrer qu'un et un seul système d'exploitation par disque. Pour cette raison, il est généralement préférable de disposer d'au moins deux disques SCSI dans une machine sur laquelle vous désirez utiliser aussi bien Linux que Digital Unix. Bien sûr vous pouvez aussi démarrer Linux depuis une disquette si la vitesse importe peu, ou par un réseau, si vous disposez d'un serveur bootp. Mais dans cette partie, nous considérerons que vous souhaitez démarrer Linux depuis un disque contenant une ou plusieurs partitions Digital Unix.

Deuxième obstacle : installer aboot sur un disque partagé avec Digital Unix rend les première et troisième partitions inutilisables (sachant qu'elles doivent commencer à l'adresse 0). Pour cette raison, nous vous recommandons de changer la taille de la partition a à une valeur juste suffisament élevée pour contenir aboot (1Mo devrait convenir).

Une fois que ces deux obstacles sont surmontés, installer aboot est aussi simple que d'habitude : comme les partitions a et c vont recouvrir aboot , nous devons spécifier à swriteboot que ceci est intentionnel . Nous pouvons le faire sous Linux avec une ligne de commande de la forme suivante (de nouveau, nous supposerons que l'on veut installer aboot sur le deuxième disque SCSI) :

swriteboot -f1 -f3 /dev/sdb bootlx

Le paramètre -f1 signifie que nous voulons forcer l'écriture de bootlx même s'il recouvre la première partition. La même chose s'applique à la troisième partition.

C'est tout. Vous devriez désormais pouvoir arréter le système et lancer Linux depuis le disque dur. Dans notre exemple, la ligne de commande SRM pour le faire serait :

boot dka5 -fi 8/vmlinux.gz -fl root=/dev/sdb8


Chapitre Précédent

Table des matières de ce chapitre, Table des matières générale

Début du document, Début de ce chapitre