Noyau utilisables avec kgdb

Résolu
Bonjour,
J'aimerais utiliser kgdb pour faire avancer le noyau pas à pas .
J'ai essayé de compiler le noyau 2.6.15 avec les patchs fournis sur le site officiel de kgdb, et la compilation
buggue au bout de 2H .
Voilà un premier problème, le deuxième étant que j'aurais à vrai dire préféré utiliser kgdb avec un noyau récent.
Y a pas moyen ?
Merci pour votre aide
Configuration: Linux
Firefox 3.0

11 réponses

  1. C'est un débuggueur, comme gdb, mais prévu pour le noyau, le système d'exploitation+
    1. ok ! trop compliqué pour moi !

      néanmoins, si tu lis un peu l'anglais, peut-être es-tu tombé, lors de tes recherches, sur ça :

      https://cateee.net/lkddb/web-lkddb/KGDB.html

      qui dit ceci :
      The configuration item CONFIG_KGDB:
          * found in Linux Kernels: before 2.6.0 version still available on 2.6.30 release


      si cela peut t'aider .....

      <EDIT :
      http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:debug:kgdb
      EDIT>
      1. J'en étais resté pour l'instant au site officiel de kgdb dont les fichiers à télécharger semblaient être associés à un noyau en particulier.
        Comme la compilation dure longtemps, 2 ou 3H, j'ai pas fait 36 essais.
        Je vais essayer avec un noyau récent .
        Si ça marche, je vous tiens au courant ,
        et si ça marche pas aussi :-) !
        à plus
        1. tu peux utiliser ccache ...................... pour compiler plus vite ....

          tu as jeté un oeil dans l'EDIT de mon précédent message ?
          1. oui, j'ai regardé ta réponse, qui m'a laissé entrevoir qu'il ne faille pas à la fois patcher le noyau et le configurer,
            c'est peut-être redondant et qui sait éventuellement la source des erreurs de compilation.
            Pour en avoir le coeur net, y a plus qu'à compiler .
            1. Oui, j'ai regardé ta réponse, qui m'a laissé entrevoir qu'il ne faille pas à la fois patcher le noyau et le configurer

              ça j'en sais strictement rien. je n'ai fait que survolé la page et me dire que cela pouvait t'intéresser.

              de toute façon tu es plus qualifié que moi car je n'y connais pas grand chose en compilation, patch et autre debug mode ....

              dis-nous si cela a pu néanmoins t'aider ......et pourquoi pas résoudre ton "problème" ....

              bon courage.
              1. bon ! j'ai le sentiment que cela n'a pas fonctionner ....

                ok ! pas grave ! de toute façon, il va falloir que tu fasses d'autres essais (de l'intérêt d'installer l'utilitaire ccache pour diminuer de façon sensible le temps de compilation).

                d'autre part, j'ai trouvé un tutoriel (en français) récent (2008) :

                Débogage du noyau Linux avec kGDB

                http://www.unixgarden.com

                cet article est issu d'un magazine linux :

                http://www.unixgarden.com

                article à lire donc ....

                autres articles :
                espace noyau de linux avec kgdb
                http://www.unixgarden.com

                petit discussion avec Ze spécialistes de kgdb :
                http://kerneltrap.org/node/2263

                cela devrait peut-être t'aider ......

                petite question :

                je viens de tomber sur ton post sur le forum harware.fr :
                https://forum.hardware.fr/hfr/OSAlternatifs/Logiciels-2/compilation-kgdb-linux-sujet_69805_1.htm

                ton architecture ne serait pas i386 ??? (tu devrais également lire la petite discussion des spécialistes kgdb).
                1. J'ai finalement compilé le noyau 2.6.30 avec les options nécessaires à kgdb ,
                  chargé dans /boot le fichier System.map, créé le fichier initrd et modifié /boot/grub/menu.lst .

                  Voici la nouvelle entrée dans /boot/grub/menu.lst :

                  title Kgdb sur 2.6.30 avec Ubuntu 8.04.1
                  root (hd0,4)
                  #kernel /boot/vmlinuz-2.6.30 root=UUID=37ba40a3-57bc-47ce-a0f5-42c321947450 ro kgdb=/dev/ttyS0,38400N8 kgdb8250=/dev/ttyS0,38400N8 kgdboc=/dev/ttyS0,38400N8 kgdbwait
                  #kernel /boot/vmlinuz-2.6.30 root=UUID=37ba40a3-57bc-47ce-a0f5-42c321947450 ro kgdboc=/dev/ttyS0,38400N8 kgdbwait
                  kernel /boot/vmlinuz-2.6.30 root=UUID=37ba40a3-57bc-47ce-a0f5-42c321947450 kgdboc=/dev/ttyS0,38400N8 kgdbwait
                  initrd /boot/initrd-2.6.30.img

                  Il y a deux lignes commentées, qui sont des essais infructueux .

                  Le soucis est que le noyau boote, mais ne s'arrête pas en attente d'une connexion par gdb depuis une autre machine .
                  Quelqu'un sait-il comment ça marche ?
                  1. Bon et bien j'ai trouvé ce qui n'allait pas : les options de démarrages fournies au noyau dans le fichier /boot/grub/menu.lst ,
                    j'utilisais des options glanées sur internet et qui je pense n'étaient plus valables .
                    Avec :
                    kernel /boot/vmlinuz-2.6.30 root=/dev/sda5 ro kgdb=ttyS0,38400 kgdboc=ttyS0,38400 kgdbwait

                    ça marche !

                    Merci bob031 , tes suggestions et les liens que tu as trouvés m'ont aidé

                    à plus
                    1. bingo !!

                      et bravo !

                      :-))