Liberado Kernel Linux 3.17. ¿Lo compilamos en Debian y derivados?

Hace algunos semanas disfruto del Kernel Linux 3.16 (con sus parches habituales y sistemáticos) y feliz y contento luzco mi Trusty Tahr con núcleo a la moda. Curiosamente, el pasado domingo, antes de darme un paseo por el país de Morfeo ya tarde en la noche, decidí pasarle una última mirada al más allá y hube de enterarme de la liberación de una nueva actualización del Kernel Linux. El mismísimo Linus Torvalds, como ya es costumbre, anunciaba la salida de Linux 3.17. Vaya versionitis, a descargar y compilar a ver si me convence. ¿Te atreves a compilar este Kernel junto a mi en Debian o derivados?

Kernel Linux 3.17

tux-telaLinus Torvalds, como ya es habitual, ha enviado un mensaje a las listas de correo del kernel, en este apenas menciona las novedades de esta versión. A grandes rasgos los beneficios traídos por las novedades de Linux 3.17 parecen estar centrados en lo que ya de antemano se espera, comenzando por el soporte de nuevo hardware con ARM a la cabeza, terminando con el soporte para nuevo hardware gráfico. Y los ojos de muchos usuarios están apuntando a los controladores libres de Nvidia y AMD principalmente.

Por ejemplo, el controlador para AMD Radeon cubre finalmente la serie R9 290, pero no por defecto o de manera completa y eficiente, según se advierte en diversos foros. En cuanto a Nvidia, desde que la compañía colabora con el desarrollo de Nouveau estamos viendo más dinamismo que tiempo atrás y este nuevo Linux 3.17 es buena muestra de ello: el soporte para GPUs Kepler con SoCs ARM Tegra K1 introducido en la anterior versión del núcleo sigue puliéndose y se extiende a la familia gráfica de Nvidia: Fermi, Kepler y Maxwell.

Otra novedad en Linux 3.17 es la inclusión de soporte para el mando de Xbox One, pero sin vibración todavía.

Si estás interesado en descargarte esta nueva versión del Kernel puedes hacerlo desde el siguiente enlace:

Descargar Linux 3.17

Llevándolo a nuestra distro

Imagino que la pregunta de muchos será: ¿Que distro, de las populares, será la primera en incluir esta versión de Linux en sus repositorios oficiales? Evidentemente las Rolling Release como ArchLinux. Del resto de las distros no Rolling Release habría que ver cuales de las grandes están próximas a lanzar versiones.

  • Ubuntu 14.10: Canonical ya congeló el desarrollo del Unicornio utópico, así que el caballito de un único cuerno en la frente se quedará sus nueve meses de soporte en la rama 3.16 del Kernel
  • Debian Jessie: Si bien testing aún no ha sido congelado, estamos casi a un mes de que esto suceda y dudo que el equipo de desarrollo se lance en este paso inesperado. Por otro lado, sin analizar más nada, ya leímos semanas atrás que 3.16 será el encargado oficial de la vaquerita de Toy Story e incluso en cierto momento el Ubuntu Team se encargará de este Kernel en Debian. Algo que si es probable es que 3.17 aparezca dentro de unas semanas en los Backports de Wheezy
  • Fedora 21: Ya lanzaron alpha hace algunos días y creo que es el candidato ideal a entrar a la escena de la mano de Linux 3.17, habría que esperar (¿esperar? ese verbo no existe para la comunidad Fedora)
  • OpenSUSE 3.12: Acá hay que sentarse a analizar con cuidado, ya que OpenSUSE tiene su desarrollo bien fragmentado, al extremo de incluir una versión totalmente Rolling Release (Factory), pero habría que ver si el camaleón 13.2 estable sale con el nuevo Kernel de fábrica

¿Impaciente? Atrévete a compilarlo en Debian y/o derivados

Existen varias maneras de compilar el Kernel Linux, pero en Debian existen paquetes específicos que permiten una compilación bastante asequible para los no tan avanzados, un método que se conoce como: Compilación a la Debian’s Way. Hoy vamos a compilar el Kernel 3.17 a la Debian’s Way.

Compilando el kernel Linux

El primer paso consistirá en dirigirnos a la página oficial del kernel Linux y descargar la última versión. Lo podremos descargar desde algún browser o por wget mediante:

$ wget ftp://ftp.kernel.org/pub/linux/kernel/v3.x/linux-3.17.tar.xz

Con permisos de administrador movemos el archivo descargado a /usr/src y luego lo descomprimimos

# mv linux-3.17.tar.xz /usr/src
# cd /usr/src
# tar -xJf linux-3.17.tar.xz

Dependiendo al formato de compresión así mismo descomprimimos en este caso la versión descargada tiene un formato .tar.xz. Ingresamos al directorio que se creo al momento de descomprimir el kernel

# cd linux-3.17

A partir de este paso comienza la diferencia de la compilación a la “Debian Way” respecto al método de otras distribuciones, y es que necesitaremos algunos paquetes para poder construir nuestro kernel linux en Debian GNU/Linux y distribuciones hijas, nietas o bisnietas:

  1. build-essential: Es un paquete que contiene herramientas para la creación, compilación e instalación de programas
  2. pkg-config: Es una herramienta que llama librerías instaladas necesarias para la compilación de cualquier programa
  3. kernel-package: Esta herramienta nos permitirá construir los binarios (.deb) del kernel para nuestro Debian
  4. libncurses5: Aunque esta herramienta no es obligatoria nos será de gran ayuda puesto que proveerá una interfaz escrita en ncurses para customizar nuestro kernel.
# apt-get install build-essential pkg-config kernel-package libncurses5 libncurses5-dev

El paso siguiente será hacer una lista de nuestro hardware para tener claro que módulos de hardware debemos habilitar y deshabilitar en nuestro kernel. Hay que tener bastante cuidado en este punto, suele ser uno de los principales causantes de Kernel incompletos o inestables. Lo que haremos será lo siguiente:

# lspci > estaesmiPC

Si esta salida no es clara y queremos algo menos nerd, podremos instalar la herramienta lshw que nos ofrece un resultado más legible.

# apt-get install lshw
# lshw > estaesmiPC

estaesmiPC será un archivo plano que se creará con la información de nuestros dispositivos. Este archivo nos será de gran ayuda más adelante.

El siguiente paso es opcional y solo debemos realizarlo cuando ya hayamos compilado anteriormente un kernel sobre nuestro ordenador. Este paso borra todos los archivos regenerables de una compilación anterior:

# make mrproper

Iniciar la configuración del kernel

# make menuconfig

La anterior línea de comandos les arrojará una ventana con múltiples opciones de configuración. Es en este punto donde será muy importante los datos recopilados en el archivo estaesmiPC para poder escoger exactamente el tipo de Hardware que queremos activar. Este paso es bien delicado, debe hacerse cuidadosamente, suele ser la causa principal de futuros Kernel Panics. Una vez, adaptada nuestras modificaciones a nuestro kernel volvemos al menú principal y seleccionamos guardar.

Ahora, realizaremos como tal la compilación y construcción de nuestros archivos binarios (.deb). Este paso puede durar bastante, el tiempo varía según la potencia del hardware que tengas. Si tu ordenador es de esos dinosaurios obsoletos que abundan en la isla de Cuba, mejor dedícate a hacer otras tareas diferentes en esa PC, no te va a ser muy útil para compilar un kernel, no vaya a ser que intentando cocinar un kernel a tu medida termines cocinando el microprocesador de la máquina.

# make-kpkg --initrd --append-to-version gutl kernel_image kernel_headers

Te explico cada opción:

  • --initrd: Crear un paquete de imagen adecuada para initrd
  • --append-to-version gutl: Modifica el nombre del kernel por el nombre que le pasemos como argumento. En este ejemplo utilizamos gutl.
  • kernel_image: Este parámetro produce un paquete Debian de la imagen del núcleo de Linux, y cualquier módulo configurado en el archivo de configuración del kernel .config que se creo en el paso anterior.
  • kernel_headers: Este parámetro produce un paquete Debian que contiene los archivos de cabecera incluidos en el kernel Linux.

Subimos un nivel a partir de nuestro directorio actual y verificamos que se hallan creado los .deb de nuestro kernel

cd ..
ls

Si todo ha salido bien entonces ya estamos listos para probar nuestra cena recién cocinada. Es hora de instalar nuestro nuevo Kernel. Procedamos a instalar los binarios del kernel generados por el método anterior. Suponemos que en esa ubicación los únicos archivos DEB existentes son los dos creados de la compilación anterior.

# dpkg -i *.deb

Reiniciamos el ordenador y en nuestro cargador de arranque Grub nos saldrá el Kernel anterior y el nuevo Kernel recién compilado. Entramos por este último y listo. En futuros artículos tal vez profundicemos más en el paso complicado, la configuración pre-compilación.

Fuente:

http://swlx.cubava.cu

http://www.muylinux.com

¿Te resultó interesante? Compártelo ...



Maikel Llamaret Heredia

Publicado por Maikel Llamaret Heredia

https://swlx.info » Facebook » Twitter » Google+ » Linkedin » Forma parte de GUTL desde el 6 diciembre, 2011. Parte de la familia GUTL. Usuario de Tecnologías Libres desde hace varios años. Fiel a GNU/Linux y las filosofías del Software Libre y el Código Abierto. Linux User # 587451. Creador y actual mantenedor del Proyecto SWL-X. Freelancer dedicado al Desarrollo / Diseño Web y Marketing Online. Creador de Web & Media Integrated Solutions

Este artículo tiene 10 comentarios

  1. Hola Familia, aunque ahora estoy en una face windolera por razones de compatibilidades en mi pequeña «snackernet». Acojo con gran satisfacion la publicacion de esta nueva version del kernel. Sigo versionitoso hasta en Lord Gates aunque menos activo por la cerradera. Por otra parte; Maikel, man sigues teniendo 5 ptos aunque ya no uses Debian como tu distro principal y solo me queda agradecerte que sigas publicando cositas insteresantes para los que no tenemos salida al mar. Pronto volvere a usar mi querido Debian, por ahora lo paso a modo servidor en mi viejo P3 Dell, que ahi esta machete.

    Nos vemos.

    • Maikel, man sigues teniendo 5 ptos aunque ya no uses Debian como tu distro principal

      Que yo recuerde, Debian nunca ha sido mi distro principal. De hecho, no creo haber escrito algo parecido al respecto en ningun lugar 🙁

  2. Me kede con ganas de descargar el codigo del Kernell 6.17 es que esta la restriccion de no poder bajar mas de 10 Mb desde el exterior (al menos asi es dentro de JCCE)

    • Wow, brother estas adelantadisimo, de donde conseguiste e Kernel 6.17????

      jeje, ya en serio, descargué y compilé el kernel 3.17 pero por algún motivo la PC dejó de cargarme la bateria del iPhone, incluso con Ipad-Charge así que regresé a mi 3.16
      Si vienes a stgo t copio el kernel 3.17, el 6.17 ese que comentas si te lo voy a deber por un buen tiempo….

    • My bad… mala coordinación ojo-mano (en el teclado numerico el #3 esta bajo el #6 ) asi que pido perdon por mi falta… yo hice un esfuerzo y me actualice (9 GB de informacion) mis respositorios en un viaje a Cfgos que hice y gracias a eso pude obtener esto:

      neji@jc060802:~$ uname -a
      Linux jc060802 3.16-0.bpo.2-686-pae #1 SMP Debian 3.16.3-2~bpo70+1 (2014-09-21) i686 GNU/Linux

      Es increíble que nunca me hubiera dado por recoger las cosas del wheezy-backports. Si hubiera seguido usando solo wheezy aun estuviera por la 3.2.x jaja

Los comentarios están cerrados.