Revista Do Linux
 
 

Tutorial Lilo

Boot gráfico no LILO

Descubra como colocar uma imagem de fundo com menus e contagem regressiva no seu gerenciador de boot

Neste artigo vamos deixar o boot do Linux um pouco mais simpático, utilizando apenas ferramentas disponíveis na própria distro, sem patches e sem downloads estranhos. Escrevi este artigo utilizando o Slackware 8.1. Se você estiver utilizando algo diferente, talvez tenha que fazer algumas adaptações.

O Boot Loader correto

Uma das primeiras coisas a fazer é escolher um boot loader que suporte a exibição de imagens. O pacote do lilo já disponibiliza três deles (um para texto simples, um para menus e um terceiro com suporte a imagens) e está padronizado para utilizar o boot-menu.b. Mudar isto é muito fácil:

# rm /boot/boot.b
# ln -s /boot/boot-bmp.b /boot/boot.b

A primeira linha apaga o link simbólico (que indicava o boot-menu.b) e a segunda cria um novo link, utilizando o boot-bmp.b.

Escolhendo uma imagem

Para ser colocada na tela, a imagem deve ter 640 pontos na horizontal, 480 na vertical e no máximo 16 cores (4 bits). Você pode compactar a imagem utilizando RLE (vale a pena). O próprio pacote do lilo disponibiliza algumas imagens, em /usr/doc/lilo-22.2/sample, e você pode também criar a sua própria com o GIMP.

Se você quiser desenhar a sua própria imagem, esteja atento ao tamanho e número de cores. Tente fazer seu desenho com o menor número de cores possível, para não ser surpreendido durante a conversão. Depois de editá-lo, clique com o botão direito na imagem e selecione: Image->Mode->Indexed. Ajuste o número de cores para 16 e clique em OK.

Pronto. Salve a sua imagem como BMP (use o RLE, a imagem fica bem menor), com isto, você já terá uma imagem pronta. Antes de fechar o GIMP, entre em: Dialog -> Indexed Palette. Vai aparecer uma lista com vários quadradinhos coloridos, que são as cores que sua imagem usa.

Elas são numeradas de 0 a 15. Anote em um papel os números das cores que você gostaria de usar nos textos da sua tela de entrada. Por exemplo, você quer escrever em branco em um fundo preto, com um sombreado cinza, procure na paleta de cores o preto, o cinza e o branco e anote o número de cada uma delas em um papel.

Por último, copie a imagem que você criou para o diretório /boot. Ela não precisa ficar nesse diretório, mas melhora bastante a organização colocar o que for relacionado ao boot nele.

Configurando o lilo.conf

Esta é uma das partes mais elaboradas: Você terá de colocar alguns parâmetros para que o lilo saiba qual imagem deve carregar, quais as cores do texto e onde ele vai aparecer. Para isso, abra o lilo.conf e comece comentando (colocando um # na frente da linha) uma linha como esta:

message = /boot/boot_message.txt

Logo abaixo dela, você vai incluir os seus novos parâmetros para a imagem e toda a apresentação. Os parâmetros estão listados logo abaixo, com uma breve explicação do que eles fazem e do que deve ser feito com eles.

bitmap = nome_da_imagem

Este é bem simples: Em nome_da_imagem, indique o caminho para o arquivo que você fez/baixou/escolheu. No meu caso, é /boot/slack.bmp (É, é preciso colocar o caminho inteiro. Se a figura estivesse dentro do /usr/local, seria necessário colocar /usr/local/slack.bmp).

bmp-colors = fg,bg,sh,h-fg,h-bg,h-sh

Aqui você escolhe as cores dos textos nos menus. Você anotou os números das cores que lhe interessavam naquela paleta, não anotou? Se anotou, agora é a hora de usá-los. Veja o significado de cada parâmetro:

• fg - Cor de frente (das letras propriamente ditas)
• bg - Cor de fundo (se omitido, a cor de fundo é “transparente”)
• sh - Cor da “sombra” das letras (pode ser omitido)
• h-fg - Cor de frente do texto selecionado
• h-bg - Cor de fundo do texto selecionado
• h-sh - Cor da sombra do texto selecionado

Algumas dessas opções podem ser omitidas, se você colocar, por exemplo:

bmp-colors = 9,,,0,9

Você está escolhendo 9 como cor de frente, transparente como cor de fundo, sem sombra, 0 como cor de frente do texto selecionado, 9 como fundo do texto selecionado e o texto selecionado também está sem sombra.

bmp-table = x,y,colunas,linhas,espaço

Aqui você determina a posição em que vão começar a aparecer os itens dos menus e o formato deles. Os itens do menu aparecem ordenados verticalmente, em colunas, e a quantidade de colunas pode variar de 1 a 4.

A tela é subdividida em 80 posições na horizontal e 30 na vertical. Você também pode utilizar diretamente o endereçamento em “pixels”, só que para isso precisa colocar um p depois do número (por exemplo: 320p, 24p, etc...)

• x - Coordenada horizontal da primeira coluna.
• y - Coordenada da parte superior dos menus.
• colunas - Quantidade de colunas (1 a 4)
• linhas - Quantidade de linhas em cada coluna.
• espaço - Espaçamento entre as colunas. Este número é contado a partir do início da coluna anterior.

Cada coluna tem um mínimo de 17 espaços, se você quiser deixar um espaço de 2 caracteres entre uma coluna e outra, este valor deve ser de 19 (os 17 da coluna anterior, mais 2 espaços).

Se você tiver apenas uma coluna, pode omitir o último valor (que seria o espaço entre as colunas). Muito cuidado com as posições; uma boa apresentação depende muito da localização dos menus.

bmp-timer = x,y,fg,bg,sh

Este parâmetro, responsável por um cronômetro que conta o tempo restante para que o sistema inicie o boot automaticamente, é opcional. Ele é bem semelhante aos anteriores:

• x - Coordenada horizontal do relógio.
• y - Coordenada da parte superior do relógio.
• fg - Cor de frente dos números do relógio
• bg - Cor de fundo (se omitido, a cor é “transparente”)
• sh - Cor da “sombra” dos números (pode ser omitido)

As posições x e y obedecem aos mesmos critérios de bmp-table, e as cores, os mesmos que vimos em bmp-colors.

Botando para funcionar

Agora, digite:

# lilo

Reinicie a sua máquina e espere a tela de abertura aparecer. No CD deste mês, em doc/lilo há, além de uma imagem já no formato necessário ao lilo, um exemplo de lilo.conf que utilizo em uma de minhas máquinas.


Piter Punk - piterpk@terra.com.br


A Revista do Linux é editada pela Conectiva S/A
Todos os Direitos Reservados.

Política de Privacidade
Anuncie na Revista do Linux