Bootsplash no Slackware - HowTo

Este é um HowTo sobre como instalar o software Bootsplash na distribuição Linux Slackware. A versão utilizada para compor o artigo foi o Slackware 11.

[ Hits: 55.713 ]

Por: Perfil removido em 22/11/2006


Configurando a barra de progresso



Para fazer com que a barra de progresso funcione no bootsplash é necessário alterar alguns arquivos. Primeiro de tudo, crie o arquivo /etc/rc.d/rc.bootsplash e adicione o seguinte texto a ele:

#!/bin/sh
function progressbar(){
   if [ $# != 1 ]
   then
      echo "Use: progressbar {progresso}"
      exit 1
   fi
   echo "show $(( 65534 * $1 / 100 ))" > /proc/splash
}

Transforme-o em executável para que ele possa ser inicializado durante o boot:

# chmod +x /etc/rc.d/rc.bootsplash

Nos arquivos de inicialização rc.S e rc.M, adicione logo após a linha que dá início ao script (#!/bin/bash):

. /etc/rc.d/rc.bootsplash

No rc.S, acrescente as linhas progressbar 10, 20, 30, 40, 50 no arquivo fora das funções de script. Coloque onde você quiser mas tente distribuir os 'progressbar' igualmente durante todo o arquivo. Essas 'progress X' determinarão o comprimento da barra de progresso antes e após a conclusão de certas funções. Veja o começo de meu rc.S:

#!/bin/sh
. /etc/rc.d/rc.bootsplash
progressbar 10
PATH=/sbin:/usr/sbin:/bin:/usr/bin

# Mount /proc right away:
/sbin/mount -v proc /proc -n -t proc
if [ -w /proc/sys/kernel/hotplug ]; then
  if grep -wq nohotplug /proc/cmdline ; then
    echo "/dev/null" > /proc/sys/kernel/hotplug
  elif [ ! -x /etc/rc.d/rc.hotplug ]; then
    if [ ! "$(uname -r | cut -f 1,2 -d .)" = "2.4" ]; then
      # We must be running a 2.4.x kernel, so turn off hotplug:
      echo "/dev/null" > /proc/sys/kernel/hotplug
    fi
  fi
fi

# Start devfsd if necessary.  On newer kernels, udev should be used instead.
if [ -x /etc/rc.d/rc.devfsd ]; then
  /etc/rc.d/rc.devfsd start
fi

# Mount sysfs next, if the kernel supports it:
if [ -d /sys ]; then
  if cat /proc/filesystems | grep -wq sysfs ; then
    if ! cat /proc/mounts | grep -wq sysfs ; then
      /sbin/mount -v sysfs /sys -n -t sysfs
    fi
  fi
fi
progressbar 20
# Enable swapping:
/sbin/swapon -a

No arquivo rc.M, faça a mesma coisa. O arquivo rc.M entra em ação depois que o rc.S já foi completamente lido, portanto iremos adicionar progressbar 60, 70, 80, 90. Veja o começo de meu rc.M:

#!/bin/sh
. /etc/rc.d/rc.bootsplash
progressbar 6
# Tell the viewers what's going to happen.
echo "Going multiuser..."

# Screen blanks after 15 minutes idle time, and powers down in one hour
# if the kernel supports APM or ACPI power management:
/bin/setterm -blank 15 -powersave powerdown -powerdown 60

# Set the hostname.
if [ -r /etc/HOSTNAME ]; then
  /bin/hostname $(cat /etc/HOSTNAME | cut -f1 -d .)
else
  # fall back on this old default:
  echo "darkstar.example.net" > /etc/HOSTNAME
  /bin/hostname darkstar
fi
progressbar 70

Agora, iremos configurar a barra de progresso na hora do desligamento do sistema. Para isso teremos que editar o arquivo /etc/rc.d/rc.6 e adicionar as linhas de 'progressbar'. Veja o exemplo:

#! /bin/sh
. /etc/rc.d/rc.bootsplash
# Volta o bootsplash pra tela silent
/sbin/splash -s -u 0 /etc/bootsplash/themes/current/config/ARQUIVOTEMA.cfg
progressbar 10
# Set the path.
PATH=/sbin:/etc:/bin:/usr/bin

Uma coisa interessante é que, se você quiser adicionar uma barra ao contrário (ela começa no fim e encolhe até o começo), basta trocar o progressbar 10, por progressbar 90 e ir adicionando as linhas progressbar de forma decrescente até o fim do arquivo.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Obtendo o necessário
   3. Configurando o kernel
   4. Instalando os pacotes e tema
   5. Configurando a barra de progresso
   6. Mudando o tema
   7. Conclusão
Outros artigos deste autor

Calculando máscara de sub-rede e broadcast

Microcode - Como atualizar o firmware do processador

Acessando partições NTFS no Linux

Ambiente de desenvolvimento Java com Ubuntu 7.10 e Net Beans 6

Instalação do XFCE 4.2 no Debian

Leitura recomendada

Desenhando os vilões do Pac-Man com Inkscape

Blender - Como fazer um planeta 3D

Desenhando um avatar do Tux no InkScape

Da criança problema até o abacaxi

VRML - A Web ganhando vida!

  
Comentários
[1] Comentário enviado por roanfranklin em 22/11/2006 - 15:04h

Show de Artigo!!! Parabéns, "tom bishop". Gostei Muito...

[2] Comentário enviado por Reideer em 22/11/2006 - 23:36h

artigo legal
bom eu acho q ja vi este negocio rolando no mandriva, se não me engano.

porém eu prefiro o tradicional... tem mais a ver com a alma do linux, e do slackware. até que a imagem q tem do verbose é legal.

[3] Comentário enviado por coffnix em 23/11/2006 - 01:16h

bacana cara.... mas tu vacilou em uma coisa: "LINUX IS NOT GNU/LINUX"

Linux é kernel... e muitos softwares q são usados no Linux não são da Free Software Foundation..... exemplo clássico? $vi ehehehehehe


abração, tu tá de parabéns cara!

[4] Comentário enviado por aprendiz_ce em 24/11/2006 - 18:55h

Show de bola!

tzbishop,

Eu tenho algumas máquina com o CL10 instalado e todas estão com o "bootsplash" ativo. Gostaria de desativa-lo, sem ter que deinstalar o mesmo. Como eu faço isso?

Obrigado pela atenção e parabéns pelo artigo.


[5] Comentário enviado por removido em 24/11/2006 - 19:37h

mardonio, creio que se você fizer um backup do seu /boot/initrd.gz e criar um outro sem o parâmetro do Bootsplash, deve funcionar....

[6] Comentário enviado por demoncyber em 24/11/2006 - 21:55h

Poxa cara já faziam um tempo que estava querendo fazer isso, mas nunca sobrava tempo e não tinha uma razão junta ( Heheh agora tenho vou apagar o meu windows XP profissional original do hd ). Nossa esse artigo caiu muito bem.

Grato ....

( Ótimo artigo )

[7] Comentário enviado por nissieloin em 18/12/2006 - 12:28h

Estou usando o slackware 10.2 kn 2.6.13 e to com problema na hora de patchear o kernel... toda vez que uso qualquer dos patches nao consigo mais compilar.

[8] Comentário enviado por removido em 27/01/2007 - 02:45h

nissieloin, foram reportados bugs com relação ao kernel 2.6.13 com patches (não só do bootsplash). Aconselho a pegar uma versão de kernel linux mais recente...

[9] Comentário enviado por nissieloin em 20/03/2007 - 14:26h

kra, fiz tudo que vc falou pra fazer, utilizei o kernel 2.6.18 e nada feito. Não to entendendo onde está o problema. A máquina funciona direitinho, mas nada de rodar o bootsplash.

[10] Comentário enviado por cacjorge em 26/04/2007 - 17:37h

ae amigao... por favor me ajude!
eu fiz tudo! mas nada do bootsplash aparecer...
ele fica dizendo:

/proc/splash: No such file or directory

o q poderia ser?

[11] Comentário enviado por iganem em 30/06/2014 - 14:51h

Ptz cara, muito bom,,, principalmente como já mencionado a favor dos usuários desktop, leigos!
Um bootsplash da uma sensação de comodidade e robustez ao usuário, historicamente algemado ao uso do mouse e de "windows"!
Interessante também o fato de o slackware rodar em todo tipo de máquina, fazendo com que uma velha "máquina de escrever" se torne um desktop razoável!

Abraços e sucesso!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts