No trabajo para una distribución, pero se me ocurren al menos dos razones:
- Algunas distribuciones aplican sus parches personalizados al Kernel que aún no se fusionaron con la línea principal. Esto significa que para cada actualización del Kernel deben asegurarse de que sus parches no rompan nada y sigan funcionando correctamente.
- Incluso la última versión estable del Kernel puede contener un error, las distribuciones que se toman en serio la confiabilidad querrán pasar por algunos procedimientos/procesos de prueba antes de entregar un Kernel a sus clientes.
La llamada al sistema del kernel de Linux Las interfaces son muy estables. Pero el kernel tiene otras interfaces que no siempre son compatibles.
/proc
es mayormente estable, pero ha habido algunos cambios en el pasado (p. ej., algunas interfaces moviéndose a/sys
algún tiempo después del/sys
fue creado).- En el pasado se eliminaron varias interfaces relacionadas con dispositivos.
/sys
contiene algunas interfaces estables (enumeradas enDocumentation/ABI/stable
) y algunos que no lo son. Se supone que no debe usar los que no lo son, pero a veces las personas lo hacen, y una simple actualización de seguridad y estabilidad no debería romper las cosas para ellos.- Ha habido incompatibilidades con modutils en el pasado (kernels más nuevos que requieren una versión más nueva de modutils), aunque creo que fue hace bastante tiempo.
- También ha habido incompatibilidades con respecto al proceso de arranque en algunas configuraciones inusuales. Incluso aumentar el tamaño del núcleo podría causar problemas en algunos sistemas integrados.
- Mientras que el núcleo externo las interfaces son bastante estables, la interna las interfaces no lo son. La regla para las interfaces internas es que cualquiera puede romperlas siempre que arreglen usos internos, pero arreglar módulos de terceros es responsabilidad del autor de dichos módulos. En general, muchas instalaciones ejecutan módulos de terceros:controladores adicionales para hardware que no era compatible con el kernel (si el hardware es compatible con el nuevo kernel, está bien, pero qué pasa si no lo es), controladores propietarios ( mientras que el mundo sería un lugar mejor si todos los controladores fueran de código abierto, este no es el caso; por ejemplo, si desea un buen rendimiento de GPU 3D, está prácticamente atascado con controladores propietarios), etc.
- Algunas personas necesitan volver a compilar su kernel o algunos módulos de terceros. Los núcleos más recientes a menudo no se pueden compilar con compiladores más antiguos.
Con todo, la razón principal para no cambiar a una versión más reciente del kernel son los módulos de terceros.
No obstante, algunas distribuciones ofrecen kernels recientes como opción. Por ejemplo, Debian hace que los núcleos de las pruebas estén disponibles para los usuarios de la versión estable a través de backports. Del mismo modo, en Ubuntu LTS, los núcleos de las versiones más recientes de Ubuntu están disponibles, pero no se utilizan de forma predeterminada. Esto es principalmente útil para nuevas instalaciones en hardware que aún no era compatible cuando se finalizó la distribución.