# Configurando Bootsplash no Gentoo.

## Kobal

O primeiro passo e aplicar o patch do Con Kolivas, pois foi o que tive sucesso para configurar o Bootsplash, http://members.optusnet.com.au/ckolivas/kernel/

Pra aplicar o patch e facil, coloque ele em /usr/src , descompacte com 

bunzip2  patch-2.6.7-ck5.bz2 .

Depois entre em /usr/src/linux e digite o comando 

patch -p1 <../patch-2.6.7-ck5,

pronto o patch ja foi aplicado. Agora vamos as opçoes no Kernel. 

Code maturity level options  --->

    [*] Prompt for development and/or incomplete code/drivers

Processor type and features  --->

    [*] MTRR (Memory Type Range Register) support

Device Drivers  --->

    Block devices  --->

        <*> Loopback device support

        <*> RAM disk support

        (4096) Default RAM disk size

        [*]   Initial RAM disk (initrd) support

Graphics support  --->

    [*] Support for frame buffer devices

    [*]   VESA VGA graphics support

    Console display driver support  --->

        [*]   Video mode selection support

        <*> Framebuffer Console support

    Bootsplash configuration  --->

        [*] Bootup splash screen 

Agora compile o Kernel normalmente. 

make , make modules , make modules_install 

Apesar do patch CK ja ser preparado para o bootsplash, é necessario a instalação do mesmo. Vamos lá. 

ACCEPT_KEYWORDS="~x86" emerge bootsplash

etc-update

Copie esse comando , cole no seu xterm e precione enter:

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

Depois digite: 

rc-update add bootsplash default

Agora vamos as opçoes do grub.conf, o meu ficou assim. 

# Sample boot menu configuration file

#

# Boot automatically after 30 secs.

timeout 30

# By default, boot the first entry.

default 0

# Fallback to the second entry.

fallback 1

# For booting GNU/Linux

title  GNU/Linux

root (hd0,0)

kernel /vmlinuz root=/dev/hda1 video=mtrr,vesafb:1024x768 vga=0x317 splash=silent

initrd=/boot/initrd-1024x768

# For installing GRUB into the hard disk

title Install GRUB into the hard disk

root    (hd0,0)

setup   (hd0)

Caso queria mais informações, 

https://forums.gentoo.org/viewtopic.php?t=49036

http://www.bootsplash.org/

----------

## Mythos

... nem sempre muitas para o hardened-dev-sources-2.6.7-r2 tive que sacar isto da página da bootsplash:

bootsplash-3.1.4-2.6.7-r2.diff

como não dá para fazer um simples patch...

```

patch -N -p1 < bootsplash-3.1.4-2.6.7-r2.diff

```

e fica bem ...

depois nunca se faz ACCEPT_KEYWORDS!!!

Foi logo das primeiras coisas que me ensinaram,

```
 mkdir /etc/portage
```

 depois

```
echo "media-gfx/bootsplash ~x86" >> /etc/portage/package.keywords

```

segundo para que o package.keywords se a lista do gentoo tem lá a ultima versão como +

e depois sim o resto que tens.

----------

## codemaker

 *Mythos wrote:*   

> 
> 
> depois nunca se faz ACCEPT_KEYWORDS!!!
> 
> Foi logo das primeiras coisas que me ensinaram

 

eheheh

Também não é bem assim. É preciso é ter cuidado. O problema de usar ACCEPT_KEYWORDS na linha de comandos, por exemplo:

```

# ACCEPT_KEYWORDS="~x86" emerge pacote

```

é que se o pacote tiver dependências, o ACCEPT_KEYWORDS tembém vai afectar as dependências. Quanto usamos o ~x86 estamos a assumir o risco de ter instalado um pacote que pode ainda não estar estável. Ao afectarmos também as depedências, podemos estar a instalar várias pacotes instáveis e alguns podem ser utilizados por outros programas que não podem não se comportar muito bem com as versões mais recentes dessas dependências. É preciso é ter muito cuidado.  :Wink: 

----------

## fernandotcl

 *codemaker wrote:*   

> Quanto usamos o ~x86 estamos a assumir o risco de ter instalado um pacote que pode ainda não estar estável. Ao afectarmos também as depedências, podemos estar a instalar várias pacotes instáveis e alguns podem ser utilizados por outros programas que não podem não se comportar muito bem com as versões mais recentes dessas dependências. É preciso é ter muito cuidado. 

 

Um dos problemas é fazer o seguinte:

```
ACCEPT_KEYWORDS="~x86" emerge foobar

emerge -uD world
```

Isso promoveria o downgrade do foobar para a última versão estável. O ideal seria "-UD", mas isso não funciona se algum pacote foi instalado com ACCEPT_KEYWORDS (pelo menos não funcionava antes de eu descobrir isso do package.keywords), então o usuário é obrigado à fazer um "emerge -U world", que não atualiza todos os pacotes disponíveis, só os com dependências simples.

Outra coisa, um pacote instalado com ACCEPT_KEYWORDS vai ficar mais tempo desatualizado, e isso pode trazer um furo de segurança. Isso é o mais perigoso, mas é difícil acontecer. Por exemplo, um usuário faz '"ACCEPT_KEYWORDS="~x86" emerge foobar' e com isso instala foobar 3.8. Digamos que a versão estável é 3.5. De repente, percebe-se uma falha de segurança, e lançam patches para os programas, que passam a ficar como 3.8.1 e 3.5.1 nas duas árvores, respectivamente. Durante um "emerge -U world", o pacote 3.8 que está instalado não vai receber um downgrade e ir para 3.5.1, nem atualizará para 3.8.1 porque não estamos usando ACCEPT_KEYWORDS. Então, o pacote pode ficar muito tempo sem updates cruciais. Isso pode significar a perda de um update de um exploit que pode tornar sua máquina vulnerável. Logicamente que as chances de isso acontecer são mínimas, mas num sistema tão confiável uma falha dessas é imperdoável.  :Wink: 

----------

## codemaker

 *fernandotcl wrote:*   

> 
> 
> Outra coisa, um pacote instalado com ACCEPT_KEYWORDS vai ficar mais tempo desatualizado, e isso pode trazer um furo de segurança. Isso é o mais perigoso, mas é difícil acontecer. Por exemplo, um usuário faz '"ACCEPT_KEYWORDS="~x86" emerge foobar' e com isso instala foobar 3.8. Digamos que a versão estável é 3.5. De repente, percebe-se uma falha de segurança, e lançam patches para os programas, que passam a ficar como 3.8.1 e 3.5.1 nas duas árvores, respectivamente. Durante um "emerge -U world", o pacote 3.8 que está instalado não vai receber um downgrade e ir para 3.5.1, nem atualizará para 3.8.1 porque não estamos usando ACCEPT_KEYWORDS. Então, o pacote pode ficar muito tempo sem updates cruciais. Isso pode significar a perda de um update de um exploit que pode tornar sua máquina vulnerável. Logicamente que as chances de isso acontecer são mínimas, mas num sistema tão confiável uma falha dessas é imperdoável. 

 

Mas nesses casos acontece o mesmo se usarmos package.keywords

----------

## fernandotcl

 *codemaker wrote:*   

> Mas nesses casos acontece o mesmo se usarmos package.keywords

 

Eu acredito que não. O correto é que o Portage observe o package.keywords e caso os keywords de um pacote sejam diferentes, atualizar cada pacote no arquivo com as devidas keywords.

Outra utilidade disso é para quem tem a árvore x86 e prefere ter alguns pacotes como x86. Se o Portage não agisse como descrevi, os pacotes nunca seriam atualizados.

Pra saber, só testando ou olhando o código.  :Wink: 

----------

## Matheus Villela

 *Kobal wrote:*   

> O primeiro passo e aplicar o patch do Con Kolivas, pois foi o que tive sucesso para configurar o Bootsplash, http://members.optusnet.com.au/ckolivas/kernel/
> 
> Pra aplicar o patch e facil, coloque ele em /usr/src , descompacte com 
> 
> bunzip2  patch-2.6.7-ck5.bz2 .
> ...

 

Olá, boa dica pra quem tá fazendo seu mini how-to  :Wink: 

Só nessa parte tem o seguinte, esse patch acaba colocando outras paradas, tá certo que dá pra deixar todas desabilitadas, mas vou passar a dica pra quem estiver com problemas em usar esse patch:

http://www.bootsplash.de/files/bootsplash-3.1.4-2.6.7.diff

Mencionado no tópico do how to do framebuffer e bootsplash( https://forums.gentoo.org/viewtopic.php?t=49036 )

Parece que a opção pra aparecer no menu e configurar pro bootsplash ser suportado pelo kernel está dependente de uma config que foi tirada do kernel 2.6.7(estou supondo pois não achei ela) que é a opção REGPARM.

Pra poder aplicar esse diff e habilitar o bootsplash antes de aplicar o diff é só abrir ele num editor de texto e na linha 130 onde está:

```
+   depends on FRAMEBUFFER_CONSOLE=y && FB_VESA && (REGPARM=n || X86_64 || !X86) && BLK_DEV_INITRD=y
```

Modificar para:

```
+   depends on FRAMEBUFFER_CONSOLE=y && FB_VESA && BLK_DEV_INITRD=y
```

Que a opção para o bootsplash vai aparecer normalmente onde deveria.

Estou trocando para o 2.6.7 agora, suponho que não vai dar problemas com isso  :Very Happy: 

#########edit#########

:'(

Não deu certo, consegui botar o frambuffer nos trinques, só falta conseguir botar o bootsplash pra rodar direito, já tentei com o bootsplash em default e no boot mas nada, dá uma saída no boot dizendo que não achou um initrd correto mas eu fiz os lances certinho.

Acho que vou esperar pra quando for trocar pro 2.6.8, framebuffer por enquanto já tá de bom tamanho  :Very Happy: 

----------

## anunakin

Fiz um tutorial na época que usava Slackware, e me serviu perfeitamente agora no Gentoo:

http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=894

OBS: Para quem usa o genkernel, ele já habilita o bootsplash no kernel....

----------

## Kuartzer

epa, a parte de nunca se usar acept keywords é mais ke subjectiva... tenho um sistema todo ~x86, com excepção do gcc, do glibc e mais uns pacotes de sistema (poucos) e é  perfeitamente estavel, e já anda assim desde o 1.4rc3...

kem te disse ke nunca se usa ou teve uma muito ma expriencia, ou estava mal informado... se usado com cabeça e perfeitamente seguro e estavel e bastante mais up to date...

ainda por cima com as use e mask per package agora, ainda menos há para duvidar... man portage ( a parte do /etc/portage)

----------

## fernandotcl

Eu uso ~x86 também.  :Very Happy: 

O perigoso não é usar ~x86, e sim ACCEPT_KEYWORDS como variável de ambiente individual para cada pacote. Misturar keywords com segurança só com package.keywords.  :Wink: 

----------

## Kuartzer

pois, so que, como eu disse, ja uso ~x86 desde 1.4rc3, e como deves saber ainda nao havia package.keywords (so a partir de portage v2.0.50 salvo erro). Percebes agora tudo  o que escrevi...  :Smile: 

----------

## fernandotcl

 *Kuartzer wrote:*   

> pois, so que, como eu disse, ja uso ~x86 desde 1.4rc3, e como deves saber ainda nao havia package.keywords (so a partir de portage v2.0.50 salvo erro). Percebes agora tudo  o que escrevi... 

 

Claro. Aliás, eu recomendo ~x86. Eu só tenho problema com um pacote, o pam-0.77-r1, o resto está rodando perfeitamente. Eu descobri que eu acabava usando muitos pacotes ~x86, então eu preferi migrar de uma vez e estou contente com isso.

----------

## cohn

 *Mythos wrote:*   

> 
> 
> depois nunca se faz ACCEPT_KEYWORDS!!!
> 
> Foi logo das primeiras coisas que me ensinaram,
> ...

 

Estou iniciando agora no Gentoo, já uso a muito o Linux, mas sempre com rpm (que já usava bem)

Estou com algumas dúvidas, o manual do portage que achei (gentoohandbook) me deixou com várias dúvidas...

Há como saber a que 'pacote' pertence um arquivo? Como no $ rpm -qf /qualquer/arquivo ?

----------

## Kuartzer

"emerge gentoolkit" e depois, e.x., "qpkg -f /etc/passwd".

----------

## anunakin

1- O kernel dev-gentoo (2.6. :Cool:  padrão do Gentoo já vem com o patch do Bootsplash... é só instalar o bootsplash

emerge media-gfx/bootsplash

rc-update add bootsplash boot

2- Instalar uns temas

emerge media-gfx/bootsplash-themes

3- Configurar o GRUB:

na linha do kernel acrescente: 

splash=silent video=mtrr, vesa:1024x768 vga=0x317

 :Cool:   O modo Gentoo de fazer as coisa é mais fácil

4- Fiz dois temas para bootsplash (o ThinkLinux e o KuruminOrgBR) ambos podem ser baixados em: http://www.bootsplash.de (O ThinkLinux já vem no pacote media-gfx/bootsplash-themes!   :Wink:  )

----------

## Mythos

Os developers do gentoo-dev-sources optaram pelo splash e descontinuaram o bootsplash.

```
 This document describes how to get fbsplash up-n-running in a fast and 

 painless way.

 0) Preparation. Make sure you that you either have your ACCEPT_KEYWORDS set 

    to ~<your_arch> (eg. ~x86) or that you add:

      sys-kernel/gentoo-dev-sources ~x86

      media-gfx/splashutils ~x86  

    to your /etc/portage/package.keywords.

 1) Install the latest Gentoo kernel sources:

    # emerge gentoo-dev-sources

 2) Configure, build and install your kernel:

    # cd /usr/src/linux

    # make menuconfig

    # make

    # make install modules_install

 3) Install splashutils:

    # emerge splashutils

 4) Create an initramfs image for fbsplash:

    # splash_geninitramfs -v -g /boot/fbsplash-emergence-1024x768 -r 1024x768 emergence

    

 5) Configure your bootloader: (instructions for grub)

    # cd /boot/grub

    

    Edit menu.lst, find the entry for your kernel, and put 'splash=silent,theme:emergence' 

    onto the kernel command line. You should get something like this:

    title Gentoo Linux (g-d-s 2.6.8.1)

        root (hd0,4)

        kernel /boot/gentoo-2.6.8.1 ro root=/dev/hda1 video=vesafb:ywrap,pmipal,1024x768-32@85 splash=silent,theme:emergence

        initrd /boot/fbsplash-emergence-1024x768

   

 This is it. Reboot and enjoy fbsplash :)
```

----------

