[ anterior ] [ Resumo ] [ Nota de Copyright ] [ Conteúdo ] [ próximo ]

Guia Foca GNU/Linux
Capítulo 6 Gerenciadores de Partida (boot loaders)


Gerenciadores de Partida são programas que carregam um sistema operacional e/ou permitem escolher qual será iniciado. Normalmente este programas são gravados no setor de boot (inicialização) da partição ativa ou no master boot record (MBR) do disco rígido.

Este capitulo explica o funcionamento de cada um dos principais gerenciadores de partida usados no GNU/Linux, em que situações é recomendado seu uso, as características, como configura-lo e alguns exemplos de configuração.


6.1 LILO

O LILO (Linux Loader) é sem dúvida o gerenciador de partida padrão para quem deseja iniciar o GNU/Linux através do disco rígido. Ele permite selecionar qual sistema operacional será iniciado (caso você possua mais de um) e funciona tanto em discos rígidos IDE como SCSI.

A seleção de qual sistema operacional e a passagem de parâmetros ao kernel pode ser feita automaticamente ou usando o aviso de boot: do LILO.


6.1.1 Criando o arquivo de configuração do LILO

Os dados para a criação do novo setor de boot que armazenará o gerenciador de partida são lidos do arquivo /etc/lilo.conf Este arquivo pode ser criado em qualquer editor de textos (como o ae ou vi). Normalmente ele é criado durante a instalação de sua distribuição GNU/Linux mas por algum motivo pode ser preciso modifica-lo ou personaliza-lo (para incluir novos sistemas operacionais, mensagens, alterar o tempo de espera para a partida automática, etc).

O arquivo /etc/lilo.conf é dividido em duas seções: Geral e Imagens. A seção Geral vem no inicio do arquivo e contém opções que serão usadas na inicialização do Lilo e parâmetros que serão passados ao kernel. A seção Imagens contém opções especificas identificando qual a partição que contém o sistema operacional, como será montado inicialmente o sistema de arquivos, tabela de partição, o arquivo que será carregado na memória para inicializar o sistema, etc. Abaixo um modelo do arquivo /etc/lilo.conf para sistemas que só possuem o GNU/Linux instalado:

     boot=/dev/hda1
     compact
     install=/boot/boot.b
     map=/boot/map
     vga=normal
     delay=20
     lba32
     
     image=/vmlinuz
         root=/dev/hda1
         label=Linux
         read-only

Para criar um novo gerenciador de partida através do arquivo /etc/lilo.conf , execute o comando lilo.

No exemplo acima, o gerenciador de partida será instalado em /dev/hda1 (veja Identificação de discos e partições em sistemas Linux, Seção 5.8) , utilizará um setor de boot compacto (compact), modo de vídeo VGA normal (80x25), esperará 2 segundos antes de processar automaticamente a primeira seção image= e carregará o kernel /vmlinux de /dev/hda1. Para detalhes sobre opções que podem ser usadas neste arquivo veja Opções usadas no LILO, Seção 6.1.2.

Para mostrar o aviso de boot:, você deverá ligar as teclas Caps Lock ou Scrool lock na partida ou pressionar a tecla Shift durante os dois segundos de pausa. Outro método é incluir a opção prompt na seção global para que o aviso de boot: seja mostrado automaticamente após carregar o Lilo.

Abaixo uma configuração para computadores com mais de um sistema operacional (Usando GNU/Linux e DOS):

     boot=/dev/hda1
     compact
     lba32
     install=/boot/boot.b
     map=/boot/map
     vga=normal
     delay=20
     prompt
     
     image=/vmlinuz
         root=/dev/hda1
         label=linux
         read-only
     
     other=/dev/hda2
      table=/dev/hda
      label=dos

O exemplo acima é idêntico ao anterior, o que foi acrescentado foi a opção prompt na seção geral (para que seja mostrado imediatamente o aviso de boot: no momento em que o LILO for carregado), e incluída uma imagem de disco DOS localizado em /dev/hda2. No momento da inicialização é mostrada a mensagem boot: e caso seja digitado DOS e pressionado ENTER, o sistema iniciará o DOS. Caso a tecla Enter seja pressionada sem especificar a imagem, a primeira será carregada (neste caso o GNU/Linux).

Você pode substituir a palavra GNU/Linux da opção label por o número 1 e DOS por 2, desta forma o número pode ser digitado para iniciar o sistema operacional. Isto é muito útil para construir um menu usando a opção message. Para detalhes veja Opções usadas no LILO, Seção 6.1.2.

A seção Geral vem do inicio do arquivo até a palavra delay=20. A partir do primeiro aparecimento da palavra image, other ou range, tudo o que vier abaixo será interpretado como imagens de inicialização.

Por padrão, a imagem carregada é a especificada por default= ou a primeira que aparece no arquivo (caso default= não seja especificado). Para carregar o outro sistema (o DOS), digite o nome da imagem de disco no aviso de boot: (especificada em label=) que será carregada. Você também pode passar parâmetros manualmente ao kernel digitando o nome da imagem de disco e uma opção do kernel ou através do arquivo /etc/lilo.conf (veja Opções usadas no LILO, Seção 6.1.2).

O LILO pode inicializar o seguintes tipos de imagens:

Observações:


6.1.2 Opções usadas no LILO

Esta seção traz opções úteis usadas no arquivo lilo.conf com explicações sobre o que cada uma faz. As opções estão divididas em duas partes: As usadas na seção Global e as da seção Imagens do arquivo lilo.conf.

Global

Adicionalmente as opções de imagem do kernel append, ramdisk, read-only, read-write, root e vga podem ser especificadas na seção global. Opções por Imagem

As opções por imagem iniciam com uma das seguintes opções: image=, other= ou range=. Opções usadas por cada imagem:

Abaixo as opções usadas para passagem de parâmetros ao kernel. Estas opções podem ser usadas na seção global (valerão para todas as imagens) ou em cada imagem (valerão somente para aquela imagem).


6.1.3 Um exemplo do arquivo de configuração lilo.conf

Abaixo um exemplo do arquivo /etc/lilo.conf que poderá ser usado em instalações GNU/Linux com o DOS.

     boot=/dev/hda1        #Instala o LILO em /dev/hda1
     compact               
     install=/boot/boot.b
     map=/boot/map
     message=/etc/lilo.message  #mensagem que será mostrada na tela
     default=1          #Carrega a Imagem especificada por label=1 como padrão
     vga=normal         #usa o modo de video 80x25 ao iniciar o Linux
     delay=20           #aguarda 2 segundos antes de iniciar a imagem padrão 
     lba32              #permite quebrar o limite de 1024 cilindros na inicialização
     prompt             #mostra o aviso de "boot:" logo que o LILO é carregado
     
     image=/vmlinuz     #especifica o arquivo que contém a primeira imagem
       root=/dev/hda1   #partição onde a imagem acima esta localizada
       label=1          #identificação da imagem de disco
       read-only        #monta inicialmente como somente leitura
       password=12345   #Usa a senha 12345
       restricted       #somente quando iniciar com o parâmetro single
     
     other=/dev/hda2    #especifica outro sistema que será carregado
      table=/dev/hda    #a tabela de partição dele está em /dev/hda
      label=2           #identificação desta imagem de disco
      password=12345    #pede a senha antes de iniciar este sistema

Você pode usar o exemplo acima como base para construir sua própria configuração personalizada do /etc/lilo.conf mas não se esqueça de modificar as tabelas de partições para seu sistema. Se você usa o Windows NT 4.0, Windows NT 5.0 (Windows 2000) ou o OS/2, recomendo ler o DOS+Windows+OS/2-HOWTO.

Após criar seu arquivo /etc/lilo.conf , execute o comando lilo e se tudo ocorrer bem, o LILO será instalado.


6.2 LOADLIN

É um gerenciador de partida que permite iniciar o GNU/Linux a partir do DOS. A vantagem do uso do Loadlin é não ser preciso reiniciar o computador para se entrar no GNU/Linux. Ele funciona carregando o kernel (copiado para a partição DOS) para a memória e inicializando o GNU/Linux.

Outro motivo pelo qual é muito usado é quando o GNU/Linux não tem suporte a um certo tipo de dispositivo, mas este tem seu suporte no DOS ou Windows e funciona corretamente com eles.

O truque é o seguinte: Você inicia normalmente pelo DOS e após seu dispositivo ser configurado corretamente pelo driver do DOS e funcionando corretamente, você executa o Loadlin e o GNU/Linux assim poderá usa-lo. Muitos usam o comando Loadlin dentro do arquivo autoexec.bat para iniciar o GNU/Linux automaticamente após o dispositivo ser configurado pelo DOS.

ATENÇÃO!!! Não execute o Loadlin dentro do Windows.


6.2.1 Opções do LOADLIN

Abaixo a lista de opções que podem ser usadas com o programa LOADLIN (note que todas são usadas no DOS):

loadlin [imagem_kernel] [argumentos] [opções]


6.2.2 Exemplo de inicialização com o LOADLIN

Abaixo você encontra um exemplo do comando loadlin que poderá ser usado em sua instalação GNU/Linux (precisando apenas ajustar a localização da partição raiz do GNU/Linux de acordo com seu sistema).

      C:\> LOADLIN vmlinuz root=/dev/hda1 ro
                     |        |            |
                     |        |            +- Montar como somente leitura
                     |        |
                     |        +- Partição raiz
                     |
                     +- Nome do kernel copiado para o DOS


6.3 syslinux

Outro gerenciador de partida que funciona somente com sistemas de arquivos DOS. A principal diferença do syslinux em relação ao LOADLIN é que foi feito especialmente para funcionar em disquetes formatados no DOS, facilitando a instalação do GNU/Linux e para a criação de disquetes de recuperação ou de inicialização. Um disquete gerado pelo syslinux é lido sem problemas pelo DOS/Windows.

syslinux [-s] [dispositivo]

A opção -s instala no disquete uma versão segura, lenta e estúpida do syslinux. Isto é necessário para algumas BIOS problemáticas.


6.3.1 Criando um disquete de inicialização com o syslinux

Siga os passos abaixo para criar um disquete de inicialização com o syslinux:

  1. Formate o disquete no DOS ou com alguma ferramenta GNU/Linux que faça a formatação de disquetes para serem usados no DOS.
  2. Copie um ou mais arquivos de kernel para o disquete
  3. Digite syslinux /dev/fd0 (lembre-se de usar a opção -s se tiver problemas de inicialização). Este comando modificará o setor de partida do disquete e gravará um arquivo chamado LDLINUX.SYS no diretório raiz do disquete.

    Lembre-se: O disquete deve estar desmontado antes de usar o comando syslinux, caso o disquete estiver montado uma mensagem será mostrada e o syslinux abortado.

Por padrão é carregado o kernel de nome GNU/Linux. Este padrão pode ser modificado através do arquivo de configuração SYSLINUX.CFG que também é gravado no diretório raiz do disquete. Veja O arquivo SYSLINUX.CFG, Seção 6.3.2 para detalhes.

Se as teclas Caps Lock ou Scrool Lock estiverem ligadas ou Shift, Alt forem pressionadas durante o carregamento do syslinux, o syslinux mostrará um aviso de boot: no estilo do LILO. O usuário pode então digitar o nome do kernel seguido de qualquer parâmetro para inicializar o GNU/Linux.


6.3.2 O arquivo SYSLINUX.CFG

Este arquivo é criado no diretório raiz da unidade de disquete e contém as opções que serão usadas para modificar o funcionamento do syslinux. Abaixo a listagem de opções que podem ser especificadas neste arquivo:

default [kernel] [opções]
Indica o nome do kernel e as opções dele que serão usadas na inicialização, caso syslinux seja iniciado automaticamente. Caso não for especificado, o assumido para o kernel será GNU/Linux sem nenhuma opção de inicialização.
append [opçoes]
Passa uma ou mais opções ao kernel na inicialização. Elas serão adicionadas automaticamente para inicializações automáticas e manuais do syslinux.
label [nome]
kernel [kernel]
append [opções]
Nome que identificará o kernel no aviso de boot: (idêntica a opção label= do LILO). Se a imagem especificada por nome for selecionada, o kernel usado será o especificado pelo parâmetro kernel e as opções usadas por append.

Caso seja passado um hífen - ao parâmetro append, os parâmetros passados pelo append global serão anulados.

implicit [valor]
Se o [valor] for igual a 0, não carrega a imagem até que seja explicitamente especificada na opção label.
timeout [tempo]
Indica quanto tempo o syslinux aguardará antes de inicializar automaticamente (medido em 1/10 de segundos). Caso alguma tecla seja pressionada, a inicialização automática é interrompida. Para desativar esta característica, use 0 como timeout. O valor máximo é de 35996.
font [nome]
Especifica uma fonte (em formato .psf) que será usada para mostrar as mensagens do syslinux (após o aviso de copyright do programa). Ele carrega a fonte para a placa de vídeo, se a fonte conter uma tabela unicode, ela será ignorada. Somente funciona em placas EGA e VGA.
kbdmap [mapa]
Instala um simples mapa de teclado. O mapa de teclados usado é muito simples: somente remapeia códigos conhecidos pela BIOS, o que significa que somente teclas usadas no teclado padrão EUA serão usadas.

O utilitário keytab-lilo.pl da distribuição do lilo pode ser usado para criar tais mapas de teclado.

prompt [valor]
Se [valor] for igual a 1, mostra automaticamente o aviso de boot: assim que o syslinux for iniciado. Caso seja igual a 0, mostra o aviso de boot: somente se as teclas Shift ou Alt forem pressinadas ou Caps Lock e Scrool Lock estiverem ativadas.
display [arquivo]
Mostra o conteúdo do [arquivo] durante a inicialização do syslinux.
F1 [arquivo]
F2 [arquivo]
...
F0 [arquivo]
Especifica que arquivos serão mostrados quando as teclas de F1 até F10 forem pressionadas. Para detalhes, veja Formatação dos arquivos de tela do syslinux, Seção 6.3.3.


6.3.3 Formatação dos arquivos de tela do syslinux

Os arquivos de texto que são mostrados na tela pelo syslinux podem ter suas cores modificadas usando parâmetros simples, isto causa um bom efeito de apresentação. Abaixo estão os códigos que podem ser usados para criar um arquivo texto que será exibido pelo syslinux:

     CTRL+L - Limpa a tela (semelhante ao que o clear faz). 
     CTRL+O[frente][fundo] - Define a cor de frente e fundo, se somente 
                      uma cor for especificada, esta será assumida como frente. 
                      Veja os valores para [frente] e [fundo] abaixo:
                      00 - preto                      08 - cinza escuro
                      01 - azul escuro                09 - azul claro
                      02 - verde escuro               0a - verde claro 
                      03 - ciano escuro               0b - ciano claro
                      04 - vermelho escuro            0c - vermelho claro 
                      05 - purple escuro              0d - purple claro
                      06 - marrom                     0e - amarelo 
                      07 - cinza claro                0f - branco
     CTRL+Z       - Equivalente ao fim de arquivo no DOS

O código padrão usado é o 07. Escolhendo uma cor clara para o fundo (08-0f) resultará em uma cor piscante correspondente para a texto (00-07).


[ anterior ] [ Resumo ] [ Nota de Copyright ] [ Conteúdo ] [ próximo ]
Guia Foca GNU/Linux
Versão 4.98 - sábado, 15 de setembro de 2001
Gleydson Mazioli da Silva gleydson@escelsanet.com.br