«Anakin… Si queremos entender el gran misterio… debemos estudiar todos sus aspectos»
Palpatine, Star Wars III – The revenge of the Sith, 1:00:54 seg
Compilar un nuevo kernel es una buena manera de ganar habilidades a la vez que actualizas/agregas nuevos controladores y optimizas el «corazón» del software de tu sistema operativo preferido[si usas algun sistema operativo de Micro$oft, esto no es una opción, ya que no tendrás de donde hostia sacar el kernel] ¬.¬
Compilar un kernel no es una tarea trivial, por lo que sino lees o sigues pistas acerca puede que te pierdas. Para compilar un kernel desde código fuente lo primero es bajarlo de internet, lo cual no es muy díficil. Sólo debes buscar en Google desde donde descargar el kernel de GNU/Linux. Además, debes conocer muy bien tu hardware, para saber cual driver debes seleccionar a la hora de compilar.
Llégate por https://www.kernel.org/ y en la sección de descargas seleciona el último kernel estable[nunca uses alpha, betas o RCs], acostúmbrate a usar sólo kernels/softwares estables, te ahorrará mil dolores de cabeza, aparte de eso, mi maestro[@nat:.] cuando empecé en este mundo de GNU/Linux, una de sus primeras aclaraciones fue que usara solo software estable, cosa que yo recomiendo encomiablemente a todo el que me pregunta.
Descargando el código fuente:
# wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.4.tar.xz
También necesitamos instalar algunos paquetes:
# apt-get install git fakeroot build-essential ncurses-dev xz-utils kernel-package
Descomprime el tar-ball usando el comando:
# tar xvf linux-4.4.tar.xz
# cd linux-4.4
Ahora bien… Porque no nos complicamos la vida y usamos la configuración que viene por default en nuestro kernel cuando instalamos por primera vez nuestro sistema operativo? Sólo nos quedaría añadir a esto los controladores nuevos que necesitemos. Como vez, con esta opción no debes enredarte a ver que necesitas, sólo cargas la configuración que esta funcionando y añades lo que necesites… Fácil, verdad…
# cp /boot/config-`uname -r` ./.config
En mi caso config-`uname -r` es config-3.16.0-4-amd64, ya que uso Debian 8… Ahora sólo nos queda configurar lo nuevo.
# make menuconfig
Make menuconfig, levanta un menú de configuración con las opciones preseleccionadas[.config anterior] y sólo queda añadir los controladores que necesitemos en el nuevo kernel. Después de seleccionar todo, le damos al botón guardar[Save], y salimos[Exit], lo cual nos actualza el archivo .config sobre el que se generará nuestro nuevo
kernel.
Para compilar sólo queda ejecutar:
# fakeroot make-kpkg –initrd –revision=4.4.0-amd64 kernel_image kernel_headers
Fakeroot ejecuta un comando llamado make-kpkg en un ambiente donde parece tener privilegios de root para lamanipulación de los archivos, muy útil pues permite a los
usuarios crear archivos[tar, ar, deb, etc.] con archivos dentro que posean permisos de root.
El comando make-kpkg crea kernels para Debian/Ubuntu desde codigo fuente. Las opciones usadas son:
–initrd : crea una imagen initrd.
–revision=4.4.0-amd64 : Crea o añade revisiones del kernel, en ese caso 4.4.0-amd64.
kernel_image : Esta directiva genera un paquete Debian[.deb] de la imágen del kernel, y de todos los módulos configuradoe en el archivo .config.
kernel_headers : Esta directiva genera un paquete Debian de las cabeceras del kernel.
Compilar el kenel es un proceso que demora tiempo, todo en dependencia de la PC que uses para este motivo. En mi caso yo uso una laptop un poco viejita[Fujitsu Amilo 1818] con
microprocesador Core TM 2 Duo y 3GB de RAM y demora cerca de 5 horas generar los .deb del nuevo kernel.
Después de compilar debemos hacerlo siguiente:
# cd ..
# ls
linux-headers-4.4.0_4.4.0-amd64_amd64.deb
linux-image-4.4.0_4.4.0-amd64_amd64.deb
Sólo nos queda instalarlo:
# dpkg -i *.deb
En mi caso yo bajé el 4.4.3. Y me funciona de maravilla.
Y con esto empieza a instalarlo en su sistema. Configura todo lo necesario[dual booting si lo necesita y la configuración de GRUB la actualiza] Después sólo queda reiniciar la PC.
# reboot
o
# shutdown -r now
Ahora debes verificar que todo está funcionando normal:
$ uname -a
$ uname -r
$ uname -mrs
$ dmesg | more
$ dmesg | egrep -i –color ‘error|critical|failed’
Con estos comandos chequeas que todo va normal.
Includo lo puedes añadir al Conky.





si pudieras subir aqui mismo la el ultimo kernel estable te lo agradeceria no tengo salida al mar
uso debian 8
muy bueno el post si pudieras subir la fuente q descargaste o subir los .deb ya complidados para poder descargarlos es q no tengo salida al mar
El kernel 4.4.3 pesa 80MB, imposible subirlo a reflejos… Revisa a ver en download.jovenclub.cu a ver si esta… El compilado pesa 46MB, pero creo que no te va a servir porque yo lo compilé para mi laptop una Fujitsu Amilo 1818…
hola soy nuevo en linux, me gustaria saber como añades la muestra de los parametros que tienes en la derecha de tu pantalla.
Gracias.
Es un programa llamado Conky[https://github.com/brndnmtthws/conky], que está en los repos de todas las distros, muy útil y configurable. Sólo debes instalarlo y configurártelo. En internet hay miles de configuraciones disponibles, sólo debes buscar una que te acomode y usarla, o crear una personalizada que satisfaga tus necesidades. La mía es una mezcla de varias, personalizadas a mi gusto, con algunos arreglos menores…
Cualquier detalle que necesites sin ningun problema me escribes.
Salu2.
De hecho hay un tutorial de como acercarse poco a poco a conky[1], y temas[2] incluso para ir probando
[1] https://gutl.jovenclub.cu/wiki/doku.php?id=tutoriales:conky
[2] https://gutl.jovenclub.cu/?s=conky
¡Buena guía! Solo quiero sugerir dos cosas:
– Verificar la firma del archivo descargado con gnupg
Esto importante por seguridad y protección, los pasos los puedes ver en el wiki de Debian:
https://wiki.debian.org/BuildingKernelFromUpstreamSources
– Migrar configuración
Esto se hace con «make oldconfig», y ayuda con opciones q hayan cambiado entre versiones.
– Probar nconfig
Mas reciente, mejor, usa la librería ncurses.
Saludos,
Servilio
Gracias por los tips @Servilio. Anotados :D.