Bootsplash no Slackware

Publicado por Ruan em 27/10/2016

[ Hits: 2.648 ]

Blog: https://ruanklein.github.io

 


Bootsplash no Slackware



Essa dica explica o passo a passo para adicionarmos um bootsplash na inicialização e no desligamento do sistema.

Pra quem gosta do plymouth - que é o software responsável por mostrar o boot gráfico nas principais distribuições - sabe que ele depende inteiramente do systemd, ou seja, inviável utilizarmos no Slackware.

Esse método é bem simples e faz uso apenas de shell script para mostrar uma imagem no fundo enquanto roda os scripts da pasta /etc/rc.d. Não é preciso recompilar o kernel.

* Os créditos dos autores estão no final desse texto.

1. GERAR UM INITRD PARA O KERNEL ATUAL

Se você já usa o kernel-generic, então pode pular essa parte. Quem usa o huge, é necessário alterar para o kernel-generic e gerar um arquivo initrd.gz para rodar o bootsplash.

Para gerar o initrd, rode o script abaixo:

sudo -i
# /usr/share/mkinitrd/mkinitrd_command_generator.sh | bash


Dentro da pasta /boot, foi criado uma pasta e um arquivo; respectivamente initrd-tree e initrd.gz.

Agora precisamos recriar os links System.map, config, e vmlinuz da pasta boot para apontar para o kernel-generic:

sudo ln -sf /boot/System.map-generic-$(uname -r) /boot/System.map
$ sudo ln -sf /boot/config-generic-$(uname -r) /boot/config
$ sudo ln -sf /boot/vmlinuz-generic-$(uname -r) /boot/vmlinuz


Por último, precisamos incluir o initrd no lilo.conf:

image = /boot/vmlinuz
initrd = /boot/initrd.gz
label = "Linux"
root = /dev/sdXY
read-only

Onde /dev/sdXY corresponde ao HD (X) e a partição (Y) onde se encontra a raiz do sistema.

Após as alterações, rode o comando para gravar as alterações do lilo:

sudo -i lilo

No caso do grub, basta rodar o sudo grub-mkconfig -o /boot/grub/grub.cfg, porém haverá entradas duplicadas no menu do boot. Para eliminarmos essas entradas, remova esses links da pasta boot:

sudo rm /boot/vmlinuz-huge /boot/vmlinuz-generic

Se quiser remover também o huge do menu - o que acho ideal já que ele não será mais utilizado - renomeie a entrada dele para que o grub não detecte:

sudo mv /boot/vmlinuz-huge-$(uname -r) /boot/disabled-vmlinuz-huge-$(uname -r)

Agora, devemos recriar o grub.cfg para que as alterações sejam feitas:

sudo grub-mkconfig -o /boot/grub/grub.cfg

A saída deverá ser semelhante a essa:

Generating grub.cfg ...
Found linux image: /boot/vmlinuz-generic-4.4.14
Found initrd image: /boot/initrd.gz
done


Uma entrada generic e sem huge, então está ok!

2. O SCRIPT RC.BOOTSPLASH-MASTER

Esse script fica responsável por executar o rc.S, rc.M, rc.0, e rc.6 em background, enquanto uma imagem é mostrada. Para isso, basta mover o script para /etc/rc.d e criar alguns links. Para baixar o script e instalar:

wget www.meunix.blog.br/scripts/rc.splash-master
$ sudo install -m0755 -o 0:0 rc.splash-master /etc/rc.d


Criar os links necessários:

sudo ln -s /etc/rc.d/rc.splash-master /etc/rc.d/rc.0-splash
$ sudo ln -s /etc/rc.d/rc.splash-master /etc/rc.d/rc.6-splash
$ sudo ln -s /etc/rc.d/rc.splash-master /etc/rc.d/rc.M-splash
$ sudo ln -s /etc/rc.d/rc.splash-master /etc/rc.d/rc.S-splash


3. ALTERAÇÃO DO INITTAB

Devemos agora modificar o arquivo inittab para apontar para os scripts *-splash.

No arquivo inittab, comente as linhas seguintes e adicione as referências para os links criados anteriormente:

# System initialization (runs when system boots).
#si:S:sysinit:/etc/rc.d/rc.S
si:S:sysinit:/etc/rc.d/rc.S-splash

# Script to run when going single user (runlevel 1).
su:1S:wait:/etc/rc.d/rc.K

# Script to run when going multi user.
#rc:2345:wait:/etc/rc.d/rc.M
rc:2345:wait:/etc/rc.d/rc.M-splash

# What to do at the "Three Finger Salute".
ca::ctrlaltdel:/sbin/shutdown -t5 -r now

# Runlevel 0 halts the system.
#l0:0:wait:/etc/rc.d/rc.0
l0:0:wait:/etc/rc.d/rc.0-splash

# Runlevel 6 reboots the system.
#l6:6:wait:/etc/rc.d/rc.6
l6:6:wait:/etc/rc.d/rc.6-splash

Feitas as alterações, salve e feche o arquivo.

4. CRIAÇÃO DA IMAGEM

Essa parte exige um pouco de conhecimento de GIMP, pois agora que já esta tudo configurado, falta o principal: a imagem que será usada para o bootsplash.

No GIMP, crie uma imagem com a mesma resolução do framebuffer. Se você usa driver proprietário de vídeo, essa resolução é a mesma usada nas configurações do lilo ou do grub. No caso do driver opensource, crie uma imagem na mesma resolução que você usa no ambiente gráfico.

Após a criação da imagem, exporte para o formato .ppm e mova para a pasta boot com o nome slackwarelinux.ppm. O comando ficaria assim:

sudo mv local_da_imagem.ppm /boot/slackwarelinux.ppm

Depois é testar, reiniciando a máquina para ver o bootsplash em funcionamento.

Referências


Outras dicas deste autor

Apple Swift no Slackware 14.2

Aplicativos portáteis no Linux

Slackware "Debiano"

Personalizando seu prompt facilmente

Arch Linux - Como listar comando e seu respectivo pacote

Leitura recomendada

Backup em fita DAT usando o comando tar (problemas e soluções)

Personalizar o painel do Gnome no Ubuntu Lucid Lynx - versão 2

Problema de ruído na placa de som on-board (VIA 8235)

Montar .ISO .NRG e converter .NRG para .ISO no Ubuntu 10.04

tune2fs - Descobrindo data de instalação do seu GNU/Linux

  

Comentários
[1] Comentário enviado por removido em 30/10/2016 - 17:01h

Para confirmar:

Quer dizer que com isto eu posse colocar uma imagem de fundo enquanto as letrinhas com coisas do tipo

[380237.275890] PM: Allocated 3513744 kbytes in 8.89 seconds (395.24 MB/s)

ficam rolando na tela?

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden

[2] Comentário enviado por ru4n em 30/10/2016 - 20:19h


[1] Comentário enviado por listeiro_037 em 30/10/2016 - 17:01h

Para confirmar:

Quer dizer que com isto eu posse colocar uma imagem de fundo enquanto as letrinhas com coisas do tipo

[380237.275890] PM: Allocated 3513744 kbytes in 8.89 seconds (395.24 MB/s)

ficam rolando na tela?

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden


Exato! Funciona como um bootsplash, usando somente shell script e uma imagem estática (diferente do plymouth que utiliza imagem dinâmica) de fundo.

Um exemplo prático dessa dica em vídeo:
https://youtu.be/KAtd6djb2KU

[3] Comentário enviado por uNclear em 03/11/2016 - 10:42h

insano



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts