Como frikis geeks de la informática que somos, si usamos cualquier sabor de GNU/Linux, puede que algún día nos entre el gusanillo de compilar nuestro propio kernel.
La forma menos fácil es bajarse los fuentes con git, configurarlo con make menuconfig, compilarlo con make y luego copiar los archivos donde corresponda. Una búsqueda en Google y nos dará todos los tutoriales que queramos.
Pero los usuarios de Debian y derivados, entre ellos Ubuntu, tenemos una forma mucho más sencilla de hacerlo:
- Instalamos los paquetes necesarios que incluyen el código fuente del kernel y las herramientas para compilarlo:
$ sudo apt-get install build-essential kernel-package linux-source libncurses5-dev
- Descomprimir el código fuente que acabamos de instalar:
$ cd /usr/src
$ tar -xjf linux-source-version.tar.bz2
- Configurar nuestras propias opciones del kernel:
$ cd linux-sources-version
$ make menuconfig
- Crear un paquete Debian (
*.deb) con el nuevo kernel (esto tardará un poco porque tiene que compilarlo). El comando make-kpkg debe ejecutarse como root, de ahí el fakeroot, aunque también se puede ejecutar con sudo con un poco de cuidado:
$ fakeroot make-kpkg --initrd --append-to-version=nuestra-versión kernel-image kernel-headers
- Instalar nuestro nuevo kernel:
$ cd ..
$ sudo dpkg -i nombre-de-nuestro-kernel.deb
- Si todo ha ido bien, tendremos nuestro kernel instalado con su correspondiente entrada en el menú de GRUB. En caso de que no esté en GRUB, se debe ejecutar el comando
update-grub.
Además de con los fuentes de los repositorios, también se puede hacer con los fuentes que se bajen de git teniendo en cuenta que el parámetro --append-to-version es necesario (sino puede que de el error package xxx not in control info).
Un truco: para acelerar un poco la compilación, se puede indicar a make-kpkg que lance varios procesos en paralelo. Para ello hay que exportar la variable CONCURRENCY_LEVEL con el número de procesos máximo a utilizar.
$ export CONCURRENCY_LEVEL=4
Hay que tener en cuenta que esta variable no debería ser superior al número de procesadores/núcleos del ordenador porque caería el rendimiento.
Luego, por supuesto, hay que reiniciar el sistema y elegir en la pantalla de GRUB nuestro nuevo kernel mirando que no hayamos metido la pata al configurarlo.
Y esto es todo. Si hay algún error (que lo habrá) lo ponéis en comentarios y también si os ha funcionado, si habéis obtenido mejor (o peor
) rendimiento, si no funcionaba…