• Aquí vive el Software Libre, coje lo que quieras, da lo que puedas
  • Rápido, seguro, libre e increíblemente fácil de usar
  • Ubuntu: Linux para seres humanos
  • Linux es Educación. Linux es Ciencia
  • Ubuntu es diseño, Ubuntu es innovación
  • Keep calm and enjoy Ubuntu
  • Trata tu teclado como se merece con Ubuntu
  • pf-kernel para Ubuntu
  • Convierte tu iMac en un ordenador de verdad
  • La libertad no es poder elegir entre unas pocas opciones impuestas
  • Software libre, para una sociedad libre

CÓMO HAGO YO PARA ACTUALIZAR EL KERNEL DE UBUNTU A LA ÚLTIMA VERSIÓN Y CONVERTIRLO ASÍ EN UNA SEMI-ROLLING RELEASE

Entrada escrita por: Fernando Lanero Barbero
Con el empuje que están teniendo las últimas versiones del kernel de Linux, es una pena que nuestros Sistemas Operativos, configurados al 100% a nuestro gusto, no disfruten de tan fantásticos avances en mejora de la velocidad global del sistema, rendimiento gráfico, soporte de nuevo hardware, etc, etc.


Yo de un tiempo a esta parte, me gusta centrarme en este aspecto porque ése es realmente el quid de que nuestro sistema vaya mejorando poco a poco. Y, si lo hacemos con un poco de sentido común, rara vez tendremos problema alguno con estas actualizaciones por muy críticas que sean.

Para actualizar el núcleo, utilizo el sistema más casero de todos pero que es el que menos problemas me ha dado. Es decir, me conecto al repositorio donde están todos los kernels para linux:

Index of /~kernel-ppa/mainline

Allí abajo, al final de la página, es donde se encuentra la última versión publicada por Canonical (si, están ordenados por orden cronológico para nuestro gozo y disfrute)


Y cuidado que con "última versión" me refiero a "última versión de verdad". Es decir, todas aquellas versiones que después del número de la misma lleve las letras rc (release candidate), significa que son versiones no finales del kernel que están siendo testeadas aún, por lo que deberás olvidarte de ellas si no quieres romperte la cabeza más de la cuenta.

Resumiendo, que lo que tienes que buscar es la última versión del kernel sin las letras rc que aparezca empezando por la parte de abajo de la página anterior. En el ejemplo que os he puesto arriba, la última versión estable sería la v3.12.7-trusty/

Cuando hallas localizado tan novedoso kernel, pincha sobre el nombre del agraciado. Accederás al directorio que contiene las diferentes versiones en función de la arquitectura del sistema operativo que tengas instalado (32 ó 64 bits).


Desde aquí tendrás que descargarte 3 ficheros, como digo, en función de la arquitectura que tengas. Si en su momento optaste por los 32 bits, deberás descargarte los ficheros que terminen en:


Si por el contrario, tu sistema operativo Ubuntu es de 64 bits, deberás descargarte los tres ficheros que terminen en:


Estaría bien que te los descargases directamente a tu carpeta personal (aka /home) para que no tengas problemas de ningún tipo al correr los siguientes comandos desde la terminal. Hazme caso.

Como digo, ahora te vas a la terminal, y desde allí simplemente ejecuta el siguiente comando:

sudo dpkg -i linux*.deb

* Nota del autor: si no me hiciste caso y te descargaste los tres ficheros donde te dió la gana, antes de ejecutar el comando de arriba tendrás que ubicarte en la carpeta donde te los descargaste.

Espera pacientemente a que termine todo el proceso. Cuando la terminal te devuelva el OK de proceso felizmente terminado, ejecuta un:

sudo update-grub

Para cerciorarnos que el sistema reconoce perfectamente todos los núcleos instalados y no nos deje tirados tras el próximo reinicio.

Reinicia para que los cambios tengan efecto. Si el equipo reinicia correctamente, enhorabuena, ya tienes la última versión del kernel linux correctamente instalado y listo para exprimir tu software. Y creeme, no es una cuestión baladí: yo tras instalar la versión 3.12.7 en mi Ubuntu 12.04 (anteriormente con 3.2.54) corriendo sobre mi amado Sony VAIO TZ31MN, he conseguido ganarle 1,18 segundos en el proceso de arranque; así a bote pronto, he pasado de 16,98 a 15,80 segundos en tener la máquina funcionando. Avisado quedas.


* Nota del autor 2: en caso de que algo vaya mal. Que no te arranque el sistema, que si te arranca falla más que una escopeta de feria, que te queda un sistema operativo parecido a WIndows, no deseperes. Puedes volver tranquilamente a la vesión anterior que tuvieses instalada simplemente reiniciando, seleccionando en el GRUB "Vesiones anteriores de Linux" y eligiendo el último kernel bueno conocido (que será el de numeración más alta). Una vez que el sistema te arranque, ahora sí, con normalidad, ejecutas:

sudo apt-get purge linux-image-3.12.7-* linux-headers-3.12.7-*

Cambiando los números 3.12.7 por los que corresponda a la versión que intentaste instalar y no funcionó.

Después de nuevo:

sudo update-grub

Reinicias y todo debería volver a la normalidad. Aunque claro, yo no me hago responsable de si la pifias y no te funciona... vete a saber lo que has hecho mal de todo lo que te he dicho...

20 comentarios:

Mariano O. Cabrera dijo...

Buen artículo!

ferlanero dijo...

Gracias! Es que es algo que no entiendo de Ubuntu. Sacan una versión con un kernel, todo el sistema va recibiendo mejoras, pero el kernel, pese a ser una de las partes más dinámicas del ecosistema Linux, lo dejan de lado completamente. Con la cantidad de mejoras que se obtienen con cada nueva versión!

ispiriux dijo...

Buenos días y gracias por las aportaciones (con cuentagotas) de este magnífico blog para los ubunturos.

Ahora bien, y desde mi total ignorancia, me pregunto si vale la pena someter nuestro pc o portátil a una serie de maniobras que inciden directamente en lo más profundo del S.O. con el riesgo de que no salgan bien, para ganar 1,68 segundos en el arranque.

1,68 segundos. Creo que podemos perder al día ese tiempo.

Ahora bien, si hay otras mayores ventajas ¿cuales son éstas?

Gracias por vuestra atención y saludos cordiales.

ferlanero dijo...

Buenos y santos. No os quedéis tan sólo con la idea de los 1,8 segundos en el arranque. Ése es sólo un ejemplo que he puesto por lo tangible que resulta nada más instalar el nuevo núcleo. Las mejoras en seguridad, velocidad (como ya he dicho), compatibilidad con dispositivos, estabilidad del sistema y mejora en la duración de las baterías (en el caso de equipos portátiles) hacen que toda actualización sea merecedora de nuestra atención.

Estate atento éstos días al blog para ver por ejemplo la mejora abismal que obtendremos en las baterías de nuestros portátiles al cambiar del kernel 3.2 que viene por defecto en Ubuntu 12.04 al 3.12 que es el último stable release ;)

Jean Pierre Dudey Diaz dijo...

yo tambien hacia asi :p

ferlanero dijo...

Mira qué bien :D

Vladimir Luna Mendoza dijo...

Kernel 3.13 instalado con esta guia :D... en Ubuntu 12.04.4.... de momento nada que lamentar :D.... Por cierto... como se ha comportado contigo, la 14.04 beta 1?... Imagino que ya la estas usando :D....que tal te va?

Corea Corea Rodriguez dijo...

es una excelente info mil gracias ami solo me-gustan las versiones LTS estables

Juan dijo...

Excelente blog y aportaciones, gracias!!!

Imperial Heigths dijo...

Después de haber leído muchos aportes de este blog, podría decir que éste ha sido el mejor por su utilidad, versatilidad y utilidad. El segundo aporte que me ha ayudado más fue una respuesta de Fco. Javier proponiéndome el uso de YPPA Manager, con el que actualicé casi todo lo que podía actualizar. Sin duda los mejores aportes para mí, sería interesante crear una entrada para que cada uno pudiera contar lo que le ha sido más útil del blog.

Ramón Nieto dijo...

He instalado la última versión linux versión 15 y no me ha funcionado, tengo lts 12.04.04. Mi pregunta es, no se actualiza mediante las actualizaciones del sistema, con las versiones probadas? entonces para que intentamos instalar una versión posterior, que no la sugieren las actualizaciones del sistema ubuntu todavía? ¿es seguro hacer esto? o es que hay que probar hasta la que te funcione si la instalas manualmente?

Imperial Heigths dijo...

A mí no me ha fallado nunca este sistema de actualización. Para saber qué kernels tienes basta con dar la orden sudo dpkg -l | grep linux-image* y para saber los headers mediante sudo dpkg -l | grep linux-headers siempre en modo root. Ubuntu no actualiza por sí mismo a la última versión. Es completamente seguro, no he tenido ningún problema y lo llevo haciendo desde la version 3.8.x de kernel si no recuerdo mal.

Imperial Heigths dijo...

Tal vez falte el asterisco al final de la orden para las cabeceras, has
de usarlo en root mejor, veo que no pusiste el sudo delante del dpkg:
sudo dpkg -l | grep linux-headers*
Prueba
así, tendría que ir bien de esa manera. He estado pensando en lo que
dijiste en el otro post, que actualizaste a la versión 3.15 de kernel y
ahí no te sale. Tal vez hagas mal la instalación. Has de bajar los
archivos correspondientes que dice el artículo, que son los terminados
en amd64.deb y all.deb pues creo que usas 64bit, que no tengan
"lowlatency" en su nombre (son tres archivos en total).

Cuando
los bajes has de asegurarte que en "Descargas" solamente tengas esos
tres archivos terminados en .deb (pon todo lo demás en carpetas para
seguridad o para clasificarlos a tu manera. Cuando tengas solamente esos
tres archivos, das la orden en root:
sudo dpkg -i /home/ramonnieto/Descargas/linux*.deb
y se actualizará el kernel a la última versión de manera automática.
Reinicias
con la 3.15 que seguramente tendrás disponible al arranque, y pones
sudo dpkg -l | grep linux-headers* y luego sudo dpkg -l | grep
linux-image* y ahí te saldrá todo lo que tienes.

Para eliminar kernels y antiguos se hace con la orden (te pongo un ejemplo con uno de los que tienes ahí mencionados):
sudo apt-get remove --purge linux-image-3.11.0-15-generic
Deberías dejar al menos los dos más recientes.
Para
eliminar headers antiguos se hace de parecida manera (te pongo un
ejemplo con uno de los que tengo yo pues ahí no mencionas ninguno al no
estar bien escrita la orden):
sudo apt-get remove --purge linux-headers-3.14.6-031406
Recordando que siempre has de dejar al menos los dos más recientes y el más antiguo (que es la base de la distribución).
Espero que así pueda irte bien. Saludos

Imperial Heigths dijo...

Una nota de interés tiene la actualización de los headers (cabeceras). La última versión de cabeceras "generic" es la línea "trusty", como se puede ver si se ejecuta (sin instalar, claro) la orden sudo apt-get install linux-headers-generic-lts* (pero sin instalarla, hay que responder N). Ahí informa de que la última línea de headers genéricos es la "trusty". Para instalarla se pone sudo apt-get install linux-headers-generic-lts-trusty que instalará también dos cabeceras, quedando así:

ii linux-headers-3.13.0-30 3.13.0-30.54~precise2 Header files related to Linux kernel version 3.13.0
ii linux-headers-3.13.0-30-generic 3.13.0-30.54~precise2 Linux kernel headers for version 3.13.0 on 32 bit x86 SMP
ii linux-headers-3.15.0-031500 3.15.0-031500.201406081435 Header files related to Linux kernel version 3.15.0
ii linux-headers-3.15.0-031500-generic 3.15.0-031500.201406081435 Linux kernel headers for version 3.15.0 on 32 bit x86 SMP
ii linux-headers-3.15.1-031501 3.15.1-031501.201406161841 Header files related to Linux kernel version 3.15.1
ii linux-headers-3.15.1-031501-generic 3.15.1-031501.201406161841 Linux kernel headers for version 3.15.1 on 32 bit x86 SMP
ii linux-headers-generic-lts-trusty 3.13.0.30.26

Los headers que se van actualizando cuando se actualizan los kernels son los dos que están entre las dos iniciales y las tres finales (incluyendo el generic-lts), es decir:

ii linux-headers-3.15.0-031500
3.15.0-031500.201406081435 Header files related to Linux
kernel version 3.15.0
ii linux-headers-3.15.0-031500-generic
3.15.0-031500.201406081435 Linux kernel headers for
version 3.15.0 on 32 bit x86 SMP


Estos dos se borrarían cuando se instalase la versión 3.15.2. Yo lo hago porque tengo muy poco espacio en disco duro al hacer mal la partición en la primera instalación. Si tienes mucho espacio tanto da. Espero que este aporte te ayude a entender mejor el proceso. Es muy importante no borrar nada que no sepas para qué sirve.

dani dijo...

a fecha 23-jul, la última versión estable es v3.15.6-utopic

dani dijo...

instalado el último kernel v3.15.6-utopic en un asus eee 1000he con atom n280, 2gb de ram y ubuntu 14.04 y al arrancar me da este error:
[ 14.021893] [drm:i915_irq_handler] *ERROR* pipe A underrun

el portatil arranca bien, pero me molesta tener esa pantalla de error cada vez que lo enciendo ¿sabéis como solucionarlo?

Carlos Salmeron dijo...

Pues solo agradecer, mucha de la informacion aca me esta sirviendo, lo del kernel no lo sabia, que bueno es poder aprender algo nuevo cada dia.

Actualizado a la ultima version.

apradoc dijo...

Excelente tutorial para jugar con nuevos kernel linux. Ahora que 3.16 parece ideal para el último hardware de audio y video

Juan Manuel dijo...

Con Ubuntu 14.04.2 LTS y kernel 3.19.0 low latency me aparece:

W: Possible missing firmware /lib/firmware/rtl_nic/rtl8107e-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8107e-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168h-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168h-1.fw for module r8169

Sé que es del adaptador de red pero no sé porque me advierte de que puede ser posible que falta el firmware, sí el adaptador funciona.

Jair dijo...

A bueno cuando usaba Debian era un error común y enn Ubuntu no me pasa, esto te sale porque necesitas instalar el firmware-realtek.