Vale observar que, apesar da intenção do artigo ser continuar a série de artigos voltados para a criação de LiveCDs, o
Splashy também pode ser utilizado em um sistema
Linux instalado no disco rígido. Para esse tipo de instalação os passos citados nesse artigo permanecem os mesmos.
O que é o Splashy e como ele funciona
Nos artigos anteriores, cujos links para visita se encontram abaixo, vimos como funciona o processo de boot em um LiveCD: primeiramente, é carregado o gerenciador de boot (
bootloader). Os gerenciadores de boot mais conhecidos e utilizados são o
GRUB, que abordei no primeiro artigo da série, o ISOLINUX, que também abordei aqui, e o LILO, que não é utilizado em LiveCDs, mas ainda pode ser encontrado em instalações Linux feitas em computadores mais antigos.
Qualquer que seja o gerenciador de boot que você estiver utilizando, ele deverá permitir ao usuário escolher o kernel que será carregado logo em seguida.
Vimos também que, como o kernel não pode acessar diretamente o sistema de arquivos em um LiveCD durante o boot, pois o mesmo se encontra compactado, é carregado antes dele um sistema de arquivos mínimo, chamado initramfs. Esse sistema de arquivos mínimo será utilizado pelo kernel para executar os primeiros procedimentos de boot, que incluem detecção de hardware, processamento dos parâmetros passados pelo gerenciador de boot e montagem de sistemas de arquivos.
Terminados esses procedimentos, o sistema de arquivos principal poderá ser acessado pelo kernel e o restante do processo de boot é realizado como em uma instalação convencional do Linux feita no disco rígido.
Ora, se desejamos exibir um splash no lugar das mensagens que aparecem na tela durante o boot (nesse caso, um bootsplash, só para usar um termo mais específico), só existe duas opções onde podemos inseri-lo: no initramfs ou no próprio kernel.
A inserção do bootsplash no kernel já foi uma prática muito comum. O programa mais conhecido entre os que se encontram nessa categoria é o
Bootsplash. Ele foi utilizado por várias distribuições, como o
openSUSE, o
Mandriva (que na época era na verdade duas distribuições distintas: o
Mandrake e o
Conectiva) e o
Kurumin, só para citar alguns exemplos. O processo de integração do Bootsplash com o kernel, no entanto, era muito complexo, uma vez que exigia configuração manual da barra de progresso, feita pela inclusão de linhas de código nos scripts de inicialização, e recompilação do kernel.
Com o desenvolvimento dos programas de bootsplash, percebeu-se que era mais prático embutir o bootsplash no initramfs, sem prejuízo na funcionalidade. Entre os programas de bootsplash que se enquadram nessa categoria podemos citar o
USplash, que já era disponível no
Debian Etch e ainda pode ser encontrado nos repositórios do Debian Lenny, o
Splashy, disponível no Debian Lenny, e o
Plymouth, que se encontra atualmente disponível nos repositórios do
Debian Sid e já é utilizado nas versões mais recentes do
Ubuntu e do
Fedora.
O Splashy é a continuação do projeto Bootsplash e é o programa de bootsplash oficial do Debian Lenny, motivos pelos quais o escolhi para tratar neste artigo. Ele dispensa ao usuário editar os scripts de inicialização ou recompilar o kernel, sendo toda a sua instalação, configuração, personalização e execução feita por programas que se encontram dentro do próprio sistema que se encontra em execução ("in user-space", como você encontra no site do Splashy).