(M)  s i s t e m a   o p e r a c i o n a l   m a g n u x   l i n u x ~/ · documentação · suporte · sobre

  Página seguinte Página anterior Índice

222. Compartilhando um disco com o DEC Unix

Infelizmente, o DEC Unix não conhece absolutamente nada sobre Linux, então compartilhar um disco entre dois sistemas operacionais pode não ser algo inteiramente trivial. De qualquer forma não é uma tarefa difícil caso se tenha as informações contidas nesta seção. Assumimos aqui que se esteja utilizando o aboot versão 0.5 ou mais recente.

222.1 Particionando o Disco

Inicialmente e mais importante: nunca use quaisquer dos programas Linux de particionamento (minlabel ou fdisk) em um disco que é usado também pelo DEC Linux. O programa Linux minlabel usa a mesma tabela de partições que o programa disklabel do DEC Linux, porém há algumas incompatibilidades nos dados informados pelo minlabel, e então o DEC Unix irá simplesmente recusar a tabela de partições geradas pelo minlabel. Para configurar uma partição Linux ext2 sob DEC Unix, há necessidade de alterar a entrada disktab do disco. Como exemplo nesta discussão, vamos assumir que se tenha um disco rz26 (um disco comum de 1 Gb) no qual se deseja instalar o Linux. A entrada disktab sob o DEC Unix v 3.2 se assemelha ao seguinte (veja o arquivo /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:

Os campos interessantes aqui são o? e p?, onde ? é uma letra na faixa Ah (inicialmente através da oitava partição). O valor o fornece o deslocamento inicial da partição (em setores) e o valor p fornece o seu tamanho (também e setores). Veja disktab(4) para maiores informações. Note-se que DEC Unix parece definir partições sobrepostas. Para a entrada acima, o layout da partição se parece com algo como isso (pode-se verificar isso, adicionando-se os diversos valores de o e p):

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

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

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

DEC Unix insiste que a partição a inicia no deslocamento 0 e que a partição c utiliza todo o disco. Desta forma, é possível configurar a tabela de partições da forma que se queira.

Suponhamos que se tenha um sistema DEC Unix usando a partição g e se deseje instalar o Linux em uma partição h com a partição b sendo a partição de troca. Para se obter este layout sem destruir a partição DEC existente, será necessário configurar o tipo de partição de forma explícita. Pode-se fazer isto através da adição de um campo t para cada partição. Neste caso, adicionaremos a seguinte linha à entrada no disktab acima:

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

Agora porque nós marcamos a partição h como "reservd8" ao invés de "ext2"? Bem, DEC Unix não conhece nada sobre Linux. O que faz com que a partição de tipo "ext2" corresponda ao valor numérico 8. Ou seja em linguagem do DEC Unix, "reservd8" significa "ext2". OK, esta foi a parte difícil. Agora necessitamos somente instalar a entrada no disktab atualizado. Vamos assumir que o disco tenha uma identificação SCSI id 5. Neste caso, nós podemos informar:

disklabel -rw /dev/rrz5c rz26

Pode-se verificar se tudo está correto através da leitura da identificação do disco através do comando "disklabel -r /dev/rrz5c". Neste ponto, pode-se reinicializar o DEC Unix e estar seguro de que a partição DEC Unix está perfeitamente funcional. Caso este seja o caso, pode-se desligar a máquina e inicilizar a instalação do Linux. Esteja seguro para ignorar o passo de particionamento de disco durante a instalação. Uma vez que já temos uma tabela de partições disponível, deve ser possível ir adiante e selecionar a oitava partição como a partição raiz do Linux e a segunda como a partição de troca. Caso o disco seja, digamos, o segundo disco SCSI da máquina, então o nome do dispositivo para esta partição será /dev/sdb8 e /dev/sdb2, respectivamente (note que o uso de letras no nome dos dispositivos e números nos nomes das partições é exatamente o inverso que o DEC Unix faz; o esquema Linux faz mais sentido, é claro :-).

222.2 Instalando aboot

Primeiro grande problema: com o firmware SRM pode-se inicializar um e somente um sistema operacional por disco. Por esta razão, é geralmente melhor ter-se ao menos dois discos SCSI em uma máquina na qual se deseje ter dupla inicialização entre o Linux e o DEC Unix. Obviamente pode-se inicializar o Linux a partir de um disquete caso a velocidade não seja um problema ou através da rede, caso se tenha um servidor bootp disponível. Mas nesta seção assumiremos que se deseje inicializar o Linux a partir de um disco que contenha uma ou mais partições DEC Unix.

Segundo grande problema: instalando-se aboot em um disco compartilhado com DEC Unix torna a primeira e a terceira partições sem uso, uma vez que elas necessitam começar com um deslocamento de 0. Por esta razão, recomendamos que se altere o tamanho da partição a para algo com tamanho suficiente para conter somente o aboot (1 Mb deve ser suficiente).

Observados este dois aspectos, a instalação de aboot é quase tão simples de instalar como se forma da forma usual: uma vez que as partições a e c irão ser sobrepostas com aboot, necessitamos dizer ao comando swriteboot que isto está ok. Podemos fazer isso sob Linux na linha de comando, com o seguinte formato (novamente, assumindo que estamos tentando instalar aboot no segundo disco SCSI):

swriteboot -f1 -f3 /dev/sdb bootlx

-f1 significa que desejamos forçar a gravação do bootlx mesmo quando isso sobrepõe a partição 1. O correspondente se aplica à partição 3.

É isso. Pode-se agora desligar o sistema e inicializar o sistema a partir do disco rígido. Em nosso exemplo, a linha de comando SRM seria algo como:

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


Página seguinte Página anterior Índice