Una de las partes más importantes de cualquier distribución Linux es el núcleo, o Kernel. En él es donde se encuentra todo lo necesario para que nuestro ordenador pueda funcionar, como los controladores o drivers, así como las herramientas responsables de la gestión de memoria, el control de las llamadas y todo lo necesario para que el software tenga acceso al hardware del PC. Existen muchas versiones diferentes del núcleo, desde la original, publicada por el propio Linus Torvalds (creador de Linux) hasta las ediciones modificadas por la comunidad o por los responsables de las principales distribuciones, como Canonical (en el caso de Ubuntu). Sin embargo, ¿cuál es mejor?
El Kernel de Canonical, ¿qué aporta?
Cuando instalamos Ubuntu de cero, este viene con un Kernel modificado y optimizado con Canonical. Es la propia compañía quien se encarga de mantenerlo, aplicar los parches cuando aparece un fallo o una vulnerabilidad y lanzar las distintas actualizaciones durante el ciclo de vida de la distro.
Por defecto, el núcleo que nos instala es el «generic«, una versión del mismo pensada para un uso general. Sin embargo, si tenemos necesidades especiales, Canonical tiene distintas versiones de su propio núcleo de manera que podamos instalarlas fácilmente con un comando. Las principales son:
- lowlatency: un núcleo con latencias muy bajas especialmente diseñado para procesar audio.
- kvm: pensado para instancias virtualizadas con este hipervisor.
- raspi2: núcleo diseñado para el Raspberry Pi 2.
- snapdragon: núcleo pensado para dispositivos que utilizan este tipo de CPUs ARM.
- OEM: versión especialmente diseñada para determinados proyectos.
- xx-hwe: núcleo «Hardware Enablement» para funcionar con el último hardware. Podemos encontrar esta versión tanto para el «generic» como para el «lowlatency».
Entre otras, las principales ventajas que obtenemos al usar este tipo de núcleos son, por un lado, una serie de optimizaciones y configuraciones que aplica Canonical en el núcleo para mejorar su funcionamiento, y por otro la tranquilidad de olvidarnos de actualizar a nuevas versiones, ya que estas llegarán a través de APT, como el resto de parches del sistema.
Sin embargo, el principal inconveniente es que no estaremos nunca a la última. Cuando Canonical lanza una nueva versión de Ubuntu, esta viene con un núcleo una o dos versiones por detrás de la última. Lo cual nos impide disfrutar de las últimas mejoras del Kernel hasta, al menos, 6 meses.
¿Por qué cambiar a un Kernel original?
Aunque Ubuntu venga con su propio Kernel, eso no nos impide instalar nosotros mismos la versión del núcleo original que queramos. Podemos descargar el código y compilarlo directamente en nuestro PC, o usar un programa como Mainline para bajar e instalar el último Kernel en nuestro PC.
Las ventajas de esto son variadas. Por ejemplo, nos permite estar a la última, disfrutar de las últimas mejoras implementadas en el núcleo, e incluso seguir usando una versión concreta de Ubuntu a pesar de estar sin soporte sin correr riesgos. Actualizando manualmente el núcleo, y los paquetes, podemos convertir nuestra distro de Canonical en una especie de «Rolling Release».
Sin embargo, también podemos encontrarnos con algunos problemas. Por ejemplo, al no estar estas versiones comprobadas por Canonical, es posible que nos topemos con algún error. Y, además, no dispondremos de las mejoras y optimizaciones que vienen de serie den la versión «generic» de Canonical. También nos obliga a estar un poco más pendientes de las actualizaciones, las cuales debemos instalarlas a mano.
¿Cuál es mejor?
La verdad es que lo más seguro es que no vayamos a notar ningún cambio, ni para bien ni para mal. El núcleo generic de Canonical es suficiente para que la mayoría de la gente pueda usar Ubuntu sin ningún problema. Y, si somos de los que tenemos el último hardware, y aún no está soportado por este generic, podemos instalar el generic-hwe para tener soporte para los últimos drivers. Si no tenemos necesidades especiales, y no queremos complicarnos, esto es lo mejor que podemos usar.
Por el contrario, si queremos disponer de las últimas características del núcleo (como, por ejemplo, el nuevo driver mejorado para NTFS) y no queremos esperar 6 meses hasta la siguiente versión de Ubuntu, entonces lo mejor que podemos hacer es instalar a mano la versión original del Kernel Linux. Eso sí, sabiendo lo que estamos haciendo y encargándonos, a partir de entonces, de todas las tareas de mantenimiento relacionadas.