Kernel Linux¶
En este post veremos como configurar el kernel linux y adaptarlo a las necesidades mínimas de nuestra máquina.
Instalación¶
Antes de instalar algo en Entornos Debian:
1 2 | sudo apt update sudo apt upgrade |
Instalamos el paquete del kernel:
1 | sudo apt-get install linux-source-4.9 |
Nos creará un fichero en /usr/src/linux-source-4.9.tar.bz2
Instalamos las bibliotecas de desarrollo para configurar el kernel eligiendo la que mas nos guste:
- menuconfig
1 | sudo apt-get install libncurses5-dev |
- gconfig:
1 | sudo apt-get install libgtk2.0-dev libglib2.0-dev libglade2-dev |
- xconfig
1 | sudo apt-get install libqt4-dev |
Utilizamos un directorio donde trabajar:
1 2 3 4 | mkdir ~/kernel
cd ~/kernel
cp /usr/src/linux-source-4.9.tar.xz ./
tar -xJf linux-source-4.9.tar.xz
|
Utilizamos el fichero de configuración de módulos del kernel actual:
1 | cp /boot/config-`uname -r` ~/kernel/linux-source-4.9/.config |
Etiquetamos la versión del kernel que vamos a crear:
1 | nano ~/kernel/linux-source-4.9/Makefile |
Editamos la línea EXTRAVERSION
:
1 2 3 4 5 | VERSION = 4 PATCHLEVEL = 9 SUBLEVEL = 110 EXTRAVERSION =-1 NAME = Roaring Lionus |
Creamos una nueva configuración del kernel adaptada a nuestra máquina con:
1 2 | cd ~/kernel/linux-source-4.9/
make localmodconfig
|
Con esto nos habrá configurado el fichero ~/kernel/linux-source-4.9/.config
automáticamente.
Ahora podemos usar una de las herramientas de configuración del kernel estando en el directorio ~/kernel/linux-source-4.9/
:
1 | make menuconfig |
1 | make gconfig |
1 | make xconfig |
Yo usaré xconfig
:
Marcamos las casillas de los módulos que necesitamos y guardamos.Ahora se ha modificado otra vez el fichero ~/kernel/linux-source-4.9/.config
.
Con esto ya compilamos:
1 | make deb-pkg |
Podemos usar la herramienta time para ver cuanto tarda:
1 | time make deb-pkg
|
Por defecto el compilador solo usa un core a la vez, si queremos usar mas de uno utilizamos el siguiente parámetro:
1 | time make -j 4 deb-pkg |
Nos creará varios ficheros en el directorio padre:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | juanpe@jpdeb2:~/kernel/linux-source-4.9$ ls -l .. total 342500 drwxr-xr-x 2 juanpe juanpe 21 oct 1 09:37 configs -rw-r--r-- 1 juanpe juanpe 2878 oct 2 09:21 linux-4.9.110-1_4.9.110-1-1_amd64.changes -rw-r--r-- 1 juanpe juanpe 1353 oct 2 09:21 linux-4.9.110-1_4.9.110-1-1.debian.tar.gz -rw-r--r-- 1 juanpe juanpe 1134 oct 2 09:21 linux-4.9.110-1_4.9.110-1-1.dsc -rw-r--r-- 1 juanpe juanpe 141384410 oct 2 08:50 linux-4.9.110-1_4.9.110-1.orig.tar.gz -rw-r--r-- 1 juanpe juanpe 10382700 oct 2 09:18 linux-headers-4.9.110-1_4.9.110-1-1_amd64.deb -rw-r--r-- 1 juanpe juanpe 7783044 oct 2 09:18 linux-image-4.9.110-1_4.9.110-1-1_amd64.deb -rw-r--r-- 1 juanpe juanpe 95573034 oct 2 09:21 linux-image-4.9.110-1-dbg_4.9.110-1-1_amd64.deb -rw-r--r-- 1 juanpe juanpe 869814 oct 2 09:18 linux-libc-dev_4.9.110-1-1_amd64.deb drwxr-xr-x 25 juanpe juanpe 4096 oct 2 09:21 linux-source-4.9 -rw-r--r-- 1 juanpe juanpe 94699084 oct 1 08:27 linux-source-4.9.tar.xz juanpe@jpdeb2:~/kernel/linux-source-4.9$ |
Procedemos a instalar con dpkg
el paquete linux-image-4.9.110-1_4.9.110-1-1_amd64.deb
:
1 | sudo dpkg -i ../linux-image-4.9.110-1_4.9.110-1-1_amd64.deb |
Y reiniciamos:
1 | sudo reboot |