Deixe seu console mais bonito com Bootsplash

Neste meu primeiro artigo quero passar minha experiência com o Bootsplash, um recurso que deixa seu console (modo texto) bem mais bonito e com uma cara bem mais amigável.

[ Hits: 36.895 ]

Por: Sergio Lacerda em 10/03/2004


Introdução



Primeiramente você tem que fazer o download do patch do bootsplash para o seu kernel, para isso entre na página:
Ou vá direto no diretório de FTP:
ftp://ftp.suse.com/pub/people/stepan/bootsplash/kernel/

Onde existem mais versões do bootsplash.

Faça o download do arquivo bootsplash-3.x.x-x.x.xx-xxxxx.diff (patch para kernel).

Não se esqueça de fazer o download do programa splash, pois futuramente você precisará dele. Este software está disponível em:
ftp://ftp.suse.com/pub/people/stepan/.../bootsplash-3.0.7.tar.bz2


Exemplo de console com bootsplash

Aplicando o Patch


Agora que você fez o download do patch para kernel, vamos aplicá-lo.

Primeiramente você tem que ter o source do kernel, caso não tenha, visite o site http://www.kernel.org e faça o download (aproximadamente 40 megas).

Na pasta /usr/src/linux/ você digitará o comando:

# patch -p1 < bootsplashXXXXX.diff

e aparecerá o seguinte:

patching file drivers/char/console.c
patching file drivers/char/keyboard.c
patching file drivers/char/n_tty.c
patching file drivers/video/Config.in
patching file drivers/video/Makefile
patching file drivers/video/fbcon-jpegdec.c
patching file drivers/video/fbcon-jpegdec.h
patching file drivers/video/fbcon-splash.c
patching file drivers/video/fbcon-splash.h
patching file drivers/video/fbcon-splash16.c
patching file drivers/video/fbcon.c
patching file include/video/fbcon.h
patching file kernel/panic.c

Pronto, o patch está aplicado!

Recompilando o kernel com a opção do bootsplash


Com o patch aplicado, chegou a hora de recompilar o kernel (não vou entrar nos detalhes da compilação, caso não saiba entre na dica: Com o comando "make xconfig" ou "make menuconfig", abra as opções do kernel.

Na linha "Console drivers" você deve ativar (com Y ou M) a linha "Frame-Buffer Support" e "Vesa VGA graphics console" (ou outra possibilidade de framebuffer).

Volte e selecione a opção BootSplash "Use splash screen instead of boot logo", depois habilite a opção "Initial Ramdisk Support" na linha "Block Devices". Salve e recompile o kernel.

Configurando o console


Lembra-se do arquivo bootsplash-3.0.7.tar.bz2? Chegou a hora de usá-lo!

Com o comando "tar -jxvf bootsplash-3.0.7.tar.bz2", descompacte o arquivo, entre na pasta bootsplash-3.0.7/Utilitarios e execute o comando "make" (caso aconteçam alguns erros não se preocupe). Após isso foi criado um arquivo executável com o nome de splash, copie-o para a pasta /sbin/:

# cp splash /sbin/

Faça o download dos themes na página:
http://www.bootsplash.org/themes.html

NOTA: preste atenção nos themes em que a linha Silent estão com YES, são estes que usaremos.

Pegarei como exemplo o "Theme Default Linux". Faça o download em:
ftp://ftp.suse.com/pub/.../Theme-Linux.tar.bz2

Como root, crie a seguinte pasta:

# mkdir /etc/bootsplash/themes/

Mova ou copie a pasta do Default Themes descompactada para /etc/bootsplash/themes:

# tar -jxvf Theme-Linux.tar.bz2 -C /etc/bootsplash/themes/

E execute o comando:

# /sbin/splash -s -f /etc/bootsplash/themes/yourtheme/config/ bootsplash-1024x768.cfg >> /boot/initrd.splash

Agora edite o arquivo lilo.conf e modifique-o da seguinte forma:

image=/boot/"arquivo gerado pela recompilação"
   label=linux
   initrd=/boot/initrd.splash
   root=/dev/hdxxxx
   vga=791  #--> para o console ficar com a resolução de 1024X768

Salve, saia e atualize as configurações do lilo:

# lilo

Pronto, ao reiniciar o micro e entrar na opção de kernel criada, o console estará com resolução de 1024X768 e com o Tux no fundo.

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Compilar e habilitar os módulos ip_table e iptable_nat no kernel 2.6.26 no Debian Linux

O kernel Linux está inchado... Mas, calma, não é bem assim!

cpulimit - Limitando o uso da CPU por processo

Kernel atualizado no Debian - Parte I

Debian com kernel 2.6.10 - passo a passo

  
Comentários
[1] Comentário enviado por fabio em 10/03/2004 - 01:22h

No site oficial do Bootsplash eles dizem que esse patch já vem aplicado em algumas das principais distribuições Linux do mercado, então é sempre bom testar esse procedimento antes de recompilar o kernel.

Ah, testei no Debian Sid (unstable), mas na instalação bf24 padrão esse patch não vem aplicado :(

[]'s

[2] Comentário enviado por mandrake89 em 10/03/2004 - 07:58h

Também testei com Red Hat 9 (Shrike) e Fedora Core 1 e constatei que também não veio aplicado!

[3] Comentário enviado por y2h4ck em 10/03/2004 - 08:37h

o SuSE desde as versoes mais primitivas vem com o bootsplah e um log bem "bonitinho". compilei a kernel e coloquei o novo tema sem precisar instalar nada :)

legal esse artigo ... eu acho interessante artigos desse tipo qui insinam modificar coisas sutis mas que as vezes a pessoa encontra duvida ... eu poer exemplo nao sei onde encontrar fontes para modificar as fontes do meu Eterm ... eheh vc que escreveu o artigo sabe ?

:D falow

[4] Comentário enviado por canaman em 10/03/2004 - 08:50h

Ainda tenho a seguinte dúvida: Quando eu uso o framebuffer no console, dá erro no X, pois ele não consegue carregar o módulo sisfb e então não carrega o DRI, que é o que faz a aceleração 3D.

[5] Comentário enviado por mandrake89 em 12/03/2004 - 16:04h

Hei.. Canaman... Vc habilitou a função no lilo pra deixar o Console 1024x768????

[6] Comentário enviado por anunakin em 02/04/2004 - 18:33h

Colegas isso funciona no Kernel 2.6.4 e Slackware?

[7] Comentário enviado por anunakin em 04/04/2004 - 12:51h

HEHE consegui fazer tudim funcionar no kernel 2.6.4

[8] Comentário enviado por Pirigoso em 14/03/2005 - 05:15h

[email protected]:/etc/bootsplash/themes/OfficeDesktop# lilo
Added Linux
Added memtest86
Added WindowsXP
Fatal: Default image doesn't exist.
[email protected]:/etc/bootsplash/themes/OfficeDesktop#

[9] Comentário enviado por d43m0n em 21/03/2005 - 17:07h

como eu faço pra que já inicie em verbose-mode?

[10] Comentário enviado por omegahertz_uft em 17/03/2006 - 16:26h

cara...Tava querendo aprender mais sobre o bootsplash...o site www.bootsplash.de ta atualizadim de boa....so que em ingles.. eu num intendo nada...rsrsr sera que tem como vc me fala dos recursos tipo animação e talz...
valeuz a atenção

[11] Comentário enviado por zazeri em 19/06/2006 - 17:56h

Oi pessoal !
Como muitos usuários Debian e derivados, no meu caso Ubuntu Breezy Badger(5.10) kernel 2.6.12-9-686, também quis instalar bootsplash, e assim me livrar do usplash, que apesar de menos feio que ver as mensagens e numeros, é muito pobrezinho! :P Segui o artigo do Morimoto, que dizia:
baixar patch em www.bootsplash.de/files (baixei bootsplash-3.1.6-2.6.12.diff);
recompilar kernel (make mrproper, make dep, make clean, make xconfig, make bzImage, make modules, make modules install);
instalar binários do bootsplash, etc...
Só que logo na recompilação, em make bzImage, tive problemas. Ele dizia que um arquivo XXXX chamava outro que não existia. (Não me lembro o nome deles!)
Com isso desisti de habilitar o módulo para bootsplash, pois acho que o patch pode estar bugado!
Mas decidi compilá-lo para otimizar o processador de PENTIUM PRO para PENTIUM IV, já que meu proc é P IV 2.8GHz, e habilitar write para partição NTFS. Para isso, o processo de recompilação ocorreu normalmente, a menos de vários Warnings que apareceram, mas ao fim de "make modules install" apareceu:
Root device is (8,6)
Boot sector is 512 bytes
Setup is 1023 bytes
System is 1225 bytes
kernel: arch/i386/boot/bzImage is ready,
e em /boot, foram criados vmlinuz-2.6.12, System-map-2.6.12 e config-2.6.12.
Após conferir isso, fui no lilo.config e editei:
image=/boot/vmlinuz-2.6.12
root=/dev/sda6
read-only
Ao reiniciar para testar o sistema com o novo kernel, a máquina acusou:
VFS: Cannot open root device "806" or unknown (8,6)
Please append a correct "root=" boot option
kernel panic-not spycing:VFS:Unable to mount root fs on unknown-block (8,6).
Ai reiniciei com o kernel antigo, que a partir dai começou a enroscar em "Mounting root file system", ficava ficava, mas no fim desenroscava e inicializava com sucesso. Com todas essas decepções resolvi deletar esse novo kernel. Fui em /boot e deletei os arquivos criados com a recompilação, tomando cuidado pra não apagar os já existentes e fui em /usr/src/linux-source-2.6.12/ e fiz make mrproper, make dep, make clean e voltei o lilo-config para o estado anterior.
Reiniciei a máquina novamente, e novamente enroscava em "Mounting root file system". Após o fim do reboot, tive a "genial" idéia de reconfigurar a imagem, ou seja, dei dpkg-reconfigure linux-image-2.6.12-9-686 e depois lilo.
Depois disso, reiniciei pela milionésima vez, e agora a merda estava feita, a máquina não carregava mais o Ubuntu e acusava:
Kernel panic-not syncing : Attempted to kill init!

Gente, como faço para salvar meu Ubuntuzinho!!! Nele tenho programas que não tenho mais como obter o código novamente!
Alguém pode me ajudar a recuperá-lo??? O que tenho que fazer?
Obrigado !!!!!
Fernando : [email protected]

[12] Comentário enviado por anunakin em 19/06/2006 - 19:03h

Primeiramente vais ter de usar um Kernel .... mais cru e sem o monte de patches da turma do Ubuntu...

Baixe .. seu kernel em http://www.kernel.org/ é neste que vc deve aplicar os patches...

[13] Comentário enviado por ulisses_castro em 25/06/2006 - 18:54h

Opa! Final de Semana... dei uma recompilada básica aqui no kernel e talz... experimentar o Artigo que ficou mto bom e acabei esbarrando em um "detalhe" que pode atrasar a vida de quem cria initrd.img com o comando mkinitrd como eu....

depois de compilado o kernel, eu uso o mkinitrd para gerar minha initrd.img no caso deste comando...

# /sbin/splash -s -f /etc/bootsplash/themes/yourtheme/config/ bootsplash-1024x768.cfg >> /boot/initrd.splash

substitua o initrd.splash pelo nome do seu initrd criado com o comando mkinitrd.... este comando splash não cria uma imagem ele ANEXA uma imagem ao seu arquivo initrd.img ....

abraços....


[14] Comentário enviado por eXploit em 13/02/2007 - 05:26h

"apareceram, mas ao fim de "make modules install" apareceu:"

typo detected, vc nao instalou os modulos. tente "make modules_install"
lol

[15] Comentário enviado por kakashi_kun em 04/10/2007 - 21:23h

o meu da o seguinte erro



patch -p1 < bootsplash-3.1.6-2.6.21.diff
can't find file to patch at input line 4
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -urN linux-2.6.21-orig/drivers/char/keyboard.c linux-2.6.21/drivers/char/keyboard.c
|--- linux-2.6.21-orig/drivers/char/keyboard.c 2007-04-26 10:58:50.000000000 +0300
|+++ linux-2.6.21/drivers/char/keyboard.c 2007-04-26 11:29:26.000000000 +0300
--------------------------
File to patch:



Oque seria isso?

[16] Comentário enviado por kakashi_kun em 04/10/2007 - 21:31h

Agora dei outro comando


patch -strip < bootsplash-3.1.6-2.6.21.diff
The text leading up to this was:
--------------------------
|diff -urN linux-2.6.21-orig/drivers/char/keyboard.c linux-2.6.21/drivers/char/keyboard.c
|--- linux-2.6.21-orig/drivers/char/keyboard.c 2007-04-26 10:58:50.000000000 +0300
|+++ linux-2.6.21/drivers/char/keyboard.c 2007-04-26 11:29:26.000000000 +0300
--------------------------
No file to patch. Skipping patch.
1 out of 1 hunk ignored
The text leading up to this was:
--------------------------
|diff -urN linux-2.6.21-orig/drivers/char/n_tty.c linux-2.6.21/drivers/char/n_tty.c
|--- linux-2.6.21-orig/drivers/char/n_tty.c 2007-04-26 10:58:50.000000000 +0300
|+++ linux-2.6.21/drivers/char/n_tty.c 2007-04-26 11:29:26.000000000 +0300
--------------------------
No file to patch. Skipping patch.
1 out of 1 hunk ignored
The text leading up to this was:
--------------------------
|diff -urN linux-2.6.21-orig/drivers/char/vt.c linux-2.6.21/drivers/char/vt.c
|--- linux-2.6.21-orig/drivers/char/vt.c 2007-04-26 10:58:50.000000000 +0300
|+++ linux-2.6.21/drivers/char/vt.c 2007-04-26 11:29:26.000000000 +0300
--------------------------
No file to patch. Skipping patch.
1 out of 1 hunk ignored
The text leading up to this was:
--------------------------
|diff -urN linux-2.6.21-orig/drivers/video/console/bitblit.c linux-2.6.21/drivers/video/console/bitblit.c
|--- linux-2.6.21-orig/drivers/video/console/bitblit.c 2007-02-04 21:44:54.000000000 +0300
|+++ linux-2.6.21/drivers/video/console/bitblit.c 2007-04-26 11:29:26.000000000 +0300
--------------------------
No file to patch. Skipping patch.
6 out of 6 hunks ignored
The text leading up to this was:
--------------------------
|diff -urN linux-2.6.21-orig/drivers/video/console/fbcon.c linux-2.6.21/drivers/video/console/fbcon.c
|--- linux-2.6.21-orig/drivers/video/console/fbcon.c 2007-04-26 10:58:53.000000000 +0300
|+++ linux-2.6.21/drivers/video/console/fbcon.c 2007-04-26 11:29:26.000000000 +0300
--------------------------
No file to patch. Skipping patch.
10 out of 10 hunks ignored
The text leading up to this was:
--------------------------
|diff -urN linux-2.6.21-orig/drivers/video/console/fbcon.h linux-2.6.21/drivers/video/console/fbcon.h
|--- linux-2.6.21-orig/drivers/video/console/fbcon.h 2007-04-26 10:58:53.000000000 +0300
|+++ linux-2.6.21/drivers/video/console/fbcon.h 2007-04-26 11:29:26.000000000 +0300
--------------------------
No file to patch. Skipping patch.
1 out of 1 hunk ignored
1 out of 1 hunk FAILED -- saving rejects to file ip
1 out of 1 hunk FAILED -- saving rejects to file ip
The text leading up to this was:
--------------------------
|diff -urN linux-2.6.21-orig/drivers/video/vesafb.c linux-2.6.21/drivers/video/vesafb.c
|--- linux-2.6.21-orig/drivers/video/vesafb.c 2007-02-04 21:44:54.000000000 +0300
|+++ linux-2.6.21/drivers/video/vesafb.c 2007-04-26 11:29:26.000000000 +0300
--------------------------
No file to patch. Skipping patch.
2 out of 2 hunks ignored
The text leading up to this was:
--------------------------
|diff -urN linux-2.6.21-orig/include/linux/console_struct.h linux-2.6.21/include/linux/console_struct.h
|--- linux-2.6.21-orig/include/linux/console_struct.h 2007-04-26 10:58:54.000000000 +0300
|+++ linux-2.6.21/include/linux/console_struct.h 2007-04-26 11:29:26.000000000 +0300
--------------------------
No file to patch. Skipping patch.
1 out of 1 hunk ignored
The text leading up to this was:
--------------------------
|diff -urN linux-2.6.21-orig/include/linux/fb.h linux-2.6.21/include/linux/fb.h
|--- linux-2.6.21-orig/include/linux/fb.h 2007-04-26 10:58:54.000000000 +0300
|+++ linux-2.6.21/include/linux/fb.h 2007-04-26 11:29:26.000000000 +0300
--------------------------
No file to patch. Skipping patch.
1 out of 1 hunk ignored


sabe oque pode ser isso por que desse erro?


Contribuir com comentário