Probleme compilation de noyau

Fermé
timoty Messages postés 27 Date d'inscription vendredi 18 mars 2005 Statut Membre Dernière intervention 4 mai 2006 - 13 avril 2006 à 16:39
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 - 4 mai 2006 à 15:38
bonjours tous le monde

voila je me lance dans ma première compilation de kernel pour le boulot
je suis avec une fedora core 4 X86_64
mon noyau "2.6.11-1.1369_FC4"

lorsque je fais la commande j'ai le message suivant .....
make
CHK include/linux/version.h
SPLIT include/linux/autoconf.h -> include/config/*
CHK include/asm-x86_64/offset.h
make[1]: *** Pas de règle pour fabriquer la cible « init/main.o », nécessaire pour « init/built-in.o ». Arrêt.
make: *** [init] Erreur 2

Sa vous inspire quelque chose ????

8 réponses

kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 501
13 avril 2006 à 18:13
Sa vous inspire quelque chose ????

Pas grand chose sans infos de plus de ce que tu as fait exactement ?

Tu as tout fait comme il faut ? Tu as fait exactement quelle commandes (notamment toutes les "make ...") ?
Il faut que tu dise precisement ce que tu as fait, notamment ou et comment tu as pris les sources etc. ? Quelles commandes pour configurer ? Quelles commandes pour lancer la compilation ?

Tu as bien installe le compilateur gcc dans ton systeme ?
0
timoty Messages postés 27 Date d'inscription vendredi 18 mars 2005 Statut Membre Dernière intervention 4 mai 2006 8
18 avril 2006 à 12:18
Bonjours
merci de ta réponse
Désolé pour le manque d'information, j'ai écris le message rapidement avant de partir en w-e...
J'apporte un peux plus de précision et j'ai un petit peux avancé enfin je pense.
Bon voila je suis sur une Fedora core 4 X86_64
le kernel source 2.6.16.4 proviens de kernel.org
Je me suis crée un répertoire dans /usr/local/ et j'ai décompressé la source dans celui-ci
J'ai modifié la ligne extraversion du fichier Makefile

Voila les commandes précise que j'ai utilisé
make mrproper
make gconfig (j'ai juste enlever le module PCIMIA + save)
make dep (il me dit inutile pour le moment)
make clean
make bzImage (Tous à l'air de bien se passé il me redonne la main et mon image est crée dans arch/x86_64/boot/bzImage)

Puis je copie le fichier bzImage, .config, System.map dans /boot

make modules
make modules_install

J'ai Carte Scsi, alors je crée une image initrd
mkinitrd /boot/<version>.img /lib/modules/<version>

Puis j'ai rajouté une entrée dans mon grub.conf
reboot
je boot sur mon new kernel, pas de problème pour le demarrage
Je vérifie avec la commande uname tous est ok!!!
Par contre quand je redémarre
J'ai le message suivant
code : Bad EIP value
Init no more processes left in this runlevel

Et je suis obliger de reboot le pc manuellement

Voila je cherche des infos sur cette erreur si cela inspire quelqu'un
voila et si vous avez des conseils, des critiques, des suggestions sur ma démarche n'hésitez pas et j'éspère avoir été assez clair
merci et bonne ap!!!!
0
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 501
20 avril 2006 à 14:54
Il faut que tu prennes une config existente car par defaut ca ne marche pas bien si on ne configure pas soigneusement le noyau. Il faut que tu mettes pleins de trucs et sauf de tres bien connaitre ca, c'est assez dur.

Bref apres l'installation des sources et apres le "make mrproper" mais avant le "make gconfig" tu dois copier un fichier de config d'un ancien noyau qui marche bien vers le fichier ".config" dans le repertoire principal des sources. Typiquement on a dans le repertoire /boot/ des anciens fichiers config avec un nom: "config-<version_ancien_noyau>", alors avec ca tu fait:

make mrproper
cp /boot/config-<version_ancien_noyau> .config

et apres tu peux faire "make gconfig" et modifier de choses ou peut-etre faire "make oldconfig" (mais entre 2.6.14 et 2.6.15 il y a eu des modifs assez importantes pour iptables, il faut bien que tu reactives tous ces modules de netfilter pour le parefeu, notamment tout blabla avec "xptables" et "iptables" !!!! Peut-etre le "make gconfig" avec une bonne verifications pour les modules netfilter est mieux.).

Apres je te conseille ne pas faire "make clean" (au contraire ca risque de foirer de choses).

Apres tu continues avec "make bzImage" etc.


De toute facon ton 2eme probleme n'a plus rien a voir avec le 1er probleme qui etait un pb de compilation.
0
renisaac Messages postés 2043 Date d'inscription dimanche 22 août 2004 Statut Contributeur Dernière intervention 15 mai 2021 138
20 avril 2006 à 15:09
Saut vous deux,

juste pour signaler un excllent site qui explique dans le détail l'influence de chaque option du noyeau :
http://casteyde.christian.free.fr/system/linux/guide/online/a11052.html

renisaac
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
timoty Messages postés 27 Date d'inscription vendredi 18 mars 2005 Statut Membre Dernière intervention 4 mai 2006 8
24 avril 2006 à 14:22
Bonjours à vous !!

Tous d'abord merci à toi renisaac pour ton exellent lien qui ma beaucoup aidé!!

kmf31 j'ai suivis tes conseilles voila la procédure que j'utilise maintenant
Cette procédure à très bien marchée chez moi avec un petit processeur AMD duron avec le kernel 2.6.16.6 de kernel.org et sur une Fc4 i386

Maintenant je suis au boulot, je fais le test avec une fc4 i386 carte mère K7D master et 2 processeurs opteron et le même kernel 2.6.16.6 de kernel.org

make mrproper
cp /boot/config<ancienne_version_noyau>smp /usr/src/kernels/linux/.config
make xconfig (j'ai fait un test simplement en changeant "Processor family" Amd, j'en ai fait d autre qui démarre très bien mais dans n'importe quels cas le même résultat que je vais expliquer plus bas)
make bzImage
make modules
make modules_install
make install

Mon entrée est directement crée dans grub.conf

Reboot sur mon nouveau noyau pas d'erreur pendant le démarrage et quand je reboot la toujours le même message "code : Bad EIP value
Init no more processes left in this runlevel " sur n'importe quel noyau que je compile sur cette machine.Donc obligé de restart manuellement!!!!
Alors que chez moi avec la même procédure j'ai recompilé plusieurs fois et en aucun cas je n'est ce messsage!!! Tous ce passe bien

Avez vous une suggestion ????pensez vous que sa pourrais venir du hardware ou peux etre une option que je pourrais dans les options de la compilation ????
Je ne trouves pas grand chose, jai vérifié mon inittab sa semble correct!!!!

Merci de votre aide!!
0
renisaac Messages postés 2043 Date d'inscription dimanche 22 août 2004 Statut Contributeur Dernière intervention 15 mai 2021 138
25 avril 2006 à 09:57
re-

Une recherche sur google avec code : Bad EIP value Init no more processes left in this runlevel
m'a conduit entre autre sur cette page : http://osr5doc.sco.com:1997/FASTSTART/get_ip.html
je ne sais pas si cela peut t'aider (écrit pour sco, mais j'imagine valable pour linux aussi).

Renisaac
0
timoty Messages postés 27 Date d'inscription vendredi 18 mars 2005 Statut Membre Dernière intervention 4 mai 2006 8
4 mai 2006 à 08:46
bonjours

merci pour vos réponse

desolé de la réponse tardive

On a trouvé hier d' où venais ce problème de démarrage avec l 'aide des messages du noyau

En faite c'est le module USB "ehci-hcd", dès que l'on compil le noyau avec celui-ci il bloque pour redemarrer sans lui tous ce passe normalement
Ceux qui est un peux embêtant car il est utile pour detecter l'USB
voila si vous avez une suggestion
merci
0
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 501
4 mai 2006 à 15:38
Pour les modules d'USB et aussi SCSI, sata etc. il vaut mieux les laisser en modules et pas les mettres en dur dans les noyaux. Ca evite de mauvaises surprises a l'occasion de boot. Il existe de pilotes qui ne marchent pas s'ils sont directement mis dans le noyaux mais qui marchent en modules, notamment pour le SCSI (c'est pour ca que RedHat que a inventi les "initramdisques" pour y mettre les modules SCSI pour acceder aux disques durs). Ca peut arriver quand ces pilotes doivent detecter de hardware et bien souvent la detection pendant le boot peut foirer (trop tot, probleme de timeout etc.) mais apres avec le chargement du module plus tard ca marche mieux.

Bref, laisse les trucs USB en "m" au lieu de "y" et apres selon ta distribution (et la config hotplug) le chargement devrait etre automatique, sinon il suffit de faire un petit script pour les chargers manuellement mais normalement ca fonctionne bien notamment le noyau de la distribution fait parreil en gardant pleins de choses en modules.
Autre avantage: Si ca foire de facon bizarre et commplique avec les trucs USB (ou carte son, ... peu importe) on peut manuellement decharger les modules avec "rmmod ..." et apres recharger ce qui revient a mettre a zero la config usb (ou carte son ...) sans reboot du PC.
0