Como parte del producto de mi trabajo de maestría en Computación, he requerido generar un parche para el kernel de Linux. El proceso es muy sencillo, y no es muy diferente al crear un parche de cualquier archivo o directorio común y corriente, utilizando el comando diff. Resumo el proceso en 3 pasos.
1. Preparar los directorios
Debes tener un directorio con el kernel vanilla y otro directorio con el kernel modificado. Por supuesto, deben corresponder a la misma versión. En mi caso, estoy trabajando con la versión 3.2.1, y he nombrado linux-3.2.1 a mi kernel modificado y linux-vanilla-3.2.1 al kernel vanilla.
Ambos kernels los tengo en el directorio /usr/src, pero esto no es necesario, pueden estar en un directorio cualquiera.
Asumiendo que los kernels se encuentran en /usr/src, basta con ejecutar:
cd /usr/src/linux-3.2.1
make mrproper
make clean
cd ../linux-vanilla-3.2.1
make mrproper
make clean
3. Generar el parche
Finalmente, usamos el comando diff para generar el parche:
cd /usr/src/
diff -Nur linux-vanilla-3.2.1 linux-3.2.1 > patch-3.2.1
¡Y eso es todo! El archivo patch-3-2.1 es nuestro parche.
NOTA: al usar el comando diff, el orden es importante, primero va el kernel vanilla y luego el modificado, no al revés.