Hugo Cisneiros (Eitch), hugo arroba devin ponto com ponto br
Versão 4.0, 2006

The Linux Manual

4.1. Configurando o LILO

Índice

4.1.1. Seção de configuração global
4.1.2. Seção de configuração de partições
4.1.3. Mensagens de erro do LILO
4.1.4. Mega-exemplo
4.1.5. Instalando o LILO

O LILO é um dos mais importantes softwares do Linux, é ele quem carrega o kernel no seu sistema para começar a funcionar! Desde os primórdios, o LILO vem oferecendo essa funcionalidade. Mas apesar disso tudo, com o tempo ele foi sendo substituído pelo GRUB, que é outro gerenciador de boot. Entender a configuração do LILO é muito importante, principalmente para quem tem muitos sistemas numa mesma máquina. Algumas distribuições ainda mantém o LILO como padrão. Ele torna possível gerenciar partições e assim bootar em diferentes sistemas operacionais. É com ele que fica possível colocar por exemplo, o Windows e o Linux na mesma máquina.

O arquivo de configuração do LILO é o /etc/lilo.conf. É editando ele que você vai poder configurar o LILO conforme as suas necessidades. Um arquivo comum para uma máquina que possui dois sistemas (Linux e Windows) segue no exemplo abaixo:


# Arquivo de configuração do LILO

### Seção dos parâmetros globais do LILO ###
boot=/dev/hda
vga=normal

message=/boot/mensagem.txt
prompt
timeout=150

### Seção de partições do LILO ###

# Partição Linux
image=/boot/vmlinuz-2.2.17
   root=/dev/hda1
   label=Linux
   read-only

# Partição Windows
   other=/dev/hdb1
   label=Windows
   table=/dev/hdb

Exemplo 4.1. Exemplo de Arquivo de configuração do LILO

Como você pôde ver no exemplo acima, a configuração do LILO é divida em duas partes: configuração global e configuração de partições. A configuração global carregará consigo algumas informações sobre o funcionamento geral do LILO: como ele vai se comportar, aonde, quando, porque, cadê, com quem e fazendo o quê :) Na configuração de partições se define as opções de sistemas que o LILO vai inicializar. Vamos ver passo-a-passo aqui as opções mostradas no exemplo acima e também algumas opções adicionais que não estão no exemplo acima, mas você pode usar se quiser.

4.1.1. Seção de configuração global

boot=/dev/hda

Aqui indica onde o LILO irá ser instalado. A maioria dos casos é ele ser instalado na MBR (Master Boot Record), que é o /dev/hda e deve funcionar perfeitamente (a não ser que seu sistema tenha frescura). Mas se você não quiser instalar na Master Boot Record e quiser por exemplo, instalar em um disquete, substitua /dev/hda por /dev/fd0.

vga=normal

Esta opção indica o modo VGA que o console do Linux irá rodar. Há várias opções que deixam a tela maior, as letras pequenininhas, ou letras maiores com tela menor, o que seja. Se você colocar vga=ask, antes de bootar no sistema, ele vai te dar uma série de opções para você escolher. Cada opção irá deixar o tamanho do console diferente... Experimente! Outro jeito de mudar o tamanho do console é usando o programa SVGATextMode, que é muito melhor pois você não precisa reiniciar a máquina para escolher no LILO qual resolução você quer.

Uma boa opção para usar como modo VGA é o 791. Experimente!

message=/boot/mensagem.txt

Esta opção é combinada com a opção prompt. Antes do LILO dar o prompt, ele irá mostrar na tela o conteúdo do arquivo /boot/mensagem.txt. Você pode colocar um deseínho ou qualquer coisa que quiser para ele mostrar durante o LILO. Um menuzinho com as opções é o que a maioria das pessoas costuma colocar :)

prompt

Indica que o LILO vai automaticamente para o prompt. Você pode não colocar esta opção, então o LILO simplesmente vai ficar esperando você apertar Ctrl, Alt ou Shift para ativar o prompt e você poder digitar algo nele. Esta opção tem muito haver também com as outras opções timeout e delay.

timeout=150

O tempo de duração que você tem para digitar algo no prompt. Se este tempo passar, o LILO automaticamente vai bootar no sistema padrão. O tempo é determinado em décimos de segundos, ou seja, 150 corresponde a 15 segundos (tire ou acrescente o zero do final).

delay=150

Não usado no exemplo. Funciona da mesma maneira que o timeout, só que ele serve para quando não se coloca o parâmetro timeout. Ele vai esperar até você apertar o Ctrl, Alt ou Shift para ativar o prompt e se não digitar isso, boota no sistema padrão automaticamente.

password=boboalegre

Não usado no exemplo. Esta opção define uma senha para o usuário digitar toda vez que for bootar um sistema pelo LILO. Não existe forma de criptografar esta senha, então qualquer um que tiver acesso ao seu sistema poderá ver se o arquivo /etc/lilo.conf estiver com permissão de leitura para todo mundo. Aqui a senha está como boboalegre, mude para uma senha decente se quiser que aquele teu irmão chato não use seu computador :)

single-key

Não usado no exemplo. Esta opção é bem interessante. Ele permite que o usuário ao invés de digitar o nome do sistema no prompt e apertar Enter para bootar no sistema, possa simplesmente apertar uma tecla e pronto, o sistema boota. É muito mais prático e é combinado com a opção alias na configuração de partições.

É isso aí!

4.1.2. Seção de configuração de partições

Aqui você vai colocar as partições/sistemas que vai querer bootar. Cada conjunto de linhas corresponde à um sistema diferente (veja no exemplo anterior, para um exemplo disso :)). Vejamos aqui os parâmetros para a partição Linux que definimos:

image=/boot/vmlinuz-2.2.17

Aqui você vai indicar onde está a imagem do kernel do Linux que você compilou ou que já vem na sua distribuição. Geralmente as imagens estão no diretório /boot com o nome vmlinuz (com versão no nome do arquivo ou não) ou vmlinux. No exemplo acima eu indiquei para ele usar o arquivo /boot/vmlinuz-2.2.17, que aqui é o kernel 2.2.17 que eu compilei (antigo hein?).

root=/dev/hda1

Onde se encontra o seu Linux, aqui você só precisa indicar em que partição está localizado o seu sistema.

label=Linux

Aqui é o nome que você vai dar para esta configuração de partição. No caso aqui é Linux, então quando aparecer o prompt do LILO (LILO boot: ), eu digito Linux, dou enter e o LILO inicia o sistema. Também existe a opção alias, que é o equivalente só que para a opção single-key, descrita nas opções globais.

read-only

Partições Linux têm sempre de ter esta linha, pois ela indica que o LILO tem de montar a partição como somente leitura. Para que isso? Bem, no boot o Linux verifica seu sistema de arquivos e para isso acontecer a montagem da partição tem de estar somente-leitura. Depois que ele verifica, ele remonta a partição para leitura-escrita.

alias=1

Não usado no exemplo. Esta opção é combinada com a opção global single-key. Ao invés de eu ter que digitar no prompt do LILO a palavra definida na opção label, eu apenas aperto uma tecla e ele inicia. No exemplo que usei aqui a tecla para bootar a partição é o número 1.

Estas foram as opções para uma partição Linux. Se você quiser colocar uma Windows (como no exemplo que usei anteriormente), você só terá que substituir algumas coisinhas, como veremos a seguir:

other=/dev/hdb1

Equivale á opção image da partição Linux. Aqui você indica em que partição seu Windows está instalado.

label=Windows

Mesma coisa que na partição Linux, só que aqui eu coloquei a palavra Windows ao invés de Linux. Você pode colocar o nome que quiser à vontade.

table=/dev/hdb

O HD em que se encontra a partição.

Assim você poderá ir montando um arquivo de configuração com quantos sistemas quiser.

[Importante] Importante

Algumas vezes me referi que o LILO inicia no sistema padrão. O sistema padrão é definido pela ordem que você coloca os sistemas na configuração de partições... No exemplo anterior, a partição Linux é a padrão porque defini ela primeira no arquivo.

Ou você pode utilizar a opção default nas configurações globais. No exemplo anterior, colocando default=0 o Linux estaria como padrão. Colocando default=1 o Windows estaria como padrão. Então tudo depende do número definido :)

4.1.3. Mensagens de erro do LILO

Quando o LILO é carregado, ele mostra a palavra LILO. Cada letra é impressa na tela depois ou antes de alguma ação específica. Se o LILO falhar em alguma ação, as letras impressas na tela podem ser usadas para identificar o problema. Preste atenção que alguns digitos hexa podem aparecer depois do primeiro L se algum problema transitório ocorrer no disco rígido. A não ser que o LILO pare neste ponto, gerando uma corrente de erros sem fim, os digitos hexa não indicam um problema sério.

Letras Significado
(nada) Nenhuma parte do LILO foi carregada. Ou o LILO não está instalado ou a partição em que o setor de boot está alocado não está ativa.
L O primeiro estágio do carregador de boot foi carregada e inicializada, mas não pôde carregar o segundo estágio. O código de erro de dois dígitos indica o tipo do problema. Isto geralmente indica um erro na mídia (o HD no caso) ou os parâmetros do HD não foram colocados corretamente.
LI O primeiro estágio do carregador de boot pôde carregar o segundo estágio, mas não pôde executá-lo. Isto pode ser causado pelos parâmetros do HD não terem sido colocados corretamente ou por mover /boot/boot.b sem executar o instalador de Map. Verifique a sua compilação do kernel.
LIL O segundo estágio do carregador de boot foi inicializado, mas não pôde carregar a tabela de descrição do arquivo map. Isto geralmente é causado por um erro de mídia (HD) ou pelos parâmetros do HD não terem sido colocados corretamente.
LIL? O segundo estágio do carregador de boot foi inicializado em um endereco incorreto. Isto pode ser causado pelos parâmetros do HD não terem sido colocados corretamente ou por mover /boot/boot.b sem executar o instalador de map. Verifique a sua compilação do kernel.
LIL- A tabela de descrição está corrompida. Isto pode ser causado pelos parâmetros do HD não terem sido colocados corretamente ou por mover /boot/boot.b sem executar o instalador de map. Verifique a sua compilação do kernel.
LILO Todas as partes do LILO foram carregadas com sucesso.

Tabela 4.1. Mensagens de Erro do LILO

4.1.4. Mega-exemplo

No exemplo a seguir, vou apresentar uma configuração do LILO para 4 sistemas diferentes! São no total 3 HDs e também duas opções para kernels diferentes, mas no mesmo sistema. Combino aqui também o arquivo /boot/mensagem.txt, a opção global single-key e uma senha.

/boot/mensagem.txt


--------------------------------------------
Exemplo de mega-configuração do LILO rodando
--------------------------------------------
Digite as opções para bootar em cada sistema:

[1] - Slackware Linux usando kernel 2.2.16
[2] - Conectiva Linux 5.1 usando kernel 2.2.17
[2] - Conectiva Linux 5.1 usando kernel 2.2.16-cl6
[3] - Debian 2.2 usando kernel 2.2.17
[4] - Debian 2.2 usando kernel 2.2.18
[5] - Ruindows e Nojenta e Oitxo

--------------------------------------------

/etc/lilo.conf


# Arquivo de configuração do LILO

### Seção de parâmetros globais do LILO ###
boot=/dev/hda
vga=normal
password=boboalegre

message=/boot/mensagem.txt
   prompt
   timeout=100
   single-key

### Seção de partições do LILO ###

# Slackware Linux usando kernel 2.2.16
image=/boot/vmlinuz-2.2.16
   root=/dev/hda1
   label=Slackware
   read-only
   alias=1

# Conectiva Linux 5.1 usando kernel 2.2.17
image=/boot/vmlinuz-2.2.17
   root=/dev/hda2
   label=Conectiva1
   read-only
   alias=2

# Conectiva Linux 5.1 usando kernel 2.2.16-cl6
image=/boot/vmlinuz-2.2.16-cl6
   root=/dev/hda2
   label=Conectiva2
   read-only
   alias=3

# Debian 2.2 usando kernel 2.2.17
image=/boot/vmlinuz-2.2.17
   root=/dev/hdb1
   label=Debian1
   read-only
   alias=4

# Debian 2.2 usando kernel 2.2.18
image=/boot/vmlinuz-2.2.18
   root=/dev/hdb1
   label=Debian2
   read-only
   alias=5

# Ruindows e Nojenta e Oitxo
other=/dev/hdc1
   label=Ruindows
   table=/dev/hdc
   alias=6

# Fim da configuração do LILO

Exemplo 4.2. Mega-Exemplo Complexo Alienígena de configuração do LILO

4.1.5. Instalando o LILO

Tá, você configurou tudinho, mas falta um pequeno detalhe: instalar! Toda vez que você modifica alguma configuração você tem de instalar/atualizar o LILO. Para isso, esteja como root e faça o comando:

# /sbin/lilo

Caso você queira desinstalar o LILO de onde você colocou, você utiliza a opção -U, assim:

# /sbin/lilo -U

Ou no DOS, você pode usar o comando fdisk \mbr para desinstalar. Nunca se esqueça de instalar o LILO depois de fazer suas alterações, senão nada vai funcionar hein!

[Nota] Caso!

Já vi centenas de pessoas caírem na armadilha do Windows. Quando for instalar dois sistemas (Linux e Windows) em uma máquina, sempre instale o Windows primeiro e depois o Linux. A razão disso é que toda vez que o Windows é instalado, ele não quer saber de nada e sobrescreve tudo que tiver na MBR, fazendo iniciar apenas nele. Com o Linux pelo menos você tem a opção de fazer um gerenciador multi-sistemas para iniciar tanto no Windows, como no Linux.

Para as pessoas que têm que re-instalar o Windows (muito comum) novamente, o descrito anteriormente acontecerá. Antes de fazer isso, lembre-se de criar um disco de boot, ou ter em mãos um LiveCD ou CD de recuperação para depois iniciar em seu sistema e instalar o LILO/GRUB novamente...