Introdução - apresentação, requerimentos e objetivo
Neste artigo descreverei como deixar seu Slackware com a inicialização totalmente gráfica, com imagens de fundo e barra de progresso durante o carregamento, no estilo do SuSE, RedHat, Mandrake e outros. Bom, é verdade há muitos artigos descrevendo como fazer isso, mas nenhum é tão detalhado e específico para o kernel 2.6.4. AVISO: Todos os procedimentos requerem permissão de root (super usuário) para serem executados, tudo foi testado no Slackware 9.1 com kernel 2.6.4, provavelmente os procedimentos abaixo não irão funcionar em outra distro. Não nos responsabilizamos por qualquer perda ou dano que o uso incorreto dos procedimentos abaixo venham a causar! 1 Objetivo 1.1 Instalar e configurar o LILO com suporte a fundo animado. |
1.2 Instalar e configurar o BOOTSPLASH para ter seu boot gráfico. |
OBS: Você pode baixar um tutorial mais detalhado e com as imagens em: http://www.linuxpaidegua.com.br/bootsplash/ 2 Requerimentos: 2.1 Slackware 9.1 ou maior 2.2 Fontes do kernel 2.6.4 ou maior 2.3 Usuário com permissão de root 2.4 Placa gráfica com suporte a VESA Framebuffer (fbvesa) |
====================================================================================
Instalando o LILO com suporte a animações
3.1 Baixe o lilo modificado: Home: http://members.optusnet.com.au/rkelsen/lilo.html Arquivos: http://members.optusnet.com.au/rkelsen/lilo-22.3.2.51-i586-1.tgz http://members.optusnet.com.au/rkelsen/gfxboot-1.4-i686-1.tgz OBS: O gfxboot é usado para criar temas personalizados. 3.2 Instale usando os comandos abaixo: # installpkg lilo-22.3.2.51-i586-1.tgz # installpkg gfxboot-1.4-i686-1.tgz 3.3 Baixe um tema: Home: http://www.gamers.org/%7Equinet/ Arquivos: http://www.gamers.org/%7Equinet/lilo/xray-green.boot.gz http://www.gamers.org/%7Equinet/lilo/xray-blue.boot.gz 3.4 Preparando o LILO: # gunzip xray-blue.boot.gz # cp xray-blue.boot /boot/ # ln -s xray-blue.boot message 3.5 Configurando o LILO: Edite o arquivo /etc/lilo.conf e acrescente a linha: message=/boot/message Exemplo: |
boot=/dev/hda message=/boot/message #compact # faster, but won't work on all systems. prompt timeout=150 |
Rode o comando lilo para atualizar seu boot: # lilo Pronto, seu lilo agora é animado! |
====================================================================================
4.1 A instalação do bootsplash é um pouco mais complicada e requer a
recompilação do kernel, mas como este tutorial é para Slackware 9.1 com kernel
2.6.4, você provavelmente já fez isso.
4.2 Baixando o patch no kernel:
ftp://ftp.suse.com/pub/people/stepan/bootsplash/kernel/
ou http://dediziert.org/~tyrant/linux/bootsplash/
Utilizei o patch: bootsplash-3.1.4-2.6.3.diff
ftp://ftp.suse.com/pub/people/.../bootsplash-3.1.4-2.6.3.diff
OBS: Em http://dediziert.org/~tyrant/linux/bootsplash/
há patch para kernels mais recentes como o 2.6.5, mas estou mostrando a solução para o kernel atual 2.6.4 e usei o .diff da SuSE.
OBS: Baixe o patch mais próximo ao seu kernel.
=====================================================================================
Configurando o KERNEL
4.3 Aplicando o patch ao kernel OBS: Supomos aqui que você já preparou os fontes do kernel, baixou, descompactou e criou o link simbólico "linux -> linux-2.6.4/". # cp bootsplash-3.1.4-2.6.3.diff /usr/src/linux # cd /usr/src/linux # patch -p1 < bootsplash-3.1.4-2.6.3.diff 4.4 Configurando o kernel, utilizaremos o "make xconfig" 4.4.1 Ative o suporte a RAM disk |
4.4.2 Ative o suporte a Framebuffer VESA no kernel e coloque o Framebuffer VGA da sua placa como módulos, no meu caso minha placa é um NVidia G-Force FX, isto serve para garantir que o fb0 seja o VESA, o qual tem suporte para 1024x768x16bit. |
4.4.3 Ative o VGA text console e o Framebuffer Console support, com as opções exibidas abaixo: |
4.4.4 Desative o bootup logo: |
4.4.5 Ative o BOOTSPLASH (esta opção só aparece após o patch ser aplicado): |
Pronto seu kernel está configurado! OBS: Não se esqueça das outras opções para o funcionamento do kernel, lembre-se que só mostramos como configurar para o bootsplash. 4.5 Compilado o kernel 4.5.1 Antes de tudo edite o arquivo Makefile # vi Makefile na linha EXTRAVERSION = , modifique para EXTRAVERSION = -bs com os espaços entre o = e EXTRAVERSION e o = e bs.... 4.5.2 Agora compile e instale o kernel: # make bzImage # make # make modules_install # cp -p System.map /boot/System.map-2.6.4-bs # cp -p arch/i386/boot/bzImage /boot/vmlinuz-2.6.4-bs |
====================================================================================
Executáveis, RAM Disk, LILO
4.6.1 Baixe o bootsplash mais recente: http://www.bootsplash.org bootsplash-3.1.tar.bz2 ftp://ftp.suse.com/pub/people/stepan/.../bootsplash-3.1.tar.bz2 4.6.2 Descompacte e instale os programas: # tar -xvjf bootsplash-3.1.tar.bz2 # cd bootsplash-3.1/Utilities # make # cp -p splash /sbin/ # cp -p fbmngplay /sbin/ # cp -p fbresolution /sbin/ # cp -p fbtruetype /sbin/ # cp -p splashpbm /sbin/ 4.6.3 Crie o diretório /etc/bootsplash: # mkdir /etc/bootsplash Crie também a pasta de temas: # mkdir /etc/bootsplash/themes 4.6.4 Baixe e instale um tema, no meu caso optei pelo tema padrão "Linux". Home: http://www.bootsplash.org/themes.html Mais temas: http://dediziert.org/~tyrant/linux/bootsplash/themes/ 4.6.4.1 Tema de minha autoria, confira: http://www.linuxpaidegua.com.br/bootsplash/Theme-ThinkLinux.tar.bz2 Baixe o arquivo: Theme-Linux.tar.bz2 ftp://ftp.suse.com/pub/people/stepan/bootsplash/themes/Theme-Linux.tar.bz2 Instale o tema: # tar -xvjf Theme-Linux.tar.bz2 # cp -r Linux/ /etc/bootsplash/themes/ Crie um link simbólico para o diretório de seu tema: # ln -s /etc/bootsplash/themes/Linux /etc/bootsplash/themes/current 4.6.5 Crie o arquivo initrd.splash: # /sbin/splash -s -f /etc/bootsplash/themes/current/config/bootsplash-1024x768.cfg >> /boot/initrd.splash 4.7 Configurando o LILO: Edite o arquivo lilo.conf. OBS: Você pode modificar ou acrescentar outra configuração de boot. Aqui estaremos acrescentando outra opção de boot, porém eu prefiro modificar a atual. # vi /etc/lilo.conf Acrescente as linhas abaixo: |
image=/boot/vmlinuz-2.6.4-bs root=/dev/hda2 label=Slackware-2.6 initrd=/boot/initrd.splash read-only |
Modifique a opção vga=ALGUM_NUMERO para: vga=791 Modifique ou acrescente a linha "splash=verbose". Isso irá mostrar o texto com a imagem de fundo do tema. append="splash=silent" Execute o comando lilo para atualizar seu setor de boot: # lilo |
=====================================================================================
Barra de progresso
Com isso você terá a barra de progresso ativa durante a inicialização, reboot e desligamento. 4.8.1 Crie o arquivo /etc/rc.d/rc.bootsplash: # vi /etc/rc.d/rc.bootsplash e acrescente o seguinte conteúdo a ele: |
#!/bin/sh function progressbar(){ if [ $# != 1 ] then echo "Use: progressbar {progresso}" exit 1 fi echo "show $(( 65534 * $1 / 100 ))" > /proc/splash } |
Torne este arquivo executável: # chmod 755 /etc/rc.d/rc.bootsplash 4.8.2 Edite os arquivos /etc/rc.d/rc.S e /etc/rc.d/rc.M para a inicialização. Logo após a linha #!/bin/sh acrescente: |
. /etc/rc.d/rc.bootsplash # (pontoEspaço/etc/rc.d/rc.bootsplash) |
Acrescente as marcações da barra de progresso ao decorrer do arquivo rc.S até progress 50, procure distribuir pelo arquivo todo e sempre fora dos if/fi e inicie com o progressbar 10 logo após a linha ". /etc/rc.d/rc.bootsplash". Faça o mesmo no arquivo rc.M, mas começando em progressbar 60... Exemplo de rc.S: |
#!/bin/sh . /etc/rc.d/rc.bootsplash progressbar 10 PATH=/sbin:/usr/sbin:/bin:/usr/bin if [ -r /dev/.devfsd ]; then if [ -x /sbin/devfsd ]; then /sbin/devfsd /dev fi fi progressbar 20 # enable swapping |
4.8.3 Edite o arquivo /etc/rc.d/rc.6 O procedimento é o mesmo,, só que fiz uma barra de progresso invertida e indo de progressbar 90 a progressbar 10. Exemplo: |
#! /bin/sh . /etc/rc.d/rc.bootsplash # Reativa o modo verbose, caso tenha apertado F2 /sbin/splash -s -u 0 /etc/bootsplash/themes/current/config/bootsplash-1024x768.cfg progressbar 90 PATH=/sbin:/etc:/bin:/usr/bin # If there are SystemV init scripts for this runlevel, run them. if [ -x /etc/rc.d/rc.sysvinit ]; then . /etc/rc.d/rc.sysvinit fi progressbar 80 # Set linefeed mode to avoid staircase effect. stty onlcr |
OBS: Você pode construir suas próprias telas de inicialização do BOOTSPLASH e de animação do LILO, para isso leia a documentação dos mesmo, exige um conhecimento razoável de GIMP e scripts. |
====================================================================================
Animações e texto dinâmico
4.8.4 Sobre as animações e texto dinâmico: 4.8.4.1 As animações no BOOTSPLASH são ativadas pelos comando fbmngplay, inserindo a linha após o comando ". /etc/rc.d/rc.bootsplash", em seu rc.S: /sbin/fbmngplay -b -c 1 -x 487 -y 430 /etc/bootsplash/themes/current/animations/spot.mng & e a linha, abaixo, ao final do arquivos rc.M: killall fbmngplay OBS: Pode-se fazer o mesmo com o arquivo rc.6, lembrando-se da linha "killall fbmngplay" antes dos comandos de desmonte das partições. 4.8.4.2 O uso de texto dinâmico para ser exibido durante o boot, halt ou reset também é possível com o comando fbtruetype. |
=====================================================================================
Para versões atualizadas do tema ThinkLinux, outros Temas, patchs e mais:
http://www.linuxpaidegua.com.br/bootsplash/
Fontes:
Deixe seu console mais bonito com Bootsplash
http://www.slacklife.com.br/article.php?sid=631
http://www.gamers.org/%7Equinet/
http://www.kernel.org
http://www.bootsplash.org/
http://dediziert.org/~tyrant/linux/bootsplash/
http://www.neowin.net/forum/index.php?s=1...
FIM ... Bons estudos