Probleme compilation de noyau

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

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    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 ?
    1. 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!!!!
      1. Contributeur
        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.
        1. Contributeur
          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
          1. 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!!
            1. Contributeur
              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
              1. 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
                1. Contributeur
                  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.