Configurando o lilo

O lilo e o grub disputam o posto de gerenciador de boot default entre as distribuições Linux. O lilo é o mais antigo e mais simples de configurar, enquanto o grub é o que oferece mais opções. Mas, ao invés de ficar discutindo qual é melhor, vamos
aprender logo a configurar e resolver problemas nos dois :-).

O lilo utiliza um único arquivo de configuração, o “/etc/lilo.conf“. Ao fazer qualquer alteração neste arquivo é preciso chamar (como root) o executável do lilo, o “/sbin/lilo” ou simplesmente “lilo” para que
ele leia o arquivo e salve as alterações.

Vamos começar entendendo a função das linhas de uma configuração típica. Abra o arquivo “/etc/lilo.conf” da sua máquina e acompanhe opção a opção.

boot=/dev/hda

Esta é quase sempre a primeira linha do arquivo. Ela indica onde o lilo será instalado. Indicando um dispositivo, como em “/dev/hda“, ele é instalado na trilha MBR do HD. Indicando uma partição, como em
/dev/hda1” ele é instalado no primeiro setor da partição, sem reescrever a MBR.

Ao instalar vários sistemas no HD, seja Linux e Windows ou várias distribuições diferentes, apenas um deles deve ter o lilo gravado na MBR. Este terá a função de inicializar todos os outros, cujos gerenciadores foram
instalados nas respectivas partições.

Ao verificar esta linha, lembre-se de verificar qual é o dispositivo do HD na sua instalação. Um HD serial ATA, por exemplo, será detectado como “/dev/sda” e não como “/dev/hda”.

Se você tiver dois HDs, e estiver instalando o sistema numa partição do segundo (“/dev/hdb1”, por exemplo), e usar a linha “boot=/dev/hdb”, o lilo será instalado no MBR do segundo HD, não do primeiro. Durante o boot, o BIOS
vai continuar lendo o MBR do primeiro HD, fazendo com que continue sendo carregado o sistema antigo. Se você quiser que o sistema instalado no segundo HD passe a ser o principal, use a linha “boot=/dev/hda”, que gravará no MBR do primeiro HD.

bitmap = /boot/kurumin.bmp
bmp-colors = 255,9,;9,255,
bmp-table = 61,15,1,12
bmp-timer = 73,29,255,9

Estas linhas ativam o uso de uma imagem como pano de fundo da tela de boot, ao invés do feio menu em texto, ainda usado em algumas distribuições. Veremos mais detalhes sobre este recurso logo a seguir.

vga=788

Esta é uma das linhas mais importantes do arquivo, que ajusta a resolução de vídeo em modo texto (usando frame-buffer). Use “vga=785” para 640×480, “vga=788” para 800×600, “vga=791” para 1024×768 ou “vga=normal” para
desabilitar o frame-buffer e usar o modo texto padrão.

Quase todas as placas de vídeo suportam frame-buffer, pois ele utiliza resoluções e recursos previstos pelo padrão VESA. Apesar disso, algumas placas, mesmo modelos recentes, suportam apenas 800×600. Ao tentar usar 1024×768
num destes modelos, o sistema exibe uma mensagem no início do boot, avisando que o modo não é suportado e o boot continua em texto puro. O “vga=788” é um valor “seguro”, que funciona em praticamente todas as placas e monitores.

O lilo pode ser configurado para inicializar vários sistemas operacionais diferentes. A linha “prompt” faz com que ele mostre um menu com as opções disponíveis na hora do boot. Ela é quase sempre usada por padrão. A linha
“default=” diz qual é o sistema padrão, o que fica pré-selecionado na tela de boot.

prompt
compact
default=Linux
timeout=100

A linha “timeout=” indica o tempo de espera antes de entrar no sistema padrão, em décimos de segundo. O valor máximo é 30000 (3.000 segundos). Não use um número maior que isto, ou o lilo acusará o erro e não será gravado
corretamente. Ao usar o número “0” ou omitir a opção, o lilo espera indefinidamente. Se, ao contrário, você quiser que ele inicie direto o sistema padrão, sem perguntar, você tem duas opções: usar a timeout=1 (que faz com ele espere só 0.1 segundo,
imperceptível), ou remover a linha “prompt”.

A linha “compact” otimiza a fase inicial do boot (incluindo o carregamento inicial do Kernel), fazendo com que a controladora do HD leia vários setores seqüenciais em cada leitura. Normalmente ela reduz o tempo de boot em
cerca de 2 segundos. Não é nada drástico, mas não deixa de ser um pequeno ganho.

append = “nomce quiet noapic”

A linha “append” contém parâmetros que são repassados ao Kernel, de forma a alterar o comportamento padrão do sistema e corrigir problemas de inicialização. Você pode incluir um número indefinido de opções, separando-as com
um espaço.

A opção mais relevante e mais usada aqui é o “acpi=off“, que desabilita o uso do ACPI, resolvendo problemas de travamento ou bugs diversos em muitas placas. Note que o ACPI é um recurso cada vez mais importante,
sobretudo em notebooks, onde é usado não apenas para monitorar o estado das baterias, mas também para controlar diversas funções e até mesmo fazer o desligamento da máquina. Use o apci=off” apenas quando realmente necessário.

Uma variação é o “acpi=ht“, que ao invés de desabilitar o ACPI completamente, mantém ativas as funções necessárias para habilitar o suporte a Hyper Treading nos processadores Pentium 4. É útil em máquinas baseadas
neles.

Outra opção comumente usada para solucionar problemas é a “noapci“, que desabilita a realocação dinâmica de endereços por parte do BIOS, deixando que o sistema operacional assuma a função. Inúmeros modelos de
placas-mãe possuem problemas relacionados a isso, que podem causar desde problemas menores, como a placa de som ou rede não ser detectada pelo sistema, até travamentos durante o boot. Este problemas são solucionados ao incluir o “noapic”.

A opção “quiet” faz com que sejam exibidas menos mensagens na fase inicial do boot, quando o Kernel é inicializado; tem uma função puramente estética. A opção “apm=power-off” faz com que sejam usadas as funções
do APM para desligar o micro, ao invés do ACPI. Adicionar esta opção resolve problemas de desligamento em muitas máquinas. Outra opção útil é a “reboot=b“, que resolve problemas de travamento ao reiniciar em algumas máquinas. As duas podem ser
usadas simultaneamente caso necessário.

Todas estas opções, quando usadas, são incluídas dentro da linha append (separadas por espaço), como em:

append = “nomce quiet noapic acpi=off apm=power-off reboot=b”

Em seguida, vem a seção principal, responsável por inicializar o sistema. Ela contém a localização do executável principal do Kernel e do arquivo initrd, caso seja usado um:

image=/boot/vmlinuz-2.6.14
label=Linux
root=/dev/hda1
read-only
initrd=/boot/initrd.gz

A linha “root=” indica a partição onde o sistema está instalado, ou seja, onde o lilo vai procurar os arquivos especificados. O “Label” é o nome do sistema, da forma como você escreve na opção “default=”. Uma observação
importante é que o nome pode ter no máximo 14 caracteres e não deve conter caracteres especiais. O lilo é bastante chato com relação a erros dentro do arquivo, se recusando a fazer a gravação até que o erro seja corrigido.

Esta é a seção que é duplicada ao instalar um segundo Kernel. Caso você instalasse o pacote “kernel-image-2.6.15_i368.deb”, por exemplo, que criasse o arquivo “/boot/vmlinuz-2.6.15”, você
adicionaria as linhas:

image=/boot/vmlinuz-2.6.15
label=kernel-2.6.15
root=/dev/hda1
read-only
initrd=/boot/initrd.gz

Ao reiniciar o micro, você passaria a escolher entre os dois kernels na hora do boot. Se quisesse tornar o 2.6.15 a opção padrão, bastaria fazer a alteração na linha “default=”.

Ao instalar vários sistemas na mesma máquina, você pode adicionar linhas extras referentes a cada um. Neste caso, fazemos uma coisa chamada “chain load”, onde o lilo carrega o gerenciador de boot do outro sistema (instalado
na partição) e deixa que ele faça seu trabalho, carregando o respectivo sistema. A configuração para outros sistemas é bem simples, pois você só precisa indicar a partição de instalação e o nome de cada um, como em:

other=/dev/hda2
label=Slackware

other=/dev/hda3
label=Mandriva

other=/dev/hda5
label=Fedora

other=/dev/hda6
label=OpenSuSE

Para referenciar as outras instalações deste modo, é necessário que o lilo de cada um esteja instalado no primeiro setor da partição. No lilo.conf do Slackware, por exemplo, haveria a linha “boot=/dev/hda2”. No caso do
Windows, você não precisa se preocupar, pois ele instala o gerenciador de boot simultaneamente no MBR e na partição.

Existe uma receita simples para alterar e reinstalar o lilo de outras distribuições instaladas no HD em caso de problemas. Imagine, por exemplo, que você instalou o Kurumin e acabou instalando o lilo no MBR, subscrevendo o lilo do Mandriva, que agora não
dá mais boot.

Isso pode ser solucionado facilmente, editando o “/etc/lilo.conf” do Mandriva, para que ele seja reinstalado na partição e adicionando as duas linhas que chamam outros sistemas no lilo do Kurumin.

Você pode editar o lilo do Mandriva e regravá-lo rapidamente através do próprio Kurumin (ou outra distribuição instalada), ou dando boot com um CD do Kurumin ou Knoppix.

Dê boot pelo CD e abra um terminal. Defina a senha de root usando o comando “sudo passwd” e logue-se como root usando o “su”. Monte a partição onde o Mandriva está instalado:

# mount -t reiserfs /dev/hda1 /mnt/hda1

Agora usamos o comando chroot para “entrar” na partição montada, a fim de editar o lilo.conf e gravar o lilo. Todos os comandos dados dentro do chroot são na verdade executados no sistema que está instalado na partição.

É preciso Indicar o sistema de arquivos em que a partição está formatada ao montar (como no exemplo acima), caso contrário o chroot vai dar um erro de permissão.

# chroot /dev/hda1

Agora use um editor de texto em modo texto, como o mcedit ou o joe para alterar o arquivo “/etc/lilo.conf” e chame o executável do lilo para salvar as alterações. Depois de terminar, pressione Ctrl+D para sair do
chroot.

# mcedit /etc/lilo.conf
# lilo

É possível também remover o lilo, usando o comando “lilo -u” (“u” de uninstall). Ao ser instalado pela primeira vez, o lilo faz um backup do conteúdo da MBR e ao ser removido este backup é recuperado. Esta opção pode ser útil em casos onde você
instala o lilo na MBR (sem querer) e precisa recuperar o sistema anterior.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X