Construir un núcleo Linux personalizado en Ubuntu

La idea de compilar tus propios kernels infunde miedo a los nuevos usuarios de Linux. Suena aterrador, construir la parte más crucial de su sistema desde cero. La verdad es, sin embargo, que construir el kernel de Linux es realmente fácil.

Construir el kernel de Linux no requiere programación. Algunos de los mejores programadores del mundo ya han escrito todo el código. Sólo tienes que elegir las características que quieres y ponerlo todo junto.

Conseguir las dependencias

Antes de tocar un kernel, necesitas las herramientas adecuadas para construirlo. Usa Apt para descargarlas de los repositorios de Ubuntu.

sudoaptinstallinstallgit build-essential kernel-package fakeroot libncurses5-dev libssl-dev ccache

Obteniendo el código fuente del Kernel

Ahora puedes obtener el código fuente que quieres construir. Todos los kernels están disponibles en los repositorios oficiales de Linux. Puedes echar un vistazo a las últimas versiones estables en su repositorio git. En el momento de escribir este artículo, la última es la 4.11. Esa rama está listada como linux-4.11.y, y es la que se clonará con el siguiente comando.

cd ~mkdir kernelbuildcd kernelbuildgit clone-b linux-4.11.y git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git

Tardará un poco en clonar el kernel, así que ten paciencia.

Configuración para su construcción

Comienza tu configuración cambiando los directorios al nuevo directorio clonado. Luego, copia la configuración de tu kernel existente en él.

cd linux-stablecp/boot/config-`uname -r` .config

Ahora tienes que adaptar la antigua configuración al nuevo kernel.

si''|make oldconfig

Normalmente el script te preguntará qué hacer con cada nueva característica. Esta forma acepta los valores por defecto. Si quiere que le pregunten, sólo tiene que usar make oldconfig.

RELACIONADO:  Cambio de deposito de liquido refrigerante

Configurando el Kernel

Puedes dejar tu configuración tal y como está, y probablemente estarás bien. Sin embargo, no tiene sentido construir un kernel personalizado si no vas a personalizarlo.

Para personalizar tu configuración, abre make menuconfig.

Se abrirá un menú azul con una lista de categorías. Esas categorías contienen características que puedes seleccionar para incorporar a tu kernel.

Por ejemplo, si realmente quieres construir el soporte para el sistema de archivos BTRFS directamente en el kernel y habilitar otras características, irías a «Sistemas de archivos ->». Luego, desplázate hacia abajo hasta donde veas «Soporte para el sistema de archivos Btrfs». Selecciona la opción que quieras y pulsa la barra espaciadora. La barra espaciadora alterna entre «M», «*» y vacío. «M» significa que la característica se construirá como un módulo que se cargará si es necesario cuando se inicie Ubuntu. «*» significa que la característica se construirá en el kernel y se cargará siempre. El script no incluye opciones en blanco en el producto final.

Cuando haya terminado de configurar las cosas, limpie el directorio.

make clean

Ahora su kernel está listo para ser construido.

Construyendo los paquetes del kernel

Hay un método usado por Ubuntu para construir sus kernels, pero te obliga a usar scripts escritos para versiones anteriores. A veces eso está bien; otras veces se rompe horriblemente. Así que, normalmente es mejor usar el método más genérico de Linux con GNU make.

make-j`getconf _NPROCESSORS_ONLN` deb-pkg LOCALVERSION=-custom

Todo lo que hace esa línea es compilar el kernel en paquetes .deb usando la cantidad de núcleos de CPU de su sistema más uno. También añade «custom» al final de la versión del paquete para diferenciar su núcleo personalizado de los demás.

RELACIONADO:  3 sitios web de escaneo antivirus para analizar sus archivos en busca de VIrus

Nota: la compilación de un kernel puede tardar horas. Ten paciencia.

Instalar el kernel

Encontrarás tus nuevos paquetes del kernel un directorio más arriba. Serán fácilmente identificables por su número de versión. Puede usar dpkg para instalarlos.

cd ..sudodpkg-i linux-firmware-image-4.11.1-custom_4.11.1-custom-1_amd64.
debsudodpkg-i linux-libc-dev_4.11.1-custom-1_amd64.debsudodpkg-i linux-headers-4.11.1-custom_4.11.1-custom-1_amd64.debsudodpkg-i linux-image-4.11.1-custom-dbg_4.11.1-custom-1_amd64.debsudodpkg-i linux-image-4.11.1-custom_4.11.1-custom-1_amd64.deb

Cuando termine la instalación, reinicie su ordenador. Ubuntu arrancará automáticamente con su nuevo kernel. Puede comprobar que lo ha hecho ejecutando uname -r en un terminal cuando se inicie. Si ves tu versión, ¡felicidades! Estás ejecutando tu propio kernel personalizado.