# [mini howto] Genkernel avec gensplash

## bouleetbil

Howto gensplash avec genkernel

1. Taper dans une console:

# rm /usr/src/linux (permet de supprimer un ancien lien vers un ancien noyau)

# emerge gentoo-sources (télécharge les sources du noyau)

# cp /usr/share/genkernel/x86/kernel-config-2.6 /usr/src/linux/.config

# cd /usr/src/linux

# make oldconfig

# make prepare

# emerge splashutils

Installation des différents thèmes:

# emerge splash-themes-gentoo

# emerge splash-themes-livecd

Compilation du noyau:

# genkernel --menuconfig --gensplash=emergence --install all

Vérifier ces options dans Device Drivers -> Graphics Support. Il faut activer:

Support for frame buffer

vesa vga graphics support

vesa driver type (vesafb-tng)

(1024x768-32@70)vesa default mode

Support for the framebuffer splash

2. Configurer grub de cette manière:

title Gentoo-2.6.12-gentoo-r4(Udev)

root (hd0,0)

kernel /boot/kernel-genkernel-x86-2.6.12-gentoo-r4 ro root=/dev/ram0 udev nodevfs real_root=/dev/hdc1 init=/linuxrc splash=silent,fadein,theme:emergence quiet CONSOLE=/dev/tty1

initrd /boot/initramfs-genkernel-x86-2.6.12-gentoo-r4

```
splash=silent,fadein,theme:emergence
```

Il suffit d'ajouter cette option à grub pour activer le frambuffer. Remplacer "emergence" par le theme choisi. "silent" permet d'avoir la barre de progression, si vous désirez observer les messages au démarrage il suffit de remplacer "silent" par "verbose"

Sa marche chez moi en tous cas  :Laughing:  

----------

## kwenspc

hum...bizarre ça ne me créer pas d'initramfs dans /boot 

et l'utilitaire splash_geninitramfs est loin d'être très causant  :Laughing: 

----------

## kwenspc

ah oui au fait tu as oubliés de précisier qu'on doit emerge splash-themes-gentoo   :Wink: 

(et splash-themes-livecd aussi pourquoi pas)

----------

## bouleetbil

 *kwenspc wrote:*   

> hum...bizarre ça ne me créer pas d'initramfs dans /boot 
> 
> et l'utilitaire splash_geninitramfs est loin d'être très causant 

 

bizarre genkernel doit le créer automatiquement dans /var/log/genkernel.log il n'y a pas d'erreur?

 *kwenspc wrote:*   

> 
> 
> ah oui au fait tu as oubliés de précisier qu'on doit emerge splash-themes-gentoo 
> 
> (et splash-themes-livecd aussi pourquoi pas)

 

Ah oui c'est vrai je le rajoute  :Embarassed: 

----------

## kwenspc

erf, en même temps je suis toujours sur la 3.1.6 alors forcément... 

tiens d'ailleurs à ce propos, j'ai le splash qui marche nicquel cependant en verbose je ne vois pas l'outpu du chargement du kernel justement   :Confused: 

j'ai cette erreur (de mémoire):

```

Could not load font from (null)

could not load 26 pt font 

```

et je ne sais pas d'où ça vient. j'ai essayé de mettre une font dans le noyau (via le menu "graphic support et une sous section à propos de Console display je crois).

Mais sinon ça tourne bien. à part cette erreur qui ne me permet pas de voir l'output kernel   :Sad: 

----------

## bouleetbil

 *kwenspc wrote:*   

> 
> 
> ```
> 
> Could not load font from (null)
> ...

 

Regarde là https://forums.gentoo.org/viewtopic-t-354604-highlight-font+splash.html et là https://bugs.gentoo.org/show_bug.cgi?id=97838

----------

## kwenspc

mouais c'est louche. ça n'a rien changé   :Confused: 

tiens sinon l'intramfs : ça fait planter sofware suspend 2  :Shocked: 

obligé de ne pas l'utilisé si je veux que mon mode hibernation fonctionne correctement. 

(je précise que j'ai lu ton post sur genkernel, suspend 2 et fbsplash : rien n'y fait)

----------

## bouleetbil

Quand tu dis sa plante sa fait quoi et a quel moment?

Dans /var/log/hibernate.log y a quoi?

----------

## Deadog

ça n'a pas régler mon autre problème non plus :/

https://forums.gentoo.org/viewtopic-p-2591940.html#2591940

----------

## kwenspc

bah disons que le plantage en question avec l'initramfs c'est qu'il ne detecte pas de signature suspend2 au moment de rebooter le pc après qu'il ai été mis en hibernation.

donc c'est pas top quoi.

Mais bon : sans initramfs ça tourne donc ça va.

et puis après tout : il sert à quoi cet initramfs? parce que je vois aucune différence que ce soit avec ou sans.

----------

## Deadog

ce n'est pas lui qui est censé contenir les modules nécessaires au boot ainsi que le splash ?

----------

## kwenspc

ben justement non. parce que sans initramfs j'ai tout qui fonctionne (le splash, suspend 2 et tout le toutim!)

alros qu'avec j'ai le splash mais supsend 2 qui merdoie

----------

## bouleetbil

 *kwenspc wrote:*   

> 
> 
> ```
> 
> Could not load font from (null)
> ...

 

J'ai fais un test avec les gentoo-sources j'ai le même problème mais j'utilise les morph-sources depuis peu et la pas de problème pour la même configuration. Peut etre un bug des gentoo-sources  :Question: 

----------

## bouleetbil

 *kwenspc wrote:*   

> bah disons que le plantage en question avec l'initramfs c'est qu'il ne detecte pas de signature suspend2 au moment de rebooter le pc après qu'il ai été mis en hibernation.
> 
> donc c'est pas top quoi.
> 
> Mais bon : sans initramfs ça tourne donc ça va.
> ...

 

Tu as bien modifié linuxrc de genkernel et ajouté 

```
echo > /proc/software_suspend/do_resume
```

apres mount -t proc proc /proc

Fais voir ton linuxrc et ton menu.lst

Le initramfs sert à charger des modules par exemple si ta partition root est en xfs et que xfs est compilé en module cela permet de charger ce module afin de monter ta partition root. Idem pour les pilotes, par exemple un disque sata.

Le initramfs n'est pas obligatoire. Cela permet de convenir à un maximum de configurations sans tout compiler en dur.

----------

## kwenspc

oué j'ai suivi ton tuto à la lettre.

bon dans tout les cas l'initramfs j'en ai pas besoin puisque je mets tout les drivers dont j'ai besoin en dur dans le noyau (au moins les drivers vitaux pour le démarrage).

----------

## bouleetbil

 *kwenspc wrote:*   

> oué j'ai suivi ton tuto à la lettre.
> 
> bon dans tout les cas l'initramfs j'en ai pas besoin puisque je mets tout les drivers dont j'ai besoin en dur dans le noyau (au moins les drivers vitaux pour le démarrage).

 

Donc, a la limite t'a pas besoin d'initramfs par contre tu peux faire voir ton linuxrc et ton menu.lst  j'ai peut être oublié un truc dans le howto?

Au démarrage avant de loader les modules de l'initramfs t'a pas de message comme quoi suspend2 a été détecté?

----------

## kwenspc

bon si ça peus te faire plaisir...

j'ai bien ajouté la ligne machine truc dans le /usr/share/genkernel/generic/linuxr

```

mount -o remount,rw /

mount -t proc proc /proc

echo > /proc/software_suspend/do_resume

```

et voilà mon grub.conf 

```

default 0

timeout 10

splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title=Nux!

root (hd0,0)

kernel /kernel-genkernel-x86-2.6.12-suspend2-r3 init=/linuxrc real_root=/dev/hdc5 video=vesa:ywrap,mtrr acpi_irq_balance pci=routeirq udev resume2=swap:/dev/hdc6 splash=silent,fadein,theme:emergence quiet CONSOLE=/dev/tty1

#initrd /initramfs-genkernel-x86-2.6.12-suspend2-r3

```

[edit]

au fait dans ton hibernate.conf t'es pas obligé de gardé "FBSplashTheme suspend2"  tu peus modifier la valeur, plutôt que de faire un lien cradoc  :Wink:  genre tu mets "emergence" et voilà. non?

[/edit]

----------

## Deadog

rien à faire pour mon /dev/fb0 non trouvé  :Sad: 

j'ai tenté sans initramfs, la phase boot foire totallement (seg fault en tout genre)

----------

## kwenspc

@bouletbill: ça marche. j'ai l'initramfs et ça marche. va savoir pourquoi...j'ai refait un genkernel trucmuche machin chouette (oui parce que y a pas mal d'options...) et decommenté la ligne dans mon grub.conf : ça marche. bref résolu pour moi.

@Deadog: ben ton problème déjà c'est que tu n'as pas le frame-buffer de bien configurer. du coup ni le frame buffer ni encore moins le splash peuvent tourner.

----------

## Deadog

huum, en effet, problème réglé

j'avais stupidement mis le VESA en module  :Rolling Eyes: 

ça marche maintenant, et ça claque  :Cool: 

----------

## bouleetbil

 *kwenspc wrote:*   

> 
> 
> [edit]
> 
> au fait dans ton hibernate.conf t'es pas obligé de gardé "FBSplashTheme suspend2"  tu peus modifier la valeur, plutôt que de faire un lien cradoc  genre tu mets "emergence" et voilà. non?
> ...

 

Si surement j'ai pas essayé  :Idea:  j'avais trouvé ca sur le site de suspend2 je crois

 *Deadog wrote:*   

> 
> 
> huum, en effet, problème réglé
> 
> j'avais stupidement mis le VESA en module 
> ...

 

Tant mieux  :Very Happy: 

----------

