GNU/Linux >> Tutoriales Linux >  >> Linux

Entorno de piratería del kernel

Mi sabor personal para el desarrollo del kernel de Linux es Debian. Ahora para sus puntos:

  1. Como probablemente haya adivinado, Ubuntu no aporta nada nuevo al núcleo para facilitar el desarrollo, aparte de lo que ya está disponible en Debian. Por ej. make_kpkg es una característica de Debian y no de Ubuntu. Aquí hay algunos enlaces para comenzar con las tareas comunes de desarrollo del Kernel de Linux en Debian:

    • Capítulo 4 - Tareas comunes relacionadas con el kernel del manual del kernel de Debian Linux
    • Capítulo 10:Debian y el kernel de Preguntas frecuentes sobre Debian GNU/Linux
  2. La forma más fácil de depurar el kernel es usar QEMU y GDB. Algunos enlaces para empezar:

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

    Sin embargo, debe tener en cuenta que este método no es viable para ciertos escenarios, como la depuración de problemas de hardware específicos y demás, para lo cual sería mejor utilizar la depuración en serie física y el hardware real. Para esto puedes usar KGDB (también funciona usando ethernet). KDB también es una buena opción. Ah, y por cierto, tanto KGDB como KDB se fusionaron en el kernel de Linux. Más sobre estos dos aquí. Otro método genial, que funciona maravillosamente para problemas no relacionados con el hardware, es usar el kernel de Linux en modo de usuario. Ejecutar el Kernel en modo de usuario como cualquier otro proceso le permite depurarlo como cualquier otro programa (ejemplos). Más sobre Linux en modo usuario aquí. UML es parte del kernel de Linux desde 2.6.0, por lo que puede compilar cualquier versión oficial del kernel superior en modo UML siguiendo estos pasos.

  3. Consulte el elemento 2. Desafortunadamente, aquí no existe el mejor método definitivo, ya que cada herramienta/método tiene sus pros y sus contras.


Si está desarrollando para una plataforma integrada que no se basa en el hardware i386, deberá realizar una compilación cruzada. El proyecto Emdebian proporciona cadenas de herramientas para desarrollar muchas arquitecturas (ARM, m68k, MIPS y más) en PC (i386 o amd64). Eso significa que en Debian, simplemente puede agregar los repositorios y apt-get install la cadena de herramientas para los objetivos que elija.


Las sondas JTAG existen, pero son bastante caras (y las empresas que las fabrican tienen contratos exclusivos). La mejor manera de depurar el código del kernel es iniciarlo en kvm o qemu con gdbserver dentro de la emulación.


Linux
  1. Construyendo kernels de Linux a la manera de Debian

  2. Instalación del kernel deb en el entorno chroot de Debian

  3. Cómo configurar un entorno virtual de Python en Debian 10 Buster

  4. Debian – ¿Usar Aes-ni en Debian?

  5. ¿Hacer referencia a variables de entorno *en* /etc/environment?

Cómo instalar el entorno de escritorio XFCE en Debian 11

Cómo instalar Linux Kernel 5.15 en Debian 11

Cómo instalar el entorno de escritorio Mate en Debian 11

Debian:¿qué tan fácil es actualizar el kernel de Linux en Debian 8.5?

Cómo instalar el entorno de escritorio GNOME en Debian 10

Cómo instalar el entorno de escritorio Cinnamon en Debian 11