Bajo ciertas condiciones, el kernel de Linux puede contaminarse . Por ejemplo, cargar un controlador de video propietario en el núcleo contamina el núcleo. Esta condición puede ser visible en los registros del sistema, mensajes de error del kernel (ups y pánicos), y a través de herramientas como lsmod
, y permanece hasta que se reinicie el sistema.
¿Qué significa esto? ¿Afecta mi capacidad de usar el sistema y cómo podría afectar mis opciones de soporte?
lsmod
. Escribí esta pregunta y respuesta para hacerla más general para que alguien que pregunta "qué significa 'contaminado'" pueda encontrarla fácilmente.Respuestas:
Cuando el núcleo está contaminado, significa que está en un estado que no es compatible con la comunidad . La mayoría de los desarrolladores de kernel ignorarán los informes de errores que involucran kernels contaminados, y los miembros de la comunidad pueden pedirle que corrija la condición de contaminación antes de que puedan proceder a diagnosticar problemas relacionados con el kernel. Además, algunas funciones de depuración y llamadas de API pueden deshabilitarse cuando el núcleo está contaminado.
En la mayoría de los casos que involucran controladores propietarios, puede ignorar de forma segura la condición de contaminación , pero algunos escenarios que hacen que el núcleo se contamine pueden indicar problemas serios del sistema.
La función está destinada a identificar condiciones que pueden dificultar la solución adecuada de un problema del núcleo. Por ejemplo, la carga de un módulo propietario puede hacer que la salida de depuración del kernel no sea confiable porque los desarrolladores del kernel no tienen acceso al código fuente del módulo y, por lo tanto, no pueden determinar qué puede haber hecho el módulo al kernel. Del mismo modo, si el núcleo había experimentado previamente una condición de error o si se había producido un error grave de hardware, la información de depuración generada por el núcleo puede no ser confiable.
El kernel puede contaminarse por cualquiera de varias razones , que incluyen (entre otras) las siguientes:
Cada una de estas condiciones está representada por una bandera particular en el núcleo. Algunos proveedores de Linux, como SUSE, agregan indicadores de contaminación adicionales para indicar condiciones como la carga de un módulo que no es compatible con el proveedor.
Hay más información disponible en la documentación del kernel . Las banderas de contaminación enumeradas allí son (con _ un sustituto para 'en blanco')
rmmod -f
, de lo contrario si todos los módulos se descargaron normalmente.fuente