(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

219. Como o SRM carrega um sistema operacional?

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.

219.1 Acionando o Carregador Secundário de Sistemas Operacionais

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.


Página seguinte Página anterior Índice