Compile su propio kernel de Linux

En los viejos tiempos, compilar el kernel de Linux a menudo era una necesidad. Si deseaba que funcionara una determinada pieza de hardware, o si deseaba eliminar parte de la "grasa" del kernel, necesitaba compilar el kernel específico para su máquina. Nunca fue un proceso fácil (al menos hasta que lo dominaste) y siempre tomó un largo período de tiempo.

Entonces, ¿por qué molestarse ahora? ¿Si las máquinas son lo suficientemente grandes y rápidas como para no preocuparse por problemas como módulos centrales adicionales o espacio? Hay muchas más razones para querer compilar su propio kernel. Una de esas razones es la experiencia. Nada dice "Linux" como compilar su propio kernel. Pero aparte de eso, obtener el máximo rendimiento de su servidor u obtener un poco más de seguridad, estos son dos excelentes ejemplos de por qué necesita aprender a compilar su propio kernel.

En este artículo, le mostraré cómo hacerlo: construya su propio kernel de Linux.

Una palabra de advertencia

Antes de realizar esta tarea, es mejor leer este documento en su totalidad en lugar de solo revisarlo paso a paso. También querrá asegurarse de que su sistema tenga un kernel que funcione. Entonces, si el núcleo que está construyendo no funciona, deberá volver a él.

Además, pretendo ser lo más general posible. Puede haber herramientas o tareas específicas para su distribución. Si encuentra que falta algo en su distribución en particular, o un paso específico no funciona para su distribución, no lo indique en los comentarios para que se pueda resolver.

Que necesitas

No necesitará más que la última fuente del kernel (descargue la última de kernel.org), deberá asegurarse de tener gcc instalado y necesitará mucha paciencia. Este proceso puede llevar mucho tiempo... así que asegúrese de tener suficiente tiempo para que esté deshabilitado.

Si no tiene instalado gcc, puede hacerlo usando un comando similar a cualquiera de estos (dependiendo de su distribución):

sudo apt-get install gcc

yum instalar gcc

NOTA: El último comando requerirá que obtenga la raíz primero.

Gran parte del proceso de construcción del kernel requerirá acceso de root.

Proceso de compilación

Figura 1

Ahora es el momento de ponerse a trabajar. Voy a enumerar los pasos para compilar:

Descomprimir el código fuente en / usr / src / con el equipo tar -xjvf linux-2.6.XXX.tar.bz2 -C /usr/src. Donde XXX es el número de emisión.

Ir a la recién creada /usr/src/2.6.XXX directorio usando el comando mv /usr/src/linux-2.6.XXX (Donde XXX es el número de emisión).

Emitir un comando make menuconfig.

Según estos ncurses, deberá revisar todo el kernel y eliminar (o agregar) los módulos necesarios. Esto puede llevar algún tiempo, así que siga este paso con mucho cuidado.

Una vez que haya terminado de seleccionar todos los módulos, salga de esta herramienta e ingrese el comando que hacer. Esto compilará el núcleo.

Después de completar el make inicial, emita el comando hacer módulos para compilar módulos para su kernel.

Ahora es el momento de instalar los módulos del kernel usando el comando hacer módulos_instalar.

Ahora instale el kernel con el comando hacer la instalación.

Sobre el último comando se instalarán los siguientes archivos / descargar:

  • Sistema.mapa-2.6.XXX
  • config-2.6.XXX
  • vmlinuz-2.6.XXX

Donde XXX es el número de emisión.

Ahora necesita crear un archivo initrd usando los comandos:

cd /boot/
mkinitrd -o initrd.img-2.6.XXX 2.6.XXX
Donde XXX es el número de emisión.

Ahora necesita actualizar Grup para incluir el nuevo kernel. Dependerá de la distribución que estés utilizando. Nos ocuparemos de esto en un artículo separado.

Observaciones finales

Acaba de ensamblar su primer kernel de Linux. Es posible que ni siquiera necesite hacer esto, pero siempre es bueno comprender lo que los usuarios de Linux de la vieja escuela tuvieron que pasar. Honestamente, no he tenido que compilar mi propio kernel en mucho tiempo. Pero saber cómo hacerlo le permite tener un control completo sobre su sistema Linux.

Artículos de interés

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Subir

Si continuas utilizando este sitio aceptas el uso de cookies. Más información