GNU/Linux >> Tutoriales Linux >  >> Linux

Una lista de verificación para enviar su primer parche del kernel de Linux

Uno de los proyectos de código abierto más grandes y de mayor movimiento, el kernel de Linux, está compuesto por alrededor de 53,600 archivos y casi 20 millones de líneas de código. Con más de 15 600 programadores contribuyendo al proyecto en todo el mundo, el kernel de Linux sigue un modelo de mantenimiento para la colaboración.

En este artículo, proporcionaré una lista de verificación rápida de los pasos necesarios para realizar su primera contribución al kernel y veré lo que debe saber antes de enviar un parche. Para obtener una visión más detallada del proceso de envío para contribuir con su primer parche, lea el tutorial KernelNewbies First Kernel Patch.

Contribuyendo al núcleo

Paso 1:Prepare su sistema.

Los pasos de este artículo asumen que tiene las siguientes herramientas en su sistema:

  • Editor de texto
  • Cliente de correo electrónico
  • Sistema de control de versiones (por ejemplo, git)

Paso 2:Descarga el repositorio de código del kernel de Linux:

git clone -b staging-testing 
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git

Copia tu configuración actual:

cp /boot/config-`uname -r`* .config

Paso 3:Compile/instale su kernel.

make -jX 
sudo make modules_install install

Paso 4:Cree una rama y cambie a ella.

git checkout -b first-patch

Paso 5:actualice su kernel para que apunte a la última base de código.

git fetch origin
git rebase origin/staging-testing

Paso 6:Realice un cambio en el código base.

Vuelva a compilar usando make para asegurarse de que su cambio no produzca errores.

Paso 7:confirme sus cambios y cree un parche.

git add <file>
git commit -s -v
git format-patch -o /tmp/ HEAD^

El asunto consta de la ruta al nombre del archivo separada por dos puntos, seguida de lo que hace el parche en tiempo imperativo. Después de una línea en blanco viene la descripción del parche y la etiqueta obligatoria de cierre de sesión y, por último, una diferencia de su parche.

Aquí hay otro ejemplo de un parche simple:

A continuación, envíe el parche por correo electrónico desde la línea de comandos (en este caso, Mutt):

mutt -H /tmp/0001-<whatever your filename is>

Más recursos de Linux

  • Hoja de trucos de los comandos de Linux
  • Hoja de trucos de comandos avanzados de Linux
  • Curso en línea gratuito:Descripción general técnica de RHEL
  • Hoja de trucos de red de Linux
  • Hoja de trucos de SELinux
  • Hoja de trucos de los comandos comunes de Linux
  • ¿Qué son los contenedores de Linux?
  • Nuestros últimos artículos sobre Linux

Para conocer la lista de mantenedores a quienes enviar el parche, use el script get_maintainer.pl.

Qué debe saber antes de enviar su primer parche

  • El árbol de preparación de Greg Kroah-Hartman es un buen lugar para enviar su primer parche, ya que acepta parches sencillos de nuevos colaboradores. Cuando se familiarice con el proceso de envío de parches, podrá enviar parches específicos del subsistema con mayor complejidad.
  • También puede comenzar corrigiendo los problemas de estilo de codificación en el código. Para obtener más información, lea la documentación sobre el estilo de codificación del kernel de Linux.
  • El script checkpatch.pl detecta errores de estilo de codificación por usted. Por ejemplo, ejecute:
    perl scripts/checkpatch.pl -f drivers/staging/android/* | less
  • Puede completar TODO que los desarrolladores dejaron incompletos:
    find drivers/staging -name TODO 
  • Coccinelle es una herramienta útil para la coincidencia de patrones.
  • Lea los archivos de correo del kernel.
  • Revise el registro de linux.git para ver las confirmaciones de autores anteriores para inspirarse.
  • Nota:¡No publique en la parte superior para comunicarse con el revisor de su parche! Aquí hay un ejemplo:

    Manera incorrecta:

    Chris,

    Sí, programemos la reunión para mañana, en el segundo piso.

    > El viernes 26 de abril de 2013 a las 9:25 a. m., Chris escribió:

    > Hola, John, tenía algunas preguntas:

    > 1. ¿Quiere programar la reunión para mañana?

    > 2. ¿En qué piso de la oficina?

    > 3. ¿A qué hora le conviene?

    (Observe que la última pregunta se dejó sin respuesta sin querer en la respuesta).

    Forma correcta:

    Chris,

    Vea mis respuestas a continuación...

    > El viernes 26 de abril de 2013 a las 9:25 a. m., Chris escribió:

    > Hola John, tenía algunas preguntas:

    > 1. ¿Quieres programar la reunión para mañana?

    Sí, mañana está bien.

    > 2. ¿En qué piso de la oficina?

    Vamos a mantenerlo en el segundo piso.

    > 3. ¿A qué hora le conviene?

    09:00 am estaría bien.

    (Todas las preguntas fueron respondidas, y de esta manera se ahorra tiempo de lectura).

  • El desafío Eudyptula es una excelente manera de aprender los conceptos básicos del kernel.

Para obtener más información, lea el tutorial KernelNewbies First Kernel Patch. Después de eso, si todavía tiene alguna pregunta, pregunte en la lista de correo de kernelnewbies o en el canal IRC #kernelnewbies.


Linux
  1. 9 cosas que hacer en los primeros 10 minutos en un servidor Linux

  2. Pruebas de integración continua para el kernel de Linux

  3. ¿Cuál es tu herramienta de grabación de pantalla favorita para Linux?

  4. Las 5 mejores extensiones de GNOME Shell para su escritorio Linux

  5. ¿Núcleo de Linux para Nintendo Wii?

Cómo editar los parámetros de arranque de su kernel en Linux

20 pasos para preparar tu PC para la instalación de Linux

Cómo averiguar la versión del kernel de Linux que se ejecuta en su PC

Convierta su PC con Linux en parlantes Bluetooth para su teléfono

¡Parche el kernel Linux de Raspberry Pi con KernelCare GRATIS!

Las mejores distribuciones de KDE Linux para su escritorio