2.1 KiB
title | date | draft | image | categories | tags | ||||
---|---|---|---|---|---|---|---|---|---|
Compilación Kernel | 2022-12-07T21:18:17+01:00 | false | featured.png |
|
|
Compilación de un Kernel linux a medida
Al ser linux un kérnel libre, es posible descargar el código fuente, configurarlo y comprimirlo. Además, esta tarea a priori compleja, es más sencilla de lo que parece gracias a las herramientas disponibles. En esta tarea debes tratar de compilar un kérnel completamente funcional que reconozca todo el hardware básico de tu equipo y que sea a la vez lo más pequeño posible, es decir que incluya un vmlinuz lo más pequeño posible y que incorpore sólo los módulos imprescindibles. Para ello utiliza el método explicado en clase y entrega finalmente el fichero deb con el kérnel compilado por ti. El hardware básico incluye como mínimo el teclado, la interfaz de red y la consola gráfica (texto).
Descarga
En este caso vamos a descargar el último kernel de linux de la página oficial:
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.0.7.tar.xz
tar xf linux-6.0.7.tar.xz
cd linux-6.0.7
Compilación del kernel
Para configurar los módulos que tenemos cargados actualmente en el sistema tenemos que introducir losa siguientes comandos:
make oldconfig
make localyesconfig
Con lo siguiente podemos comprobar el número de módulos estáticos y dinámicos que tenemos actualmente:
egrep '=y' .config | wc -l
egrep '=m' .config | wc -l
Para compilar el kernel, tenemos que ejecutar el siguiente comando, que aprovecha el número de núcleos que tenemos para reducir al máximo el tiempo de compilación:
time make -j $(nproc) bindeb-pkg
Reducir el kernel
Para reducir el tamaño del kernel tenemos que desactivar módulos. Éstos se desactivan ejecutando el siguiente comando:
make clean
make xconfig
que abre una interfaz gráfica en la que podemos seleccionar los módulos quq queremos activar o desactivar: