# [Kernel] Nouvelle compile

## ShreCkito

Bonsoir  :Smile: 

Bien, le problème que j'ai à vous exposer est clairement simple et peut-être pas. (Bonne entrée en matière).

Illustration :

Ca fait quelques moi que ma Gentoo tourne au poil, au milimètre près, ou presque : mon noyau a été compilé avec Genkernel.

Avant cela, je n'ai jamais eut de Gentoo qui tourne aussi bien. Les perfs, la stabilité, rapidité, mon accélération, ma 3D : Tout marche.

De quoi je me plains alors, je vous l'accorde ?!

Si je suis sur Gentoo, c'est parce que j'aime bien fouiller, trifouiller, farfouiller ... Et parce que l'idée de tout contrôler et de faire tourner le minimum vital me plait ! Genkernel donc, est pas super jouissif pour moi, même s'il me permet d'avoir une gentoo qui marche nickel.

J'ai donc emerger le dernier kernel que j'ai trouvé : 2.6.23-gentoo-r8 pour être précis. Et je l'ai compilé manuellement ...

Et magie, au démarrage, écran noir. Je n'ai jamais réussi à avoir une Gentoo parfaite de cette manière, à mon grand désarroi.

Il fut un temps ou l'accélération ne marchait pas, a dieu Compiz et autres donc.

Outre ça, j'aimerai donc compiler un kernel parfait. Mais comment faire ?! (Ma requête est là en fait, tout ce barratin pour ça, oui pardon   :Confused:  )

- Est-il possible de copier la config du Genkernel directement, et que je désactive tout ce qui ne me parrait pas utile manuellement, un à un ?

- Ou comment ne rien oublier ? lsmod, dmesg, lsusb, config hardware ... Comment lister tout ce que je dois activer ??

Les tuto sur le kernel ne m'ont jamais été secourable, puisqu'ils sont relativement généraliste, et que je suis probablement trop abruti ...

Vous me renverrez peut-être à ces dits-tuto, et si c'est le cas, c'est que je dois faire les choses vraiments mal pour ne pas y arriver. Mais peut-être quil y a d'autres astuces pour m'aider.

----------

## GentooUser@Clubic

Copier la config de genkernel dois être possible (normalement tu peut récupérer la config du noyau courant dans /proc/config.gz).

Pour ne rien oublier oui tout ce que tu a cité est valable.

Perso je n'ai jamais utilisé genkernel, la première install de gentoo, j'ai suivi le tuto de recompilation du noyau de la doc de... Debian.

Y'a toujours des zones d'ombres, mais maintenant je m'en sort plutôt bien.

Perso à ta place j'insisterais avec ton noyau configuré de zéro, faut juste placer des étapes (1: arriver a booter sans fb, 2: activer le fb, 3: faire marcher le son...)

Si y'a des options dont tu doute (Général Setup, Networking...) n'hésite pas a poster et demander de l'aide.

Au début se sera dur mais après tu sera beaucoup plus à l'aise avec les options du noyau   :Wink: 

----------

## nexus6

Bonsoir ShreCkito,

On ne peut vraiment te conseiller car, chaque architecture matérielle est propre à chacun et, qui plus est, tout "se module" selon ce que l'utilisateur du sytème souhaite faire en terme de finalités.

Tu dois effectivement connaître ton hardware (un lsmod avec ton genkernel devrait suffire si tu dis que celui-ci reconnait tout ton matériel).

Après, il faut du temps la première fois pour compiler le noyau que tu as emergé. Le handbook est là pour t'aider à finaliser le processus d'installation (ne pas oublier le system.map), ainsi que les aides dans la configuration du noyau si tu as un doute sur une option, la plupart du temps, l'option par défaut est alors conseillé.

Bon courage!   :Wink: 

----------

## ghoti

 *nexus6 wrote:*   

> (ne pas oublier le system.map)

 

Heu non, au contraire, ne pas trop se préoccuper du system.map : il ne sert pas à grand chose en dehors du débuggage  :Wink: 

----------

## nexus6

C'est que, au début de mon installation (et j'y suis encore   :Laughing:  ) le boot affichait des erreurs que j'ai toutes corrigées (car j'ai horreur de ça   :Evil or Very Mad:  ), en l'occurence :

```
 FATAL : Could not open '/system.map' : No such file or directory 
```

Et tu peux me croire, j'ai du installer une dizaine de fois gentoo en stage 3, car je me disais que j'avais loupé un truc. Mais à chaque fois que je suivais le handbook, cette erreur apparaissait.

J'ai demander à mon ami google comment faire   :Razz:  Et j'ai fini par copier le system.map dans la partition boot, avec un lien symbolique.Et là, plus d'erreur (une de moins me disais-je). Maintenant que c'est clean, je peux passer à la configuration X (jusqu'à la prochaine erreur   :Laughing:  )

----------

## GentooUser@Clubic

make install pour installer le noyau proprement dans /boot avec le System.map une copie de la config  et sauvegarde de l'ancien noyau  :Wink: 

----------

## nexus6

 *GentooUser@Clubic wrote:*   

> make install pour installer le noyau proprement dans /boot avec le System.map une copie de la config  et sauvegarde de l'ancien noyau 

 

Moi je faisais :

```

make -j3

make modules_install
```

Tiens, en parlant de ça, je viens d'emerger xdm, et après un reboot, la même erreur refait son apparition ! Grrrrrrrrrr

----------

## GentooUser@Clubic

Moi :

```
make && make install && make modules_install
```

Et jamais eu de problème de System;map, t'a pas une option de debug en trop dans ton noyau ?

----------

## nexus6

 *GentooUser@Clubic wrote:*   

> Moi :
> 
> ```
> make && make install && make modules_install
> ```
> ...

 

Et bien justement, j'ai viré le maximum de routines de debuggage dans mon noyau, car déjà avec LVM2, il y a un fsck par defaut à chaque boot, j'ai voulu raccourcir le temps de démarrage.

Le handbook indique uniquement ces deux commandes.

----------

## GentooUser@Clubic

 *Quote:*   

> Lorsque la compilation est terminée, copiez l'image du noyau dans /boot. Nommez votre noyau comme bon vous semble, mais retenez le nom que vous lui donnez, car vous devrez l'utiliser quand vous configurerez votre chargeur de démarrage. N'oubliez pas de remplacer kernel-2.6.19-gentoo-r5 par le nom et la version de votre noyau.

 

make install remplace cette étape, il copie le noyau dans /boot/kernel-version et met un lien vmlinuz qui pointe vers lui.

Ensuite configurer grub pour charger le noyau vmlinuz et il chargera toujours le dernier noyau compilé (prévoir une section "Rescue" qui charge un noyau dont on est sûr qu'il marche   :Laughing: ).Last edited by GentooUser@Clubic on Wed Feb 20, 2008 8:36 pm; edited 1 time in total

----------

## nexus6

En effet, c'est plus cool comme ça !   :Laughing: 

Je pensais que vmlinuz c'était que pour genkernel, bah je vais tester ça   :Wink: 

Merci !

----------

## ShreCkito

Bon, je me suis bel et bien acharné ...

Et j'ai fait petit à petit, comme conseillé  :Smile: 

Le Bilan : L'artillerie lourde fonctionne --> Mes drivers nVidia sont d'attaques, mon acceleration avec.

              L'artillerie légère déconne --> Impossible d'avoir un joli boot propre. Les options que je passe a mon grub semblent mal aimée. (A savoir : 

```
kernel /boot/kernel-2.6.23-gentoo-r8 root=/dev/hda3 vga=0x318 video=vesafb:mtrr:3,ywrap
```

).

C'est comme si j'avais posé les murs, sans faire les fondations  :Mad: 

Mon lsmod ne me dis plus que "nvidia" alors que j'avais une floppée de module lancés avant "grâce à" Genkernel. Y en a peut-être qui servait tout compte fait ...

Si quelqu'un sait ce qu'il me faut pour mes options d'affichage ??

Merci de vos réponses rapides en tout cas, et encourageante  :Smile: 

----------

## GentooUser@Clubic

Pour l'affichage il te faut un initrd avec ton thème et quelques options de plus.

Pour le thème http://gentoo-wiki.com/HOWTO_fbsplash#Loading_initramfs_at_boot_.28recommended.29

Mon grub.conf (extrait)

```
title=Gentoo Linux

        root (hd0,0)

        kernel /vmlinuz root=/dev/sda2 video=uvesafb:1600x1200-32@75,mtrr:3,ywrap console=tty1 splash=verbose,theme:gentoo

        initrd /fbsplash-gentoo-1600x1200

```

uvesafb est le successeur de vesafb, mais je ne sait pas si il est dans le 2.6.23.

Pour le noyau tu trouvera toutes les options d'affichage dans Device Drivers -> Graphics support après ça dépend de ton matos, mais si tu as une carte nvidia tu peut virer le DRI, et surtout n'utilisa pas nvidiafb pour le frame-buffer.

Pour les modules ça veut rien dire, moi tous ce qui sera chargé a coup sur au démarrage je le met en dur, du coup j'ai peu de modules.

----------

## gglaboussole

salut,

un lien très sympa pour comprendre les options du noyau et en français svp : http://docs.mandragor.org/files/Operating_systems/Linux/Guide_d_installation_et_de_configuration_de_Linux_fr/a9567.html#AEN9572

moi il m' a beaucoup servi...il n'est pas fait mention des toutes dernières options du kernel mais ç'est déjà une bonne base

EDIT: Tu as un ouvrage de référence que tu peux emerger : emerge linux-kernel-in-a-nutshell

c'est le mode d'emploi de A à Z pour la compilation du noyau, et pour les options nouvelles ajoutées au fur et à mesure tu les trouveras ici pour chaque nouvelles versions de noyau :

http://kernelnewbies.org/Linux

ainsi tu pourras juger de l'opportunité de les activer ou pas

----------

## ShreCkito

Merci à vous trois pour les astuces et les liens.

Tout marche "impeccablement" bien   :Very Happy: 

J'ai l'impression d'une lenteur video par rapport à l'autre noyau, peut-être des modules à charger, je testouillerai tout ça. Mais le travail accompli colle déja plus avec mon éthique et genkernel posait quelques soucis pour certaines options.

Merci encore  :Wink: 

----------

