¿Forma correcta de aplicar parches a su kernel?

¿Forma correcta de aplicar parches a su kernel?

Estoy siguiendo las instrucciones ubicadas.aquípara configurar mi servidor. Dice que tengo que aplicar un parche que descargué en la máquina. Mi pregunta es, el artículo dice que se use el siguiente comando:

/usr/src/linux # patch -p1 < file.diff //note I replace file.diff w/ routes-2.6.36.16.diff

Esto devuelve:

-bash: /usr/src/linux: No such file or directory

Continúo asumiendo que /linux #debería reemplazarse con la versión/directorio real del kernel de Linux. Intenté esto usando el siguiente comando:

/usr/src/linux-headers-2.6.35.22 patch -p1 < file.diff

Esto devuelve lo mismo. Cuando veo el contenido de /usr/src sólo tengo dos directorios linux-headers-2.6.35.22y linux-headers-2.6.35.22-generic-paenecesito orientación sobre la forma correcta de aplicar un parche al kernel.

Editar

Si ejecuto /usr/src/linux-headers-2.6.35.22/ patch -p1 file.diffobtengo -bash: /usr/src/linux-headers-2.6.35.22: is a directory. Necesito saber cómo hago para encontrar el archivo específico que necesita ser parcheado aquí...

Respuesta1

Necesitas descargar la fuente. Puedes hacer esto a través de apt-src pero yo (personalmente) simplemente tomaría la última versión dekernel.org, extráigalo, parcheelo (simplemente usando rutas locales como el escritorio, ¡no necesita estar oculto en /usr/src en absoluto!) y siga las instrucciones"de forma anticuada"instrucciones para compilarlo.

Tenga en cuenta que algunos parches son solo para ciertas versiones del kernel (esto incluye versiones puntuales), así que asegúrese de que su parche funcione para la versión fuente antes de perder entre 20 y 30 minutos compilándolo.

Pero su problema específico es que necesita estar en el directorio al que desea aplicar el parche. En tu caso:

cd /usr/src/linux-headers-2.6.35.22/
patch -p1 < /path/to/file.diff

Obviamente cambie la ruta al parche (o péguelo en el mismo directorio). Si los archivos fuente son propiedad de root, agregue el prefijo sudoal comando de parche o ejecútelo sudo supara convertirse en root mientras hace esto.

Respuesta2

Para evitar frustraciones, generalmente deberías hacer estas cosas a la manera de Ubuntu. Las instrucciones completas sobre el uso de paquetes oficiales se pueden encontrar aquí:

https://help.ubuntu.com/community/Kernel/Compile

Proporciona listas de dependencias y comandos paso a paso para poner en funcionamiento un kernel personalizado.

Si sigue ese procedimiento, obtendrá un paquete desinstalable que contiene su kernel personalizado, lo que significa que podrá volver a los kernels oficiales en el futuro si es necesario.

Respuesta3

Las instrucciones que estás siguiendo te muestran la línea de comandos /usr/src/linux #, que no es algo que escribas como parte del comando. El comando a escribir que aplicará el parche comienza en patchy continúa desde allí.

información relacionada