Como fazer SRM Firmware
  David Mosberger <mailto:davidm@azstarnet.com>
  v0.5, 17 August 1996

  Este documento descreve como inicializar o Linux/Alpha usando o SRM
  Firmware, que é o firmware normalmente usado para iniciar o DEC Unix.
  Usualmente, é preferível usar o MILO ao invés do aboot desde que o
  MILO esteja perfeitamente adaptado para as necessidades do Linux.
  Contudo, MILO não está sempre disponível para um sistema particular e
  MILO não tem habilidade para iniciar a rede. Neste ou em outro caso,
  usar o SRM console deve ser a solução correta.
  ______________________________________________________________________

  Índice geral


  1. Como o SRM carrega um sistema operacional?

     1.1 Acionando o Carregador Secundário de Sistemas Operacionais

  2. O Carregador Direto

  3. O Carregador aboot

     3.1 Obtendo e Construindo aboot
     3.2 Instalação Via Disquete
     3.3 Instalação em Discos Rígidos
     3.4 Instalação Via CD-ROM
     3.5 Construindo o Kernel do Linux
     3.6 Inicializando o Linux
        3.6.1 Nome do Arquivo de Inicialização
        3.6.2 Indicadores de Inicialização.
           3.6.2.1 Selecionando a Partição do /etc/aboot.conf.
     3.7 Carregando o Sistema Através da Rede

  4. Compartilhando um disco com o DEC Unix

     4.1 Particionando o Disco
     4.2 Instalando aboot


  ______________________________________________________________________


  11..  CCoommoo oo SSRRMM ccaarrrreeggaa uumm ssiisstteemmaa ooppeerraacciioonnaall??





  Todas as versões do SRM podem ser inicializadas de discos SCSI e as
  versões para as novas plataformas, como Noname ou AlphaStations, podem
  ser inicializadas a partir de disquetes também. Inicialização através
  da rede via bootp também é suportada. Note-se que as antigas versões
  (principalmente a da placa Jensen) não podem inicializar a partir de
  disquetes. Ainda, inicialização a partir de discos IDE não são
  suportadas.


  A inicialização do  Linux com SRM é realizada em dois passos:
  primeiramente, o SRM carrega e transfere o controle para o carregador
  de sistemas operacionais secundário. Este então configura o ambiente
  para o Linux, lê a imagem do kernel de um sistema de arquivos em disco
  e finalmente transfere o controle para o Linux.


  Atualmente, há dois carregadores secundários de sistemas operacionais
  para Linux: o carregador direto que vem junto com o kernel do Linux e
  o aboot que é distribuído separadamente. Estes dois softwares são
  descritos com maiores detalhes adiante.



  11..11..  AAcciioonnaannddoo oo CCaarrrreeggaaddoorr SSeeccuunnddáárriioo ddee SSiisstteemmaass OOppeerraacciioonnaaiiss





  SRM não sabe absolutamente nada sobre sistemas de arquivos ou
  partições de discos. Ele simplesmente espera que o carregador
  secundário de sistemas operacionais ocupe uma área consecutiva de
  setores físicos de um disco, iniciando a partir de um deslocamento pré
  determinado. As informações sobre o tamanho do carregador secundário
  de sistemas operacionais e o deslocamento do primeiro setor de disco
  estão armazenadas nos primeiros 512 bytes do setor. Especificamente,
  um inteiro longo com deslocamento 480 armazena o tamanho do carregador
  secundário de sistemas operacionais (em blocos de 512 bytes) e um
  longo como o deslocamento 488 fornece o número do setor no qual o
  carregador secundário de sistemas operacionais inicia. O primeiro
  setor ainda armazena uma "palavra" de deslocamento 496 o qual é sempre
  igual a zero e um verificador de integridade de deslocamento 504. O
  verificador é simplesmente a soma dos primeiros 63 inteiros longos no
  primeiro setor.


  Caso o verificador de integridade do primeiro setor esteja correto,
  SRM segue adiante e lê os setores, iniciando no setor fornecido no
  campo "número do setor de início" e os coloca na memória virtual no
  endereço 0x20000000. Caso a leitura seja completada com sucesso, SRM
  executa uma instrução de transferência para o endereço 0x20000000.


  22..  OO CCaarrrreeggaaddoorr DDiirreettoo





  Os fontes deste carregador podem ser encontrados no diretório



               linux/arch/alpha/boot





  na distribuição dos fontes do kernel do Linux. Ele carrega o kernel do
  Linux através da leitura de START_SIZE - descolamento que indica o
  byte de início no disco BOOT_SIZE+512 (também em bytes). As constantes
  START_SIZE e BOOT_SIZE são definidas em linux/include/asm-
  alpha/system.h.  START_SIZE deve no mínimo ser tão grande quanto a
  imagem do kernel (ou seja o tamanho dos segmentos .text, .data e
  .bss). De forma similar deve ser no mínimo tão grande quanto a imagem
  do carregador direto de sistema operacional. Ambas as constantes devem
  ser um inteiro múltiplo do tamanho do setor, o qual é igual a 512
  bytes. Os valores padrões são atualmente 2 Mb para START_SIZE e 16 Kb
  para BOOT_SIZE. Note-se que se deseje iniciar o sistema a partir de um
  disquete de 1.44 Mb, deve-se reduzir o START_SIZE para 1.400 Kb e
  estar certo de que o kernel que se deseja inicializar não é maior que
  isto.


  Para construir um carregador direto, simplesmente digite "make
  rawboot" no diretório /usr/src/linux. Isto deve produzir os seguintes
  arquivos em arch/alpha/boot:



     ttoooollss//llxxbboooott::

        O primeiro setor do disco. Contém o deslocamento e o tamanho do
        próximo arquivo no formato descrito a seguir.



     ttoooollss//bboooottllxx::

        O carregador direto de sistemas que carregará o arquivo abaixo.



     vvmmlliinnuuxx..nnhh::

        A imagem bruta do kernel consistindo de segmentos .text, .data e
        .bss do arquivo objeto em /usr/src/linux/vmlinux. A extensão .nh
        indica que o arquivo não tem cabeçalho de arquivo objeto.




  A concatenação destes três arquivos devem ser gravados no disco que se
  deseje utilizar para inicializar o sistema. Por exemplo, para
  gravá-los em um disquete, insira um deles vazio em, digamos, /dev/fd0
  e então digite:


       cat tools/lxboot tools/bootlx vmlinux >/dev/fd0





  Pode-se então desligar o sistema e inicializar o sistema a partir do
  disquete através do comando boot dva0.


  33..  OO CCaarrrreeggaaddoorr aabboooott





  Ao se usar o firmware SRM, aboot é a forma preferida de se inicializar
  o Linux. Ele suporta:



  ·  inicialização direta de vários sistemas de arquivos ((ext2, ISO9660
     e UFS, o sistema de arquivos DEC),

  ·  inicialização de arquivos objetos inicializáveis (tanto ELF como
     ECOFF)

  ·  inicialização de kernels comprimidos,

  ·  inicialização pela rede (usando bootp),

  ·  tabelas de partições no formato DEC Unix ( a qual é compatível com
     as tabelas de partição do BSD Unix),

  ·  inicialização interativa e configurações padrão para consoles SRM
     que não podem passar longas expressões de opções



  33..11..  OObbtteennddoo ee CCoonnssttrruuiinnddoo aabboooott






  A versão mais recente do aboot está disponível em
  ftp://ftp.alphalinux.org/pub/linux/axp/aboot. A descrição neste manual
  aplica-se ao aboot versão 0.5 ou mais recente.


  Uma vez que ele seja recebido e extraído o arquivo tar, verifique o
  conteúdo dos arquivos README e INSTALL para algumas instruções sobre a
  sua instalação. Em particular, esteja seguro de ajustar as variáveis
  no Makefile e no include/config.h para que se adequem ao ambiente
  local. Normalmente, não será necessário alterar absolutamente nada ao
  se construir aboot sob o Linux, mas é sempre uma boa idéia verificar
  novamente. Caso se esteja satisfeito com a configuração, simplesmente
  digite make para construí-lo (caso não se esteja construindo sob
  Linux, é bom saber que aboot requer o GNU make).


  Após executar o make, o diretório aboot deve conter os seguintes
  arquivos:



     aabboooott

        Este é o executável atual do aboot (ou um arquivo objeto ECOFF
        ou ELF).



     bboooottllxx

        O mesmo que acima, mas contém somente os segmentos de texto,
        dados e bss --- ou seja este não é um arquivo objeto.



     ssddiisskkllaabbeell//wwrriitteebboooott

        utilitário para instalar o aboot em um disco rígido.



     ttoooollss//ee22wwrriitteebboooott

        utilitário para instalar o aboot em um sistema de arquivos ext2
        (normalmente usado em disquetes).




     ttoooollss//iissoommaarrkkbboooott

        Utilitário para instalar o aboot em um sistema de arquivos
        iso9660 (usado pelos distribuidores de CD-ROM).



     ttoooollss//aabboooottccoonnff

        Utilitário para configurar um aboot instalado.





  33..22..  IInnssttaallaaççããoo VViiaa DDiissqquueettee







  O carregador de sistemas pode ser instalado em um disquete usando o
  comando e2writeboot (note-se que isso não pode ser feito em um sistema
  Jensen, uma vez que seus firmwares não suportam a inicialização a
  partir do disquete). Este comando requer que o disco não esteja
  fragmentado, assim como necessita encontrar blocos contíguos para
  armazenar toda a imagem (atualmente cerca de 90 Kb). Caso o
  e2writeboot falhe devido a isso, reformate o disquete e tente
  novamente (com por exemplo fdformat(1)). Por exemplo, apresentamos a
  seguir os passos de instalação do aboot no disquete assumindo que a
  unidade de disquetes esteja em /dev/fd0:




       fdformat /dev/fd0
       mke2fs /dev/fd0
       e2writeboot /dev/fd0 bootlx






  33..33..  IInnssttaallaaççããoo eemm DDiissccooss RRííggiiddooss





  Uma vez que o comando e2writeboot pode falhar em discos altamente
  fragmentados e desde que a reformatação de uma disco rígido é algo
  normalmente doloroso, é normalmente mais seguro instalar o aboot em um
  disco rígido utilizando o comando swriteboot, o qual requer que os
  primeiros setores sejam reservados para a inicialização do sistema.
  Sugerimos que o disco seja particionado de forma que a primeira
  partição inicie com um deslocamento de 2.048 setores. Isso reserva um
  espaço de aproximadamente 1 Mb para armazenamento do aboot. Em um
  disco adequadamente particionado, será possível instalar o aboot da
  seguinte forma (assumindo-se que o disco seja /dev/sda):




  swriteboot /dev/sda bootlx





  Em um sistema Jensen, será necessário deixar um espaço ainda maior,
  uma vez que será necessário gravar também o kernel neste local - 2 Mb
  deve ser suficiente para se utilizar kernels comprimidos. Use
  swriteboot conforme descrito anteriormente para gravar o bootlx junto
  com o kernel do Linux.



  33..44..  IInnssttaallaaççããoo VViiaa CCDD--RROOMM





  Para tornar um CD-ROM inicializável pelo SRM, simplesmente construa o
  aboot conforme descrito anteriormente. A seguir, esteja seguro de que
  o arquivo bootlx esteja presente no sistema de arquivos iso9660 (por
  exemplo copie bootlx para o diretório que é o sistema de arquivos
  master, e então execute o comando mkisofs naquele diretório). Após,
  tudo o que precisa ser feito é marcar o sistema de arquivos como
  inicializável pelo SRM. Isso pode ser obtido com o seguinte comando:




       isomarkboot filesystem bootlx





  O comando acima assume que o sistema de arquivos é um arquivo contendo
  o sistema de arquivos iso9660 e que o bootlx foi copiado para o
  diretório raiz daquele sistema de arquivos.  É isso!



  33..55..  CCoonnssttrruuiinnddoo oo KKeerrnneell ddoo LLiinnuuxx





  Um kernel inicializável do Linux pode ser construído seguindo-se os
  seguintes passos. Durante o make config, esteja seguro de responder
  "sim" para a questão sobre a intenção de construir a inicialização do
  kernel via SRM:




       cd /usr/src/linux
       make config
       make dep
       make boot





  O último comando irá construir o arquivo arch/alpha/boot/vmlinux.gz o
  qual pode ser copiado para o disco do qual se deseje inicializar o
  sistema. No exemplo em disquete acima, pode-se acrescentar:




       mount /dev/fd0 /mnt
       cp arch/alpha/boot/vmlinux.gz /mnt
       umount /mnt






  33..66..  IInniicciiaalliizzaannddoo oo LLiinnuuxx





  Com o firmware SRM e o aboot instalados, Linux é geralmente
  inicializado com o comando no seguinte formato:




       boot devicename -fi filename -fl flags





  Os argumentos de nome de arquivo e indicadores de argumentos são
  opcionais. Caso eles não sejam especificados, SRM usa os valores
  padrões armazenados nas variáveis de ambiente no BOOT_OSFILE e
  BOOT_OSFLAGS. A sintaxe e o significado destes dois argumentos são
  descritos em maiores detalhes a seguir.



  33..66..11..  NNoommee ddoo AArrqquuiivvoo ddee IInniicciiaalliizzaaççããoo





  O argumento do nome de arquivo tem o seguinte formato:

       [n/]nome_de_arquivo



  n é um dígito simples na faixa de 1 a 8, que fornece o número da
  partição a partir da qual a inicialização do sistema será feita. O
  nome do arquivo é o caminho do arquivo que se deseja carregar. Por
  exemplo, para inicializar o sistema a partir da segunda partição do
  dispositivo SCSI de identificação 6, pode-se informar:




       boot dka600 -file 2/vmlinux.gz


  ou para inicializar o sistema a partir da unidade de disquetes 0,
  deve-se informar:




       boot dva0 -file vmlinux.gz





  Se o disco não tem tabela de partição, aboot assume que o disco contém
  uma partição ext2 iniciando no primeiro bloco de disco. Isto permite a
  inicialização a partir de disquetes.


  Como um caso especial, a partição de número 0 é usada para requisitar
  a inicialização a partir de um disco que não contém um sistema de
  arquivos (ainda). Ao se especificar a "partição" de número 0, aboot
  assume que o kernel está armazenado logo após a imagem de aboot. Tal
  formato pode ser obtido através do comando swriteboot. Por exemplo,
  para configurar uma inicialização sem sistema de arquivos a partir de
  /dev/sda, pode-se ser usado o comando:




       swriteboot /dev/sda bootlx vmlinux.gz





  Inicializar um sistema desta forma não é normalmente necessário. A
  razão desta existência reside no fato de tornar possível ter-se o
  Linux instalado em sistemas que não podem ser inicializados a partir
  de disquetes (como por exemplo de Jensen).



  33..66..22..  IInnddiiccaaddoorreess ddee IInniicciiaalliizzaaççããoo..





  Um determinado número de indicadores de inicialização pode ser
  especificada. A sintaxe é


       -flags "opções..."





  Onde "opções..." é qualquer combinação das seguintes opções (separadas
  por espaços em branco). Há diversas opções de inicialização,
  dependendo de quais programas de controle de dispositivos estão
  instalados. As opções listadas a seguir tem a intenção de serem
  exemplos que ilustram a idéia geral:




     llooaadd__rraammddiisskk==11

        Copia o sistema de arquivos raiz de um disco (disquete) para a
        memória RAM antes de inicializar o sistema. O disco em memória
        RAM será usado na composição de dispositivo raiz. Isso é útil
        para a inicialização do Linux em um sistema com somente uma
        unidade de disquetes.



     ffllooppppyy==ssttrr

        Configura o disquete para str.



     rroooott==ddeevv

        Seleciona o dispositivo dev como o sistema de arquivos raiz. O
        dispositivo pode ser especificado através de um número
        hexadecimal de maior e menor (por exemplo 0x802 para /dev/sda2)
        ou através de um dos poucos nomes canônicos (por exemplo
        /dev/fd0, /dev/sda2).



     ssiinnggllee

        Inicializa o sistema no modo monousuário.



     kkggddbb

        Habilita o kernel-gdb (funciona somente se o parâmetro
        CONFIG_KGDB estiver configurado; um segundo sistema Alpha
        necessita estar conectado em uma porta serial para tornar esta
        estrutura funcional).




  Algumas implementações SRM (por exemplo, a Jensen) são habilitadas e
  permitem  somente expressões curtas de opções (por exemplo, no máximo
  8 caracteres). Nestes casos, aboot poderá ser inicializado com o
  indicador de um único caracter  igual a "i". Com este indicador, aboot
  irá solicitar ao usuário para interativamente informar as opções de
  inicialização com expressões de até 256 caracteres. Por exemplo:




       boot dka0 -fl i
       aboot> 3/vmlinux.gz root=/dev/sda3 single





  Um vez que a inicialização desta forma pode tornar-se rapidamente
  tediosa, aboot permite que sejam definidas os atalhados para comandos
  de linha usados freqüentemente. Em particular, uma opção de dígito
  simples (0-9) solicita que aboot use a opção correspondente armazenada
  no arquivo /etc/aboot.conf.  Um exemplo do aboot.conf é mostrado a
  seguir:

       #
       # configurações padrão do aboot
       #
       0:3/vmlinux.gz root=/dev/sda3
       1:3/vmlinux.gz root=/dev/sda3 single
       2:3/vmlinux.new.gz root=/dev/sda3
       3:3/vmlinux root=/dev/sda3
       8:- root=/dev/sda3            # inicialização direta do kernel sem sistemas de
                                     # arquivos
       9:0/vmlinux.gz root=/dev/sda3 # inicialização sem sistemas de arquivos de kernel
                                     # ECOFF (comprimidos)
       -





  Com este arquivo de configuração, o comando




       boot dka0 -fl 1





  corresponde exatamente ao comando de inicialização mostrado acima. É
  muito simples esquecer qual número corresponde a qual comando. Para
  aliviar este problema, inicialize com a opção "h" e o aboot irá
  imprimir o conteúdo de /etc/aboot.conf antes de solicitar o comando de
  inicialização do sistema.


  Finalmente, quando o aboot solicitar uma opção, é possível informar um
  único caracter ("i", "h" ou "0"-"9") para obter o mesmo efeito como se
  o indicador tivesse sido especificado na linha de comando de
  inicialização. Por exemplo, pode-se iniciar o sistema com o indicador
  "i" e então digita-se "h" (seguida de [Enter]) para relembrar o
  conteúdo de /etc/aboot.conf.



  33..66..22..11..  SSeelleecciioonnaannddoo aa PPaarrttiiççããoo ddoo //eettcc//aabboooott..ccoonnff..



  Quando instalado em um disco rígido, aboot necessita conhecer em qual
  partição se deve pesquisar pelo arquivo /etc/aboot.conf. Um novo aboot
  compilado irá pesquisar a segunda  partição (por exemplo /dev/sda2).
  Uma vez que possa ser um incoveniente compilar aboot somente para
  alterar o número da partição, abootconf permite se modificar
  diretamente um aboot instalado. Especificamente, caso se deseje
  alterar aboot para usar a terceira partição do disco /dev/sda, pode-se
  usar o comando:




       abootconf /dev/sda 3





  Pode-se verificar a configuração atual simplesmente omitindo o número
  da partição, Ou seja: abootconf /dev/sda irá imprimir o número da
  partição atualmente selecionada. Note-se que aboot deve estar
  instalado para que este comando possa ser utilizado. Ainda, ao se
  instalar um novo aboot, o número da partição irá ser definido pelo
  padrão (ou seja, será necessário executar abootconf novamente).


  Desde a versão 0.5 do aboot é possível ainda selecionar a partição de
  aboot.conf via linha de comando. Isto pode ser feito através da linha
  de comando no formato a:b, onde a é a partição que contém
  /etc/aboot.conf e b é a opção de um único dígito conforme descrito
  acima (0-9, i ou h). Por exemplo, ao se digitar "3:h" dka100 o sistema
  será inicializado a partir do SCSI ID 1, carregar /etc/aboot.conf a
  partir da terceira partição, imprimir seu conteúdo na tela e aguardar
  pela informação das opções de inicialização.



  33..77..  CCaarrrreeggaannddoo oo SSiisstteemmaa AAttrraavvééss ddaa RReeddee





  Dois passos são necessários antes que o Linux possa ser inicializado
  através da rede. Inicialmente, é necessário definir as variáveis de
  ambiente SRM para habilitar a inicialização através do protocolo bootp
  e segundo será necessário configurar outra máquina como o servidor de
  inicialização. Por favor, verifique a documentação do SRM que
  acompanha a sua instalação para verificar como habilitar o bootp. A
  configuração de um servidor de inicialização é obviamente dependente
  de qual sistema operacional será executado naquele equipamento, mas
  tipicamente envolve a inicialização do programa bootpd em segundo
  plano após a configuração do arquivo /etc/bootptab. Este arquivo tem
  uma entrada descrevendo cada cliente que tem permissão para
  inicializar a partir do servidor. Por exemplo, caso se deseje
  inicializar a  máquina minhamaq.cs.pantanal.edu.br, então a entrada
  terá o seguinte formato:




       minhamaq.cs.pantanal.edu.br:\
               :hd=/remoto/:bf=vmlinux.bootp:\
               :ht=ethernet:ha=08012B1C51F8:hn:vm=rfc1048:\
               :ip=192.12.69.254:bs=auto:





  Esta entrada assume que o endereço Ethernet da máquina seja
  08012B1C51F8 e seu endereço IP seja 192.12.69.254. O endereço Ethernet
  pode ser encontrado com o comando show device da console SRM ou, caso
  o Linux esteja sendo executado, através do comando ifconfig. A entrada
  define ainda se o cliente não tem nenhuma especificidade. Caso
  contrário o arquivo vmlinux.bootp será inicializado a partir do
  diretório /remoto. Para maiores informações sobre a configuração do
  bootpd  por favor verifique a sua página de manual on-line.


  A seguir, construiremos aboot com a linha de comando make netboot.
  Esteja certo de que o kernel que se deseje utilizar já esteja
  construído. Por padrão o  Makefile de aboot utiliza o kernel
  encontrado em /usr/src/linux/arch/alpha/boot/vmlinux.gz (edite o
  Makefile caso se deseje utilizar um caminho diferente). O resultado de
  make netboot é um arquivo chamado vmlinux.bootp o qual contém aboot e
  o kernel do Linux, prontos para a inicialização através da rede.


  Finalmente, copie o vmlinux.bootp para o diretório do servidor de
  inicialização. No exemplo acima, pode-se copiá-lo em
  /remote/vmlinux.bootp. A seguir, ligue a máquina cliente e a
  inicialize, especificando o adaptador Ethernet como o dispositivo de
  inicialização. Tipicamente, o SRM chamará o primeiro adaptador
  Ethernet como ewa0, sendo que o comando de inicialização a partir
  deste dispositivo terá o seguinte formato:




       boot ewa0





  As opções -fi e -fl podem ser usadas da forma usual. Em particular,
  pode-se especificar que aboot solicite os argumentos do kernel do
  Linux através da especificação da opção -fl i.


  44..  CCoommppaarrttiillhhaannddoo uumm ddiissccoo ccoomm oo DDEECC UUnniixx





  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.



  44..11..  PPaarrttiicciioonnaannddoo oo DDiissccoo







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



  44..22..  IInnssttaallaannddoo aabboooott






  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