GNU/Linux >> Tutoriels Linux >  >> Linux

Environnement de piratage du noyau

Ma saveur personnelle pour le développement du noyau Linux est Debian. Maintenant pour vos points :

  1. Comme vous l'avez probablement deviné, Ubuntu n'apporte rien de nouveau au noyau pour faciliter le développement, à part ce qui est déjà disponible dans Debian. Par ex. make_kpkg est une fonctionnalité Debian et non Ubuntu. Voici quelques liens pour vous aider à démarrer sur les tâches courantes de développement du noyau Linux dans Debian :

    • Chapitre 4 - Tâches courantes liées au noyau du manuel Debian Linux Kernel Handbook
    • Chapitre 10 - Debian et le noyau de la FAQ Debian GNU/Linux
  2. Le moyen le plus simple de déboguer le noyau consiste à utiliser QEMU et GDB. Quelques liens pour vous aider à démarrer :

    • http://files.meetup.com/1590495/debugging-with-qemu.pdf
    • http://www.cs.rochester.edu/~sandhya/csc256/assignments/qemu_linux.html

    Cependant, vous devez être conscient que cette méthode n'est pas viable pour certains scénarios tels que le débogage de problèmes matériels spécifiques et autres, pour lesquels il serait préférable d'utiliser le débogage série physique et le matériel réel. Pour cela, vous pouvez utiliser KGDB (cela fonctionne également avec Ethernet). KDB est également un bon choix. Oh, et au fait, KGDB et KDB ont été fusionnés dans le noyau Linux. Plus d'informations sur ces deux ici. Une autre méthode intéressante, qui fonctionne à merveille pour les problèmes non liés au matériel, consiste à utiliser le noyau Linux en mode utilisateur. L'exécution du noyau en mode utilisateur comme tout autre processus vous permet de le déboguer comme n'importe quel autre programme (exemples). Plus d'informations sur Linux en mode utilisateur ici. UML fait partie du noyau Linux depuis la version 2.6.0 , vous pouvez donc créer n'importe quelle version officielle du noyau au-dessus en mode UML en suivant ces étapes.

  3. Voir point 2. Malheureusement, il n'y a pas de meilleure méthode ultime ici, car chaque outil/méthode a ses avantages et ses inconvénients.


Si vous développez pour une plate-forme embarquée qui n'est pas basée sur du matériel i386, vous devrez effectuer une compilation croisée. Le projet Emdebian fournit des chaînes d'outils à développer pour de nombreuses architectures (ARM, m68k, MIPS et plus) sur PC (i386 ou amd64). Cela signifie que sous Debian, vous pouvez simplement ajouter les référentiels et apt-get installer la chaîne d'outils pour la ou les cibles de votre choix.


Les sondes JTAG existent, mais elles sont assez chères (et les entreprises qui les construisent ont des contrats exclusifs). La meilleure façon de déboguer le code du noyau est de le démarrer dans kvm ou qemu avec gdbserver dans l'émulation.


Linux
  1. Construire des noyaux Linux à la manière de Debian

  2. Installation du noyau deb dans l'environnement chroot Debian

  3. Comment configurer un environnement virtuel Python sur Debian 10 Buster

  4. Debian – Utiliser Aes-ni dans Debian ?

  5. Référencer les variables d'environnement *dans* /etc/environment ?

Comment installer l'environnement de bureau XFCE sur Debian 11

Comment installer le noyau Linux 5.15 sur Debian 11

Comment installer l'environnement de bureau Mate sur Debian 11

Debian – Dans quelle mesure la mise à niveau du noyau Linux dans Debian 8.5 est-elle fluide ?

Comment installer l'environnement de bureau GNOME sur Debian 10

Comment installer l'environnement de bureau Cinnamon sur Debian 11