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
221. O Carregador aboot
Ao se usar o firmware SRM, aboot é a forma preferida de se inicializar o Linux. Ele suporta:
221.1 Obtendo e Construindo aboot
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:
221.2 Instalação Via Disquete
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:
221.3 Instalação em Discos Rígidos
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):
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.
221.4 Instalação Via CD-ROM
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:
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!
221.5 Construindo o Kernel do Linux
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:
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:
221.6 Inicializando o Linux
Com o firmware SRM e o aboot instalados, Linux é geralmente inicializado com o comando no seguinte formato:
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.
Nome do Arquivo de Inicialização
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:
ou para inicializar o sistema a partir da unidade de disquetes 0, deve-se informar:
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:
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).
Indicadores de Inicialização.
Um determinado número de indicadores de inicialização pode ser especificada. A sintaxe é
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:
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:
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:
Com este arquivo de configuração, o comando
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.
Selecionando a Partição do /etc/aboot.conf.
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:
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.
221.7 Carregando o Sistema Através da Rede
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:
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:
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.
Página seguinte Página anterior Índice |