# [Installation Gentoo] Configurer les modules

## Robert le trépané

Salut !

Alors voilà, après avoir re-compilé mon noyau pour avoir mon framebuffer je n'ais plus mes modules qui se lancent au demarrage.

Quand je fais : 

```

#lsmod

Modules                           Size   Used   by       Not tainted

```

Il n'y a rien   :Crying or Very sad: 

J'ai donc relu la documentation pour installer gentoo et en suivant le chapitre consacré à la configuration des modules j'en suis arrivé à configurer le fichier /etc/modules.autoload.d/kernel-2.4 et j'y ait ajouté :

```

serial_cb

tulip_cb

cb_enabler

ds

i82365

pcmcia_core

floppy

seril

isa-pnp

usb-storage

hid

uhci

usbcore

```

Ensuite j'exécute la commande modules-update :

```

depmod : *** Unresolved symbols in /lib/modules/2.4.26/misc/svgalib_helper.o

depmod : *** Unresolved symbols in /lib/modules/2.4.26/net/8390.o

depmod : *** Unresolved symbols in /lib/modules/2.4.26/pcmcia/3c574_cs.o

...

il y en a beaucoup

```

Voilou, est ce que qqun aurait une idée même toute petite pour resoudre se problème ?  :Wink: 

----------

## bassman_fr

as-tu compilé ton noyau avec les bonnes options ?

----------

## Robert le trépané

Et bien je pense que oui mais vu que ça ne marche pas j'ai forcement du oublier quelque chose.  :Confused: 

A quoi ça pourrait être du ?

----------

## romary

Bonjour, 

je suis pas forcement un gourou des modules, mais j'ai eu l'occasion de compiler des modules un peu exotiques, et je me suis apercu que lorsque l'on a un message du type

```
Unresolved symbols 
```

venant de depmod,  c'est pas bon signe....

En clair cela veut dire que les modules essaient d'utilise des "symbols " ( qui peuvent etre des fonction ou des variable) externe au module qui n'existe pas a l'exterieur du module ( dans le kernel par ex..).

Bref en d'autre mot cela peut arriver pour 2 raisons:

    -Le module est mal fichu, n'a pas atteint une stabilite suffisante pour est compilable dans tous les cas.... et fait appel a des fonctions qui n'existent pas.... ( cela n'a pas lair d'etre ton cas car il s'agit de module du kernel, et donc suppose etre fiables)

    -Le module n'a pas ete compile avec la version du noyeau pointe par /usr/src/linux... Cela est souvent due a une erreur de manip lors de la compilation du noyeau... par ex l'oublie de 

```
make modules_install
```

pendant le compilation . Cela entrainerait l'utilisation des modules dans /lib/modules/ qui viennent d'une compilation anterieur a celle de ton noyeau....

Bref pour pouvoir t'aider il me faut savoir exactement comment tu as compiler le kernel ( genkernel? ou pas a pas a la main?)

----------

## yoyo

 *Robert le trépané wrote:*   

> A quoi ça pourrait être du ?

 

As-tu bien coché cela dans ton "menuconfig" ??

 *Quote:*   

> Loadable module support  ---> Enable loadable module support
> 
>  Kernel module loader

 

Si c'est le cas, fais un "make modules modules_install" dans "/usr/src/linux" et retente le modules-update.

Normalement, tu n'as à ajouter dans ton "/etc/modules.autoload.d/kernel-2.x" que les modules qui ne sont pas chargés automatiquement par le noyau.

EDIT : romary a été plus rapide (et plus précis)   :Wink: 

----------

## Robert le trépané

Merci de repondre aussi vite   :Wink: 

J'ai compilé mon noyau à la main donc c'est fort probable qu'il y ait des erreurs. Je passe les options une à une pour voir si je n'aurais pas coché qqch que je n'aurait pas du ou inversement oublié de cocher qqch.   :Confused: 

Par exemple dans le menuconfig est ce qu'il faut cocher :

```

Loadable module support --->

   [*] Enable loadable modules support

   [*] Set version information on all mdule symbols

   [*] Kernel module loader

```

Sinon pour compiler j'ai fait :

```

# make dep  make bzImage  modules

# make modules_install

```

comme m'a conseillé gotha dans ce post https://forums.gentoo.org/viewtopic.php?t=164981&highlight=

Est ce que j'ai fais une mauvaise manip ?

----------

## Leander256

 *Robert le trépané wrote:*   

> Sinon pour compiler j'ai fait :
> 
> ```
> 
> # make dep  make bzImage  modules
> ...

 

Tu as un "make" qui traîne au milieu de la première ligne (entre dep et bzImage), je ne sais pas si c'est une faute de frappe, je ne sais pas non plus si ça peut poser u problème, mais il n'a rien à faire là.

----------

## romary

A priori pas de fause manip... du moins dans ce que tu as ecrit... mais il y a tellement de dependance entre les modules du noyeau que c'est pas facile de te guider....

deja tape 

```
depmod -a
```

et on aura une idee plus precise de ton probleme

----------

## yoyo

 *Leander256 wrote:*   

> Tu as un "make" qui traîne au milieu de la première ligne (entre dep et bzImage), je ne sais pas si c'est une faute de frappe, je ne sais pas non plus si ça peut poser u problème, mais il n'a rien à faire là.

 

En effet, et un "make clean" peut également être utile.

La syntaxe complète (pour un 2.4) serait donc :

```
make dep && make clean bzImage modules modules_install
```

----------

## Robert le trépané

J'avais bien fait :

```

# make dep  make bzImage  modules 

# make modules_install

```

Et ça marchais plutôt bien, c'était la première fois que le framebuffer marchait

Maintenant je vais reessayer de compiler mon noyau en utilisant cette fois :

```

# make dep && make clean bzImage modules modules_install

```

Merci de votre aide   :Wink: 

----------

## romary

Je pense pense que le mieu serait de reprendre les choses depuis le debut et de refaire la config du noyeau ( a partir d'un fichier de config vierge de modifs).... avec genkernel par exemple....

```
genkernel --menuconfig all
```

----------

## Robert le trépané

Effectivement ça serait peut être la meilleure chose à faire.

J'ai mis les vanilla-sources, et si j'ai bien compris, en fonction des sources, le menuconfig change ? 

Ou est ce que je pourrais trouver une aide avec les détail des options du menuconfig car il y en a beaucoup dont je ne connait pas l'utilité.   :Confused: 

----------

## yoyo

```
make dep && make clean bzImage modules modules_install
```

À noter que cette ligne de commande est extraite du manuel d'installation de Gentoo chapitre 7.c exemple de code 10 (certains diraient RTFM    :Twisted Evil:  ).

@romary : AMHA, l'utilisation de genkernel est très pratique au début mais il arrive toujours un moment où il faut savoir ce qui a été inclus dans le noyau et donc mettre les mains dedans. Je pense que passer par une configuration manuelle du noyau fait partie de l'apprentissage de linux. Il faut bien sûr y passer du temps (et le prendre) mais c'est une démarche qui permettra d'en gagner par la suite, sans compter le gain en compréhension du système et la fierté d'être parvenu à faire fonctionner soi-même sa machine comme on le souhaite (si si ça compte ...   :Wink:  ).

----------

## romary

tu utilise le kernel  2.4 ou 2.6?

----------

## romary

private message to yoyo:

J'ai mis les mains dans le cambouis il y a  pas mal de temps, mais je suis d'accord avec toi, il faut le faire sinon on comprend rien a rien apres...

Revenont sur genkernel... qui est tres bien foutu et qui ne permet pas de faire moins de choses.. donc... une fois les mains bien sales ca fait du bien de pouvoir utilise un util puissant et efficasse...

----------

## Robert le trépané

J'utilise le kernel-2.4.26 

En fait je veux pas utiliser genkernel, si j'ai bien compris c'est pour faire une configuration standard du noyau mais moi ce que je veux c'est compiler mon noyau moi même et surtout comprendre ce que je fais (ce qui est loin d'être le cas)  :Twisted Evil: 

Depuis le debut j'ai toujours compilé en utilisant 

```

make dep && make clean bzImage modules modules_install

```

Mais j'arrivais pas à faire marcher le framebuffer et en utilisant :

```

# make dep  make bzImage  modules 

# make modules_inst

```

mon framebuffer c'est miraculeusement mis à marché même si je ne sais pas si ça a un rapport.

----------

## yoyo

Visiblement, la config de "Robert le trépané" est correcte (framebuffer) et ça serait dommage qu'il ait passé tout ce temps à la faire pour finalement utiliser genkernel.

Je pense que la ligne de commande extraite du manuel d'installation suffira à résoudre son problème.

Maintenant, je ne lui en voudrai pas s'il utilise genkernel ... (mais qu'il ne vienne pas se plaindre ensuite   :Laughing:   :Laughing:  )

EDIT : encore grillé !!    :Confused: 

----------

## gotha

 *Robert le trépané wrote:*   

> 
> 
> Depuis le debut j'ai toujours compilé en utilisant 
> 
> ```
> ...

 

Non ca n'a aucun rapport, ce qui est correct est :

```
make dep && make clean bzImage modules modules_install
```

mais je ne pense pas que cela change quoique ce soit a ton probleme de module...

apres avoir mis a jour le kernel essaie :

```
modules-update
```

----------

## yoyo

Un doute m'effleure : peux-tu faire un "ls -l /usr/src/" et poster le résultat ??

----------

## Robert le trépané

HRP : vous pouvez m'appeller Robert ou le trépané ou bien encore Ribert le trépané   :Very Happy: 

Enfin bon je crois qu'effectivement j'ai mal configurer mon noyau. Vous verrez que j'ai fait un autre post pour expliquer mon bug d'affichage.

Je pense qu'il vaut mieux pour moi tout reconfigurer depuis le debut. 

J'ai rien du tout contre genkernel mais ça ne me dit vraiment rien du tout jveux vraiment le faire à la main.   :Very Happy: 

Maintenant pour être sur de pas faire de nouvelles boulettes, est ce qu'il est possible de tout remettre à zero ?

----------

## Robert le trépané

Hop 

```

ls -l /usr/src/

total 8

lrwxrwxrwx    1 root    root     12 Apr 21 17:11 linux -> linux-2.4.26

drwxr-xr-x   15 root    root  4096 Apr 27 12:38 linux-2.4.26

drwxr-xr-x     3 root    root  4096 Apr 2 21:49 xorg-x11-6.7.0

```

C'est grave docteur ?   :Cool: 

----------

## fafounet

il suffit que linux pointe vers le noyau que tu utilise, donc c´est bon

----------

## yoyo

 *Robert le trépané wrote:*   

> Maintenant pour être sur de pas faire de nouvelles boulettes, est ce qu'il est possible de tout remettre à zero ?

 Tu te places dans "/usr/src/linux" et tu fais un "make mrproper".

Comme son nom l'indique, il fait le ménage dans tes sources de noyau (tu perdras même ton fichier de config dans la bataille ...).

Bon courage.   :Wink: 

----------

## Robert le trépané

Yeah !!   :Twisted Evil: 

Génial je recommence tout proprement depuis le debut !  :Very Happy: 

Ou est ce que je pourrais trouver une doc qui explique à quoi sert les options du menuconfig pour être sur de cocher/decocher les bonnes options ?

----------

## fafounet

Pour chaque option tu te deplaces de deux crans vers la droite et tu as Help   :Very Happy: 

----------

## Robert le trépané

Tout simplement ultime   :Shocked: 

Genial super merci   :Wink: 

----------

## yoyo

Consulte également le manuel d'installation de Gentoo chapitre 7 pour être sûr de ne rien oublier d'essentiel ...

----------

## Robert le trépané

C'est devenu mon livre de chevet, je l'ai justement sous les yeux   :Wink: 

----------

## Bastux

Ah la compil de noyau...

Ya des tuto partout pour t'expliquer comment ça marche.

Surtout depuis le 2.6, c'est devenu fastoche comme tout.   :Cool: 

----------

## Robert le trépané

J'ai essayé de mêttre toute les options que je pense être nécessaire pour mon portable. J'ai enleve celle qui ne devait pas correspondre. J'ai fait attention de rajouter les options du manuel pour installer la gentoo.

Ensuite j'ai fait :

```

# make dep && make clean bzImage modules modules_install

... j'ai eut le temps de prendre un petit café  :wink: 

# cp arch/i386/boot/bzImage /boot/kernel-2.4.26

# cp System.map /boot/System.map-2.4.26

```

Ensuite je reboot.

Et la u demarrage de Lilo j'ai :

```

Loading gentooEBDA is big; kernel setup stack overlaps LILO second stage

```

 :Crying or Very sad: 

Je vais devoir rebooter sur le livecd pour essayer d'arranger les choses on dirait.

----------

## yoyo

Je ne connais pas très bien lilo, mais il me semble qu'il est nécessaire de le relancer après chaque modif de noyau ou de lilo.conf.

L'as-tu fait ???

Autre chose : as-tu une partition "/boot" ???

Si c'est le cas, tu as oublié de la monter lorsque tu as copié ton noyau ...

----------

## guilc

 *Quote:*   

> Loading gentooEBDA is big; kernel setup stack overlaps LILO second stage 

 

Je dirais qu'il faut activer le support du ramdisk pour les noyaux trop gros  :Smile:  Il me semble que ça résoud ce probleme...

----------

## Robert le trépané

 *Quote:*   

> 
> 
> Je ne connais pas très bien lilo, mais il me semble qu'il est nécessaire de le relancer après chaque modif de noyau ou de lilo.conf. 
> 
> L'as-tu fait ??? 
> ...

 

Enfer et damnation, je savais pas qu'il fallais relancer lilo après une modif du noyau !   :Sad: 

Il faut bien que je fasse : (je préfère toujours demander confirmation)

```

# /sbin/lilo

```

J'ai effectivement une partition /boot. Je doit faire ça ? :

```

# mount /boot 

# mv /boot/bzImage /boot/bzImage.old 

# cp ./arch/i386/boot/bzImage /boot

```

Quand j'ai essayé de faire /boot avant de copier, j'ai eut comme message que la partition était deja monté ou bien quelle était utilisé, c'est normal ?

 *Quote:*   

> 
> 
> Je dirais qu'il faut activer le support du ramdisk pour les noyaux trop gros  Il me semble que ça résoud ce probleme...
> 
> 

 

Mon noyau est trop gros ? Comment il s'appelle ce support dns le menuconfig ?

----------

## bosozoku

 *Robert le trépané wrote:*   

> Il fallais relancer lilo après une modif du noyau !  
> 
> Il faut bien que je fasse : (je préfère toujours demander confirmation)
> 
> ```
> ...

 

Oui c'est bien 

```
 # /sbin/lilo

# /sbin/lilo -v si tu veux plus de précisisions.
```

Non c'est pas tout à fait ça, une fois que tu auras monter ta partition /boot, il faudra reprendre tes fichiers dans /usr :

```
# mount /boot

# cp /usr/src/linux/System.map /boot/

# cp /usr/src/linux/arch/i386/boot/bzImage /boot/kernel-2.4.26

```

Et puis oublie pas de faire le /sbin/lilo après avoir mis les bons fichiers dans la /boot hein ?   :Wink: 

----------

