Configurando o lilo

O Slackware é uma das poucas distribuições Linux que ainda utilizam o lilo como gerenciador de boot. Quase todas as demais, já fizeram a migração para o grub, que oferece mais recursos. Apesar disso, o lilo ainda oferece
algumas vantagens, com destaque para o fato de utilizar uma sintaxe de configuração mais simples de entender.

No caso do Slackware, a configuração do lilo pode ser feita através do “liloconfig“, que é o mesmo script de configuração mostrado durante a instalação do sistema. No final de cada execução, ele regrava o lilo no
setor de boot do HD, de forma que as alterações sejam salvas e entrem em vigor a partir do próximo boot.

Apesar disso, é sempre interessante entender como as coisas funcionam por baixo dos panos. Vamos então a uma explicação rápida de como funciona a configuração do lilo.

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 então às explicações sobre a configuração usada no Slackware 12.2, que se aplicam também a outras distribuições que utilizam o lilo.

Para começar, abra o arquivo “/etc/lilo.conf” da sua máquina e acompanhe opção a opção:

boot=/dev/sda

Esta é quase sempre a primeira linha do arquivo, determinando onde o lilo será instalado. Ao indicar um dispositivo, como em “/dev/sda“, ele é instalado na trilha MBR do HD, enquanto ao indicar uma partição, como em
/dev/sda1“, 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 IDE, por exemplo, será detectado como “/dev/hda” e não como “/dev/sda”.

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/slack.bmp 
bmp-colors = 255,0,255,0,255,0 
bmp-table = 60,6,1,16 
bmp-timer = 65,27,0,255

Estas linhas ativam o uso de uma imagem como pano de fundo da tela de boot. Ela é a responsável pela exibição do logo do Slackware na tela de boot, em vez do menu em texto que era usado em versões antigas.

Embora não seja tão simples quanto possa parecer à primeira vista, você pode substituir a imagem, personalizando a tela de boot. Para começar, você precisa de uma imagem de 640×480 com 256 cores (indexada), salva em .bmp. No
Gimp existe a opção de codificar a imagem usando RLE, o que diminui muito o tamanho, sem quebrar a compatibilidade com o lilo. Salve a imagem dentro da pasta “/boot” e edite a linha “bitmap=”, indicando a localização da nova imagem.

O próximo passo é definir as cores e coordenadas do menu com a lista dos sistemas disponíveis e da contagem de tempo. A configuração das cores é a parte mais complicada, pois os códigos variam de acordo com a paleta usada na
imagem escolhida. Abra a imagem no Gimp e clique em “Diálogos > Mapa de Cores”. Isso mostra as cores usadas e o número (índice da cor) de cada uma. As cores usadas no lilo são definidas na opção “bmp-colors”, onde você define uma cor para a opção
selecionada e outra para as demais opções do menu. Cada uma das duas escolhas tem três cores, uma para as letras, outra para o fundo e uma terceira (opcional) para um efeito de sombra no texto, como em: “bmp-colors = 255,9,35;9,255,35”. Se não quiser usar
a sombra, simplesmente omita o terceiro valor, como em: bmp-colors = 255,9,;9,255,

Em seguida vem a parte mais importante, que é definir as coordenadas e o tamanho da caixa de seleção dos sistemas disponíveis, que será exibida sobre a imagem. Os dois primeiros valores indicam as coordenadas (x e y) e os
dois valores seguintes indicam o número de colunas (geralmente apenas uma) e o número de linhas, que indica o número máximo de entradas que poderão ser usadas: bmp-table = 61,15,1,12

Finalmente, temos a posição do timer, que mostra o tempo disponível para escolher antes que seja inicializada a entrada padrão. A configuração do timer tem 5 valores, indicando as coordenadas x e y e as cores (texto, fundo e
sombra). Novamente, o valor da sombra é opcional: bmp-timer = 73,29,255,9

Ao terminar, não se esqueça de salvar as alterações, regravando o lilo.

Continuando, temos a linha que indica a resolução do frame-buffer, que é indicada durante a instalação:

vga=791

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.

Em seguida, temos as linhas:

prompt 
timeout = 1200

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. Se 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 “append” (que é adicionada apenas quando você especifica parâmetros adicionais para o kernel durante a instalação do sistema) contém parâmetros que são repassados ao kernel, permitindo solucionar problemas. Ao
especificar a opção “acpi=off” (que desabilita o uso do ACPI, resolvendo problemas de travamento ou bugs diversos em algumas placas), por exemplo, seria incluída a linha:

append = "acpi=off"

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:

# Linux bootable partition config begins 
image = /boot/vmlinuz 
root = /dev/sda3 
label = Linux 
read-only

A linha “root=” indica a partição onde o sistema está instalado, ou seja, onde o lilo vai procurar os arquivos especificados, enquanto o “Label” é o nome do sistema. 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.

Ao instalar vários sistemas na mesma máquina, você pode adicionar linhas extras referentes a cada um. Nesse 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/hda1
label=Mandriva

other=/dev/hda5
label=Fedora

Para referenciar as outras instalações deste modo, é necessário que o gerenciador de boot de cada um esteja instalado no primeiro setor da partição, o que é feito quando você escolhe instalar o gerenciador de boot no
primeiro setor da partição durante a instalação, em vez de instalar na MBR.

No caso do Windows, você não precisa se preocupar, pois ele instala o gerenciador de boot simultaneamente no MBR e na partição. O instalador verifica a presença de uma instalação do Windows no HD e adiciona uma entrada
referente a ela automaticamente, como em:

# Windows bootable partition config begins 
other = /dev/sda1 
label = Windows 
table = /dev/sda

Apenas um gerenciador de boot pode ser instalado na MBR, de forma que ao instalar outra distribuição, ou ao reinstalar o Windows, o lilo é substituído pelo novo gerenciador. O segredo para instalar várias distribuições no
mesmo HD é sempre instalar o gerenciador de boot no primeiro setor da partição, escolhendo uma delas para gravar na MBR e inicializar as outras.

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ê reinstalou o Windows e ele subscreveu a MBR, apagando a gravação do
lilo e fazendo com que o Slackware não dê mais boot. A solução seria regravar o lilo do Slackware, alterando a configuração (caso necessário) para que ele ofereça também a opção de inicializar o Windows.

Para isso, dê boot usando uma distribuição live-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 Slackware está instalado, como em:

# mount -t ext3 /dev/sda3 /mnt/sda3

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/sda3

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