Visión General del Kernel Linux de Fedora
Calendario de Actualización
El kernel de Fedora Linux sigue de cerca las versiones del desarrollador del kernel. Para ver la versión actual en Fedora, echa un vistazo a la aplicación de paquetes.
Versiones Estables
Las versiones estables reciben dos tipos de actualizaciones de kernel.
Actualizaciones de kernel estables
The upstream kernel community support the latest major version with stable updates (6.y.z releases). These updates are released approximately once a week, although they can occur more or less frequently. Once the upstream kernel community makes a stable release, Fedora builds it and submits it as an update to Bodhi. These updates are typically left in Bodhi for testing for several days before being submitted to the stable updates repository.
Actualizaciones mayores del kernel
The Linux kernel releases new major versions (6.y releases) every few months. When this occurs, Fedora updates to the new major version after a couple upstream stable releases. When the updates are submitted to Bodhi, more time is allowed for testing than stable updates to ensure there are no serious regressions.
Desarrollo de Versiones
El desarrollo de las versiones de Fedora incluyen las versiones Rawhide y Branched.
Rawhide
El kernel Rawhide es la última instantánea git del árbol de desarrollo kernel.org de Linus. Frecuentemente (diariamente), se construye una nueva instantánea.
Branched
Las versiones Branched reciben actualizaciones en intervalos menos frecuentes que los Rawhide. Al principio de la versión Branched, normalmente se utiliza una versión preliminar del kernel, por lo que cada Release Candidate (RC) (Versión Candidata) está diseñada para versiones Branched. Una vez que se ha liberado el kernel, recibe actualizaciones estables del mismo modo que las versiones estables de Fedora.
Depurar Kernels
El kernel Linux kernel ofrece diversas opciones de configuración que hacen más fáciles los problemas de depuración. Sin embargo, algunas de estas opciones tienen un coste de rendimiento de modo que Fedora no siempre pone estas opciones en funcionamiento. Cuando se han apagado las opciones de depuración en el paquete kernel
, se produce un paquete kernel-debug
separado con estas opciones levantadas.
Kernels Estables y Branched
Los kernels Estable y Branched deshabilitan siempre las opciones de depuración.
Rawhide
Los kernels Rawhide habilitan las opciones de depuración. Sin embargo, cada kernel de versión candidata se compila con las opciones de depuración deshabilitadas. Los kernels de las versiones candidatas se pueden reconocer por su campo de versión. Como ejemplo, kernel-5.19.0-0.rc7.20220722git68e77ffbfd06.56.fc37
ee el kernel de la versión candidata para Fedora 37.
Políticas
Controladores Fuera del árbol
El método más simple, con diferencia, es fusionar el controlador en el kernel de Linus. Fedora cambia constantemente su base a versiones más recientes, por lo que hereda estos cambios "gratis" con poca sobrecarga para los mantenedores del kernel de Fedora.
Añadir controladores externos al kernel de Fedora que no son aceptados en sentido ascendente requiere un esfuerzo continuo por parte del equipo de kernel de Fedora, por lo que, siempre que sea posible, intentamos evitarlo. En las pocas situaciones donde tiene sentido hacerlo, hay varios criterios que se debe cumplir.
-
Debe haber una demanda razonable de la función para que asumamos la carga de transportar el código hasta que llegue al nivel superior.
-
Pasar comprobaciones sanitarias básicas (ha sido revisado por al menos un mantenedor del kernel de Fedora).
-
Tiene un desarrollador de nivel superior intentando fusionar su código en el árbol de Linus.
-
Tiene un desarrollador de Fedora responsable de mantenerlo actualizado en Fedora.
-
No causa ninguna sobrecarga discernible para los mantenedores del kernel de Fedora. El código que debe corregirse continuamente tiende a terminar siendo eliminado.
-
No añade nuevas llamadas al sistema o características similares de definición de ABI (Interfaz Binaria de Aplicación). Esto es para evitar una situación que pudiera terminar en incompatibilidades entre distribuciones/nivel superior.
-
Primero se debe aceptar en sentido ascendente como se exporta un símbolo. Esto incluye:
-
Añadir un EXPORT_SYMBOL para exportar algo que anteriormente no era exportado
-
Cambiar un EXPORT_SYMBOL_GPL a EXPORT_SYMBOL
-
Cambiar un EXPORT_SYMBOL a EXPORT_SYMBOL_GPL
-
-
En los raros casos en los que añadimos exportaciones que no están en el nivel superior, somos precavidos y usamos EXPORT_SYMBOL_GPL para exportarlos. Esto se hace en parte como disuasivo para que los módulos de terceros no los utilicen. (Ya que pueden desaparecer en el futuro). La única excepción a todo lo anterior es el nuevo código ascendente aún no fusionado que se está agregando. Los nuevos símbolos se pueden exportar como lo pretendía el autor.
Puesta en escena
Se sabe que los controladores en el directorio provisional de kernel Linux se encuentran en estado aproximado e incompleto. Para la gran mayoría de estos controladores, el equipo del kernel los considera inseguros para compilarlos y enviarlos. No tenemos confianza en el código existente, ni tenemos tiempos de depurar los problemas de los controladores con problemas conocidos.
Como cada política, tiene excepciones. Fedora envía algunos controladores provisionales en este momento para varias piezas de hardware. Para que el equipo de Fedora kernel habilite un controlador provisional, se deben satisfacer las siguientes condiciones:
-
Debe hacer una revisión y mejora sustancial del código upstream. Esto significa correcciones reales y no cambios estilísticos.
-
Debe haber un colaborador dispuesto a recibir informes de errores y ocuparse de ellos.
-
El colaborador debe estar activamente implicado en la mejora del controlador upstream.
-
El controlador no debe suponer una carga indebida para el equipo del kernel. Esto significa que sí hay un gran número de informes de error a consecuencia del controlador, las correcciones no se están efectuando en el desarrollo.
-
Se debe entender que si no se cumplen alguna de estas condiciones, o eventualmente se falla en su cumplimiento, el controlador será deshabilitado.
Funciones Integradas
De vez en cuando, a los mantenedores del kernel Fedora se les pide que incluyan algo en el kernel. Esto es, que la funcionalidad se incluya en el binario vmlinux que cada máquina Fedora ejecuta en lugar de construirse como un módulo que solo se carga cuando es necesario. Dado que esto se carga en cada máquina, tendemos a construir la funcionalidad como módulos tanto como sea posible. Mientras una persona puede necesitar un controlador para una tarjeta ATI, otra no y tenerlo integrado en el kernel es un desperdicio sin ningún motivo.
No hay establecido ningún criterio que se corresponda exactamente con si algo está incluido o no, pero generalmente se siguen estas directrices:
-
La opción no se puede construir como módulo y es ampliamente usada
-
La opción no es un controlador/sistema de archivos y la usa algo que está predeterminado en Fedora
-
La opción es un controlador y se usa por una amplia variedad de máquinas (controladores de teclado/ratón, soporte VT)
-
La opción es un sistema de archivos y es usado por todas las máquinas o es el sistema de archivos predeterminado de Fedora (tmpfs, ext4).
De nuevo, lo anterior son directrices generales pero para la mayor parte intentaremos limitar el tamaño total del vmlinux que está cargado con un conjunto básico de funcionalidades.
Si encuentra que las opciones de configuración de Fedora no son suficientes para sus necesidades, puede reconstruir el kernel y cambiar las opciones a las que usted crea que se ajustan. Vea la documentación en construir un kernel personalizado.
Involucrarse
Si está interesado en contribuir al desarrollo y mantenimiento del kernel de Fedora, consulte la wiki del kernel para más información.
Listas de correo
La lista de correo de Fedora kernel es solo para los temas del kernel relacionados con Fedora. Esto incluye los ajustes de configuración del kernel de empaquetamiento específico para Fedora. Para discusiones sobre Linux mismo vea las listas de correo Kernelnewbies o las listas de correo Linux Kernel.
Puede suscribirse a la lista de correo de Fedora kernel y ver los archivos en Puede suscribirse a la lista de correo de Fedora kernel y ver los archivos en Hyperkitty..
IRC
Los usuarios interesados en el Fedora kernel visitan el canal #fedora-kernel
en freenode.
¿Vea algún error tipográfico, algo desaparecido o desactualizado o algo que pueda ser mejorado? Edite este documento en https://pagure.io/fedora-docs/quick-docs.
Want to help? Learn how to contribute to Fedora Docs ›