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: 38.212 ]

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

Compilação do kernel passo-a-passo

Implementando um kernel GNU/Linux mais seguro

Guerra Infinita, uma análise da Ciência da Computação

Compilando o Kernel Linux

Como compilar o Kernel em qualquer distribuição GNU/Linux

  
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

root@SERVERPETRY:/etc/bootsplash/themes/OfficeDesktop# lilo
Added Linux
Added memtest86
Added WindowsXP
Fatal: Default image doesn't exist.
root@SERVERPETRY:/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 : ffilho@webmail.ibilce.unesp.br

[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts