Personalizar o GRUB

Publicado: 30/07/2011 em Linux, Programação
Tags:,

1. Introdução
O GRUB possui inúmeros recursos. Quando o GRUB é inicializado, um menu de escolha para boot é apresentado ao usuário a partir do que está em sua configuração. Acontece que a forma de configurar o GRUB é diferente entre sua versão legada e o GRUB2. logo, a primeira coisa é verificar a versão do GRUB em uso. Faça isto assim:
# grub-install --version
grub-install (GRUB) 2.02~beta2-22

Pela exemplo da resposta acima, vemos que está instalado a versão 2.02 do GRUB. Portanto, trata-se do GRUB-2, pois o GRUB legado vai até a versão 0.97.

2. Versão legada do GRUB
No GRUB legado, quando este é inicializado um menu de escolha para boot é apresentado ao usuário a partir do que está configurado através do arquivo /boot/grub/menu.lst.

Há uma série de imagens prontas que podem ser utilizadas para personalizar a tela do Grub. No site Debian Art, por exemplo, pode-se baixar diversas destas imagens. Outra opção, é construir sua própria tela, atentando para as seguintes características:

  • imagem no tamanho de 640×480;
  • imagem para 14 cores no máximo;

De uma forma ou de outra, siga os seguintes procedimentos:
2.1 Gerar a imagem desejada
Assumindo que você tenha uma imagem no formato PNG, converte-a para XPM, deixe-a no tamanho certo e faça sua compressão. Para isso abra o terminal e digite:

$ convert -resize 640x480 -colors 14 wallpaper.png image.xpm && gzip image.xpm

Com isto será gerado automaticamente o arquivo image.xpm.gz.
OBS: o comando “convert” faz parte do pacote “imagemagick”. Se não estiver instalado na máquina este pacote, deve-se fazer a sua instalação.

2.2 Copiar o arquivo gerado para o lugar correto

# cp image.xpm.gz /boot/grub/.

2.3 Configurar o GRUB legado
Para configurar o Splash Screen no Grub, edite o arquivo /boot/grub/menu.lst, adicionando as seguintes linhas:

# Define a cor de primeiro plano. A cor deve ser definida em notação hexadecimal.
foreground = ffffff
# Define a cor de segundo plano (fundo)
background = 13C3F3
splashimage=/boot/grub/image.xpm.gz

e reiniciar a máquina, onde a nova tela do GRUB já deve ser visualizada:
# reboot

3. Versão GRUB2
3.1 Introdução
A configuração manual do GRUB2 é feita através do arquivo /etc/default/grub e dos scripts presentes no diretório /etc/grub.d/. O arquivo /boot/grub/grub.cfg apesar de ser o principal arquivo de configuração, este NÃO deve ser alterado manualmente. Ele será configurado dinamicamente pelo comando “update-grub” a partir do conteúdo dos outros arquivos. Ou seja, grub.cfg é automaticamente gerado quando o comando “update-grub” for executado. Por padrão, e sempre que o comando “update-grub” for executado, este arquivo é feito “read-only”. Isto está de acordo com a intenção de que o arquivo NÃO deve ser editado manualmente.

Os arquivos do diretorio /etc/grub.d/ são scripts responsáveis por montar o arquivo /boot/grub/grub.cfg. Esses scripts serão executados pelo comando “update-grub” e devem ter permissão de execução. A ordem de execução desses arquivos segue a ordem alfabética de seus nomes, por exemplo: o arquivo “05_debian_theme” é executado antes do “10_linux”.

Veja para que serve cada arquivo de script do GRUB:

  • 00_header: é o script que carrega as configurações que estão no arquivo “/etc/default/grub”, por exemplo: o tempo de espera e a entrada de boot padrão.
  • 05_debian_theme: define a aparência do Grub2 (onfigura splash image, cor do texto, cor de realce e tema).
    10_linux: localiza os kernels do sistema operacional e cria suas entradas no menu.
  • 20_memtest86+: cria as entradas do memtest.
  • 30_os-prober: busca outros sistemas operacionais e cria as suas entradas no menu.
  • 40_custom: é apenas um modelo para se criar entradas adicionais no menu do Grub2.

3.2 Imagem de background do GRUB
a) Instalar “splash images”
# apt-get install grub2-splashimages
Uma vez instalado, as imagens estarão localizadas na pasta /usr/share/images/grub .

Para colocar uma imagem de background no GRUB2, a maneira mais fácil é editar o arquivo de configuração /etc/default/grub, adicionado o seguinte parâmetro:
GRUB_BACKGROUND=”coloque aqui o caminho até a imagem”

Exemplo:
GRUB_BACKGROUND="/usr/share/images/grub/Apollo_17_The_Last_Moon_Shot_Edit1.tga"

b) Atualizar o arquivo boot/grub/grub.cfg executando o seguinte comando:
# update-grub
e em seguida reiniciar o sistema, onde a nova imagem de background do GRUB já deve ser visualizada.

3.3 Cores do menu do GRUB
A forma de se configurar as cores do menu do GRUB é através de pares cor1/cor2. Atente ao fato de que o GRUB2 considera a cor preta, quando usada como a segunda entrada de cor, como indicação de transparência. Será visto a imagem de fundo quando o preto for a segunda entrada (por exemplo green/black = texto verde com fundo transparente).

cor1/cor2 = a cor1 representa a cor do texto. A cor2 representa a cor de background (ou transparente, quando for “black”). As cores podem ser designadas como HTML-style (#000000), RGB comma-separated (128,255,255), e SVG 1.0 com nomes de cores em minúsculos. Exemplos de designações:
black blue brown cyan dark-gray green light-cyan light-blue light-green light-gray light-magenta light-red magenta red white yellow

Há duas condições (normal e em destaque) e dois locais possíveis (menu ou não especificado) quando da configuração do GRUB:
a) condições
– texto em destaque ou selecionado: a linha selecionada é destacada totalmente até seu final, na forma de uma “barra”. A cor1 determina a cor da fonte. A cor2 determina a cor da barra.
– texto não realçado ou texto não selecionado: a cor1 determina a cor da fonte. A cor2 determina a cor de fundo ou transparência (se for “black”) de todas as áreas não destacadas.

b) locais
– menu_color_: a área dentro da fronteira do menu.
– color_: a área fora das fronteiras do menu. Também controlará itens dentro da fronteira se menu_color_ não for especificado.

Para se configurar as cores do GRUB pode-se editar o arquivo /etc/grub.d/05_debian_theme ou, talvez de forma muito mais fácil, criando um novo arquivo chamado /boot/grub/custom.cfg e colocar as configurações de cores nele. Por exemplo:
set color_normal=yellow/black
set color_highlight=red/black
set menu_color_normal=white/black
set menu_color_highlight=red/yellow

3.4 Outras facilidades com o GRUB2
a) Mudar a resolução do video para o GRUB
Editar o parâmetro do arquivo /etc/default/grub conforme abaixo:
De: GRUB_GFXMODE=640x480 (que é o valor padrão)
Para: GRUB_GFXMODE=auto

Atualizar o arquivo de configuração boot/grub/grub.cfg executando o comando abaixo:
# update-grub
e em seguida reiniciar o sistema.
OBS:
– se desejar fixar um outro valor para a resolução do vídeo, veja antes quais as resoluções suportadas por sua controladora de vídeo. Isso pode ser feito pelo seguinte comando:
# hwinfo --framebuffer
– se necessitar, consulte aqui na wikipedia a lista das resoluções de vídeo mais comuns.

b) Help para o arquivo de configuração /etc/default/grub
Instalar o aplicativo de leitura de documentos:
# apt-get install info
Agora basta executar o seguinte comando no terminal:
$ info -f grub -n 'Simple configuration'

Referências
GRUB legado:
1- Debian Art
2- Customizando Splash Screen do Grub
3- Gerenciadores de Boot – Configurando o Grub
4- Wiki-Grub
GRUB2
5- Configurando o Grub2 no Debian
6- GNU GRUB Manual 2.00
7- Grub2
GRUB – conceitos
8- Gerenciadores de partida (boot loaders)/GRUB

Anúncios

Deixe um comentário, pois isto é muito motivante para continuarmos este trabalho

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s