Bootsplash no Slackware

Tenha em mente que o bootsplash foi descontinuado e caso você queira utilizar algo similar, de preferência ao fbsplash(antigo gensplash).Você pode utilizar o splashy também, mas ele funciona de forma diferente, apenas mostrando uma imagem com uma barra de progresso, sem o framebuffer.

Nesse tutorial irei abordar como instalar o bootsplash no kernel-huge(usando uma initrd própria para o bootsplash) e no kernel-generic(adicionando o bootsplash na initrd ja existente).Em ambos os casos,eis o que você precisará:

  1. O bootsplash patch com a versão correspondente ao seu kernel;
  2. O kernel propriamente dito(nesse caso usarei o contido no kernel-source);
  3. Um arquivo “.config”(pode-se utilizar como base o que vem com slack);
  4. Pelo menos uma hora livre(depende do tempo de compilação do kernel na sua maquina) 2=) .

Ao instalar o slackware, 4 imagens de kernel são instaladas, kernel-huge/kernel-huge-smp, kernel-generic/kernel-generic-smp.Caso você possua mais de um processador, ou seu processador seja multicore, utilize uma das imagens com smp ativado.Caso você não escolha manualmente qual imagem deseja utilizar, por padrão você estará usando o kernel-huge-smp.

É exatamente esta imagem que usarei como base para este tutorial, portanto o arquivo “.config” será o /boot/config-huge-smp-2.6.24.5-smp, para pegar o bootsplash patch para kernel 2.6.24.x baixe aqui.Como estou rodando a mesma imagem que colocarei bootsplash, posso pegar o .config em “/proc/config.gz” e poso ter a versão do meu kernel usando o comando `uname -r`, ou seja, caso você esteje usando a imagem padrão do slack, mas deseje adicionar o bootsplash no kernel-generic, você terá que pegar o config obrigatoriamente em /boot/config-generic-2.6.24.5 e seu release será 2.6.24.5, diferente da saida do comando `uname -r` que será “2.6.24.5-smp”

Como o processo de compilação será idêntico em ambos kernels, colocarei apenas uma vez, lembre-se de fazer as modificações necessárias.Após instalar o kernel-source(se já o não tiver instalado), no console ou em um terminal para o X(xterm,rxvt,konsole,aterm,…) digite:

$ su

# cd /usr/src

# rm linux && ln -sf $PWD/linux-2.6.24.5 linux

Agora que você criou o link simbólico, “zere” as configurações do kernel e aplique o patch como em:

# cd /usr/src/linux

# make mrproper

# patch -p1 < /local/onde/patch/foi/baixado/bootsplash-3.1.6-2.6.24

Proximo passo é copiar o config antigo:

# zcat /boot/config.gz > .config

# make oldconfig ## Coloque “y” para quando perguntado sobre bootsplash

# make menuconfig ## Use apenas caso deseje configurar mais alguma coisa no kernel

Agora que tudo foi configurado corretamente, compile o kernel:

# make && make modules_install

# cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-bootsplash-2.6.24.5

# cp /usr/src/linux/System.map /boot/System.map-bootsplash-2.6.24.5

# cp /usr/src/linux/.config /boot/config-bootsplash-2.6.24.5

Agora escolha um dos metodos abaixo para configurar a sua initrd, dependendo da configuração utilizada por você.

Bootsplash no kernel-huge:

Esta imagem do kernel não necessita de initrd, pois todos elementos necessarios para o boot da maquina estão compilados como built-in, e não como modulos, portanto serão automaticamente carregados durante o processo de boot.Isto realmente facilita a sua vida em certos pontos, porém aumenta significamente o tamanho da imagem vmlinuz além de carregar elementos desnecessarios, aumentando o tempo de boot.Para criação a initrd que carregará o bootsplash, ainda no terminal logado como root faça:

# splash -s -f /etc/bootsplash/themes/current/config/bootsplash-1024×768.cfg > /boot/initrd.splash

Feito isto, basta adicionar no seu bootloader a linha referente a initrd e reiniciar seu computador.

Bootsplash no kernel-generic:

Esta imagem do kernel necessita de uma initrd para que o boot de certo, isto porque os elementos necessarios foram compilados como modulos.Apesar de necessitar esta revisão a cada modificação/atualização do kernel, eu prefiro este metodo, pois permite ter um vmlinuz mais enxuto, e diminuir o tempo de boot, carregando apenas essencial.Para adicionar o bootsplash na initrd, digite no terminal logado como root:

# cd /boot

# mkinitrd -c -k `uname -r` -m modulo

#  /sbin/splash -s -f /etc/bootsplash/themes/current/config/bootsplash-1024×768.cfg > /boot/initrd-tree/bootsplash

# mkinitrd -k `uname -r` -m modulo

Configure seu bootloader, para que inicialize com a imagem vmlinuz e initrd correta e pronto!Basta reiniciar o computador e curti o bootsplash.

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.