O firmware do console é armazenado em uma flash ROM e iniciado quando sistema Alpha é ligado ou reiniciado. Existem dois tipos diferentes de especificações de consoles usados nos sistemas Alpha, e duas classes de firmwares de consoles disponíveis:
console SRM, baseado no subsistema de console da especificação Alpha, que oferece um ambiente operacional para o OpenVMS, UNIX Tru64 e sistema operacional Linux.
ARC, AlphaBIOS, ou console ARCSBIOS , baseado na especificação Avançada de computação RISC (ARC), que oferece um ambiente operacional para o Windows NT.
Da perspectiva do usuário, a diferença mais importante entre o SRM e o ARC é que a escolha do console se restringem a possibilidade do esquema de particionamento do disco rígido a partir do qual inicializou.
O ARC requer que utilize uma tabela de partição MS-DOS (como criada pelo comando cfdisk) para o disco de inicialização. As tabelas de partição MS-DOS são partições no formato "nativo" quando inicializa através do ARC. De fato, pois o AlphaBIOS contém um utilitário de particionamento de disco, você pode preferir particionar seus discos através dos menus da firmware antes de instalar o Linux.
De modo oposto, o SRM é incompatível com tabelas de partição do MS-DOS. [4] Pois sistemas Unix Tru64 usam o formato BSD de volume de disco, este é o formato nativo de partições para as instalações SRM.
Por causa que o GNU/Linux é o único sistema operacional no Alpha que pode ser inicializado através de ambos os tipos de console, a escolha também depende de qual outro sistema operacional você irá executa na mesma máquina. Todos os outros sistemas operacionais estilo Unix (Tru64, Unix, FreeBSD, OpenBSD e NetBSD) e OpenVMS apenas podem ser inicializados através da SRM, enquanto o Windows NT somente pode inicializar através do ARC.
A seguinte tabela resume os sistemas disponíveis e suportados entre as combinações de tipo/console (veja Secção 2.1.2, “CPU, Placas Mãe, e monitores de Video suportados” para os nomes dos tipos de sistema). A palavra "ARC" abaixo denota qualquer um dos tipos de consoles compatíveis com o ARC.
Tipo de Sistema | Tipo de Console Suportado |
---|---|
alcor | ARC ou SRM |
avanti | ARC ou SRM |
book1 | somente SRM |
cabriolet | ARC ou SRM |
dp264 | somente o SRM |
eb164 | ARC ou SRM |
eb64p | ARC ou SRM |
eb66 | ARC ou SRM |
eb66p | ARC ou SRM |
jensen | somente o SRM |
lx164 | ARC ou SRM |
miata | ARC ou SRM |
mikasa | ARC ou SRM |
mikasa-p | somente o SRM |
nautilus | somente o ARC (veja o manual da placa mãe) |
noname | ARC ou SRM |
noritake | somente o SRM |
noritake-p | somente o SRM |
pc164 | ARC ou SRM |
rawhide | somente o SRM |
ruffian | somente o ARC |
sable | somente o SRM |
sable-g | somente o SRM |
sx164 | ARC ou SRM |
takara | ARC ou SRM |
xl | somente o ARC |
xlt | ARC ou o SRM |
Geralmente, nenhum destes consoles podem inicializar o Linux diretamente, desta forma é requerida a assistência de um gerenciador de partida intermediário. Existem dois gerenciadores principais no Linux: MILO and aboot.
O MILO por si próprio é um console, que substitui o ARC ou SRM na memória. O MILO pode ser diretamente inicializado a partir do ARC e SRM e é o único método de iniciar o Linux no console ARC. O MILO é específico de plataforma (um MILO diferente é necessário para cada tipo de sistema) e existe somente para estes sistemas, no qual o suporte ao ARC é mostrado na tabela acima. Veja também o (infelizmente desatualizado) MILO HOWTO.
O aboot é um gerenciador de partida pequeno e independente de plataforma que somente roda a partir do SRM. Veja o (também infelizmente desatualizado) SRM HOWTO para mais informações sobre o aboot.
Assim, três cenários são possíveis, dependendo do firmware do console do sistema e se o MILO estiver ou não disponível:
SRM -> aboot SRM -> MILO ARC -> MILO |
A placa mãe UP1000 (com o nome de sub-arquitetura "nautilus") do processador Alpha, Inc. é diferente de todas as outras, pois ele utiliza um gerenciador de partira específico de API que é executado sobre a firmware AlphaBIOS.
Por causa que o MILO não está disponível para qualquer um dos sistemas alpha atualmente em produção (em Fevereiro de 2000) e porque ele não é mais necessária a compra de licenças OpenVMS ou Unix Tru64 para ter uma firmware SRM em seu antigo Alpha, é recomendado que você use o SRM e o aboot em novas instalações do GNU/Linux, a não ser que deseje fazer dupla inicialização com o Windows NT.
A maioria dos servidores Alpha e todas os produtos servidores e estações contém ambos o SRM e o AlphaBIOS em sua firmware. Para máquinas "falf-flash" tal como as várias placas de avaliação. É possível mudar de uma versão para outra regravando a firmware. Também, assim que o SRM estiver instalado, é possível executar o ARC/AlphaBIOS a partir de um disquete (usando o comando arc). Pelas razões mencionadas acima, nós recomendamos mudar para o SRM antes de instalar a Debian GNU/Linux.
Como em outras arquiteturas, você deverá instalar a revisão mais nova disponível de sua firmware [5] Antes de instalar a Debian GNU/Linux. Para a Alpha, as atualizações de firmware podem ser obtidas de Atualizações de Firmwares do Alpha.
No SRM, as interfaces Ethernet são nomeadas com o prefixo ewa, e será listada na saída do comando show dev, como este (levemente editado):
>>>show dev ewa0.0.0.9.0 EWA0 08-00-2B-86-98-65 ewb0.0.0.11.0 EWB0 08-00-2B-86-98-54 ewc0.0.0.2002.0 EWC0 00-06-2B-01-32-B0 |
Você precisará ajustar o protocolo de inicialização:
>>> set ewa0_protocol bootp |
Então verifique se o tipo de mídia está correto:
>>> set ewa0_mode mode |
Você poderá obter uma listagem de modos válidos com >>>set ewa0_mode.
Então, para inicializar através da primeira interface Ethernet, você poderá digitar:
>>> boot ewa0 |
Se deseja usar uma console serial, você deve passar o argumento console= ao kernel. Isto pode ser feito usando o argumento -flags ao comando boot do console SRM. As portas seriais tem o mesmo nome dos seus arquivos correspondentes em /dev. Por exemplo, para inicializar através de ewa0 e usar uma console na primeira porta serial, você deverá digitar:
>>> boot ewa0 -flags console=ttyS0 |
Digite
>>> boot xxxx -flags 0 |
onde xxxx é sua unidade de CD-ROM na notação do SRM.
Para inicializar através de um CD-ROM a partir do console ARC, encontre seu nome de código de sub-arquitetura (veja Secção 2.1.2, “CPU, Placas Mãe, e monitores de Video suportados”), então digite \milo\linload.exe como gerenciador de inicialização e \milo\subarch (aonde subarch é o nome de sub-arquitetura apropriada) como caminho do OS no menu "OS Selection Setup". Ruffians fez uma excessão: você precisará usar \milo\ldmilo.exe como gerenciador de partida.
No aviso de comando do SRM (>>>), digite o seguinte comando:
>>> boot dva0 -flags 0 |
Possivelmente substituindo dva0 com o nome de dispositivo atual. Normalmente dva0 é o disquete; digite
>>> show dev |
para ver a lista de dispositivos (e.g., caso deseje inicializar a partir de uma unidade de CD). Note que se se estiver inicializando através do MILO, o argumento -flags será ignorado, assim você poderá só digitar boot dva0. Se tudo funcionar bem, você verá o kernel do Linux iniciando.
Se quiser especificar parâmetros de inicialização do kernel via aboot, use o seguinte comando:
>>> boot dva0 -file linux.bin.gz -flags "root=/dev/fd0 load_ramdisk=1 argumentos" |
(digite um por linha), substituindo, se necessário, o nome atual do dispositivo de inicialização SRM por dva0, o nome do dispositivo de inicialização do Linux por fd0 e os parâmetros designados do kernel por argumentos.
Se desejar especificar parâmetros do kernel quando inicializar via MILO, você terá que interromper o processo de inicialização assim que entrar no MILO. Veja Secção 5.1.8, “Inicializando com o MILO”.
No menu de seleção de sistema operacional, defina o linload.exe como gerenciador de partida e milo como o caminho do sistema operacional. Inicie usando a nova entrada criada.
Para inicializar nesta plataforma, execute \apb\apb.exe a partir do menu "Utility/Run Maintenance Program" e digite
boot debian_install |
no aviso de comando do APB.
O MILO contido na mídia de inicialização está configurado par a prosseguir para o Linux automaticamente. Caso deseje intervir, tudo que precisa fazer é pressionar espaço durante a contagem regressiva do MILO.
Caso deseje especificar todos os bits explicitamente (por exemplo, para fornecer parâmetros adicionais), você poderá usar um comando como este:
MILO> boot fd0:linux.bin.gz root=/dev/fd0 load_ramdisk=1 |
Se estiver inicializando através de alguma outra mídia que não seja um disquete, substitua fd0 do exemplo acima com o nome de dispositivo apropriado na notação do Linux. O comando help deve lhe dar uma breve referência do MILO.
[4] Especificamente, o formato do setor de inicialização requerida pela especificação do subsistema conflita com a substituição da tabela de partição do DOS.
[5] Com excessão das Jensen, onde o Linux não é suportado nas versões de firmwares mais novas que a 1.7 - Veja http://www.linuxalpha.org/faq/FAQ-9.html para mais informações