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
.
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 o
it/?/; 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 ;-).
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