Exibindo um splash durante o boot com Splashy
Dando continuidade às minhas pesquisas sobre a criação de LiveCDs, decidi seguir a sequência do boot e pesquisar o componente que seria exibido para o usuário logo após o gerenciador de boot: o splash ("tela de carregamento"). Há no Linux diversos programas que podem ser utilizados para tal finalidade, entre eles o Splashy, cujas instalação, configuração e personalização trataremos nesse artigo.
Parte 2: Instalação do Splashy
A instalação do Splashy pode ser feita facilmente no Debian e derivados a partir do pacote splashy que se encontra disponível nos repositórios oficiais do Debian Lenny. Opcionalmente, você pode instalar também os temas para Splashy feitos pela equipe do Debian, disponíveis no pacote splashy-themes:
# apt-get install splashy splashy-themes
Lembrando que para ter acesso aos repositórios do Debian Lenny você deve ter as seguintes linhas acrescentadas no arquivo "/etc/apt/sources.list":
Além disso, é bom lembrar também que antes de instalar ou atualizar programas devemos sempre atualizar a lista de pacotes dos nossos repositórios. Para isso, execute o comando:
# apt-get update
Depois de baixados e instalados os pacotes, abra o arquivo de configuração do GRUB ("/boot/grub/menu.lst") e altere a linha referente ao kernel, acrescentando "vga=791 splash":
Os parâmetros que acrescentamos agora à configuração do GRUB informarão ao kernel que devem ser carregados durante o boot o framebuffer, necessário para a execução do Splashy, com resolução 1024x768 (parâmetro "vga=791"), e o bootsplash ("splash"). Observe que é interessante que o parâmetro "quiet" também seja informado nessa linha, pois se isso não ocorrer o kernel mostrará dezenas de mensagens antes da exibição do Splashy. Se esse parâmetro não existia na sua configuração original do GRUB, acrescente-o.
Observe que é possível configurar o framebuffer para utilizar outras resoluções. Pode ser interessante utilizar a resolução 800x600, passando como parâmetro ao kernel "vga=788". As resoluções suportadas e os códigos correspondentes encontram-se na tabela a seguir, extraída do arquivo readme do Splashy, que você pode encontrar na pasta "/usr/share/doc/splashy/":
Salve o arquivo de configuração do GRUB e reinicie o computador. Ao iniciar o Linux, você deve ver agora o tema padrão do Splashy: Observe que durante a instalação do pacote splashy, o Splashy já é inserido no initramfs. Após quaisquer alterações que fizermos na configuração do Splashy ou no tema do Splashy que estamos utilizando durante o boot deveremos executar o comando a seguir para atualizar a configuração do Splashy dentro do initramfs:
# update-initramfs -u -t -k $(uname -r)
# apt-get install splashy splashy-themes
Lembrando que para ter acesso aos repositórios do Debian Lenny você deve ter as seguintes linhas acrescentadas no arquivo "/etc/apt/sources.list":
deb http://ftp.br.debian.org/debian/ lenny main contrib non-free
deb http://ftp.br.debian.org/debian-security/ lenny/updates main contrib non-free
deb http://ftp.br.debian.org/debian-volatile/ lenny/volatile main contrib non-free
deb http://ftp.br.debian.org/debian-security/ lenny/updates main contrib non-free
deb http://ftp.br.debian.org/debian-volatile/ lenny/volatile main contrib non-free
Além disso, é bom lembrar também que antes de instalar ou atualizar programas devemos sempre atualizar a lista de pacotes dos nossos repositórios. Para isso, execute o comando:
# apt-get update
Depois de baixados e instalados os pacotes, abra o arquivo de configuração do GRUB ("/boot/grub/menu.lst") e altere a linha referente ao kernel, acrescentando "vga=791 splash":
TITLE Debian GNU/Linux, kernel 2.6.26-2-686
ROOT (hd0,0)
KERNEL /boot/vmlinuz-2.6.26-2-686 root=/dev/hda1 ro quiet vga=791 splash
INITRD /boot/initrd.img-2.6.26-2-686
ROOT (hd0,0)
KERNEL /boot/vmlinuz-2.6.26-2-686 root=/dev/hda1 ro quiet vga=791 splash
INITRD /boot/initrd.img-2.6.26-2-686
Os parâmetros que acrescentamos agora à configuração do GRUB informarão ao kernel que devem ser carregados durante o boot o framebuffer, necessário para a execução do Splashy, com resolução 1024x768 (parâmetro "vga=791"), e o bootsplash ("splash"). Observe que é interessante que o parâmetro "quiet" também seja informado nessa linha, pois se isso não ocorrer o kernel mostrará dezenas de mensagens antes da exibição do Splashy. Se esse parâmetro não existia na sua configuração original do GRUB, acrescente-o.
Observe que é possível configurar o framebuffer para utilizar outras resoluções. Pode ser interessante utilizar a resolução 800x600, passando como parâmetro ao kernel "vga=788". As resoluções suportadas e os códigos correspondentes encontram-se na tabela a seguir, extraída do arquivo readme do Splashy, que você pode encontrar na pasta "/usr/share/doc/splashy/":
640x480 800x600 1024x768 1280x1024 1600x1200
256 colors (8b) 769 771 773 775 796
32K colors (15b) 784 787 790 793 797
64K colors (16b) 785 788 791 794 798
16M colors (24b) 786 789 792 795 799
Salve o arquivo de configuração do GRUB e reinicie o computador. Ao iniciar o Linux, você deve ver agora o tema padrão do Splashy: Observe que durante a instalação do pacote splashy, o Splashy já é inserido no initramfs. Após quaisquer alterações que fizermos na configuração do Splashy ou no tema do Splashy que estamos utilizando durante o boot deveremos executar o comando a seguir para atualizar a configuração do Splashy dentro do initramfs:
# update-initramfs -u -t -k $(uname -r)