lunes, 13 de octubre de 2014

Como tener varias ramas del Kernel en openSUSE Factory (3.16.x, 3.11.x)

Si hablamos de Linux, o de distribuciones GNU/Linux, no siempre tener el último Kernel es lo mejor. Lo último no nos garantiza que nuestra máquina vaya "fetén", todo depende del Hardware que tengamos, más o menos viejo, más o menos nuevo.

Del mismo modo depende del software y del soporte en drivers que este entregue, si no se va actualizando con los nuevos kernels "la hemos cagao Federico".

Hoy me hallo aquí, frente a vosotros, con la frente despejada los mocos sonados y con un tutto que puede servirle a más de uno, como ha sido mi caso. De Kernels y openSUSE va la cosa.


Estoy pensando en como estructurar el post para que sea interesante y tenga sentido, así que lo mejor será empezar por el comienzo, como en todos los cuentos donde hay una bruja mala que al final acaba derrotada.

Para digerir mejor lo que os voy a contar, encarecidamente os recomiendo que le déis al play si de verdad de verdad os gusta la buena música como a mí. La picha no la tengo muy larga pero el oído si lo tengo bastante fino.




Los últimos kernels 3.16.x y 3.17.x son muy caprichosos con mi WebCam Logitech y no me funciona en ciertas aplicaciones, como en el Guvcview por ejemplo y en Hangauts de Google. La solución pasa por instalar un Kernel inferior a los citados.

Esta tarea es muy sencilla por ejemplo en KaOS, al tener varias ramas del Kernel en sus repositorios (linux, linux-next y linux-lts), desde Pacman eliges cual instalar y leña al mono.

En openSUSE Factory, que es la distro que nos ocupa, hay que marearse un poco más pero tampoco es que sea súper-complicado-de-la-muerte. Si te hace falta un kernel inferior por cualquier motivo, solo debes seguir mis pasos, irás en la buena dirección (parece un eslogan electoral)

Antes de nada la consabida advertencia: Esto está basado en mi propia experiencia, el llevarlo a cabo corre bajo tu responsabilidad, que a mi me funcione no quiere decir que les funcione a todos. Si no tienes problemas de ninguna clase y no te hace falta otro kernel, ráscate el culo y no toques nada que luego las manos van al pan.

Empezamos, empezons:

En los repos de openSUSE Factory solo viene el kernel 3.16.x (3.16.4 en este caso) así que hemos de agregar un repo para otro kernel, el repositorio de la propia openSUSE.

Una vez ahí nos dirigimos al repo Kernel / openSUSE 13.1 standard

Elegimos la 13.1 por ser la última estable y la más cercana a Factory. Además, la 13.2 traerá el kernel 3.16.x y estaríamos en las mismas ;)

Ahora agregaremos el repo del kernel de la 13.1 a nuestra Factory. Para eso desenfundamos Yast2 y nos dirigimos a Repositorios de software donde en Añadir meteremos el nombre del repo y la url le damos a siguiente y vamos aceptando la key y eso.

Nombre: Kernel builds for branch openSUSE-13.1 (standard)
URL: http://download.opensuse.org/repositories/Kernel:/openSUSE-13.1/standard/


Ya que tenemos añadido el repo y se han recargado los repositorios procederemos a instalar el kernel del repo de openSUSE 13.1 que en este momento es el 3.11.10.

Nuevamente en Yast2 abrimos instalar / desinstalar software, como toma como referencia y prioridad el kernel 3.16.4 de los repos de Factory no veremos el 3.11.10 para instalarlo, así que lo haremos de la siguiente manera.

NOTA: En una primera instancia instalé el kernel-desktop-3.11.10 , ya que en la primera instalación de openSUSE Factory desde el Live este me instaló el kernel-desktop-3.16.3 y me iba bien, pero en el kernel-desktop-3.11.10 no me va Gnome Shell fluido y se arrastra un poquito, así que he cambiado por el kernel-default-3.11.10 que me va perfecto.


Aquí ya cada usuario debe probar con que variante del kernel le va mejor, sin con kernel-desktop o con el kernel-default.

Para el ejemplo usaré el kernel-desktop ya que tengo las capturas hechas, si van a ir por otro kernel solo es cambiar la variante.

En instalar desinstalar software en el cuadro buscar tipeamos kernel-desktop, nos dirigimos a la pestaña versiones y picamos (marca en verde) en el kernel de nuestra arquitectura, en mi caso 64-bits. Para instalar le damos a aceptar y pista!



Una vez instalado se debe haber agregado al GRUB en la lista de kernels disponibles.

También podemos regenerar el GRUB con la siguiente orden en la terminal.

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Para los que no uséis el GRUB de openSUSE, como es mi caso que uso el GRUB de KaOS para manejar el arranque de mis 4 distros, para que este nuevo kernel de openSUSE os aparezca en el GRUB de vuestra distro solo tenéis que regenerar el GRUB en esa distro que maneja el GRUB.

Luego tan solo es escoger el nuevo kernel 3.11.10 durante el booteo en opciones avanzadas del kernel de openSUSE Factory.

Y un tutto de esta índole no valdría nada sin la captura del resultado final. Ahora desde el Kernel-default-3.11.10 me funciona la webcam perfectamente en Guvcview :)


Pero... ¿que pasa si no nos va bien con el nuevo kernel instalado, lo podemos eliminar y quedarnos con el de los repos de Factory? Claro que si.

No vamos nuevamente a Yast2 instalar o desinstalar software, volvemos a tipear kernel-desktop (que era el del ejemplo) nos dirigimos a la pestaña versiones y volvemos a picar en el kernel 3.11.10 hasta que se marque con una X roja y aceptamos. Esto nos desinstalará el kernel y openSUSE regenerará el GRUB.

Si no lo hace o si el GRUB lo maneja otra distro solo tenéis que regenerarlo de nuevo.


Si ya tampoco queremos el repositorio de kernels de openSUSE desde Yast2 / Repositorios de software podemos eliminarlo.

Y bueno, creo que no me dejo nada atrás, mientras escribía el post he tenido visita y tuve que hacer una pausa. Yo soy de los que cuando publica debe hacerlo todo del tirón sino me desconcentro. No puedo dejar un post en borradores y retomarlo otro día, imposible para mi.

Esta es la manera en que podemos tener varios kernels en nuestra openSUSE Factory, de este modo si algo no nos funciona en el más nuevo siempre podemos ir a uno anterior en el que si funcione.

Mis agradecimientos a los amigos de G+, Carlos E González y Virgilio César por orientarme en este tema.

Sitios de orientación | El Replicante y Desde Linux

Enjoy  ;)


8 comentarios:

  1. También tenía problemas con guvcview en arch pero hoy mismo lo han actualizado y me funciona bien.

    ResponderEliminar
    Respuestas
    1. En efecto, acabo de actualizar mi Antergos y ya funciona el Guvcview con la webcam Logitech en el Kernel 3.17 :)

      Eliminar
  2. Hola, muchas gracias por el tutorial!!
    A mi me parece que el kernel 3.16 me da problemas con el rendimiento, curiosamente con muchas distros con ese kernel libreoffice no me funciona con planillas cargadas y en opensuse 13.1 no tengo problemas, así que ahora probaré eso en factory que la tengo en partición a parte.
    Curiosidad: Cómo haces para mantener el grub de Kaos y seguir instalando sistemas operativos?
    Mil gracias y un saludo.

    ResponderEliminar
    Respuestas
    1. Esto te puede servir:

      http://kaosx.us/phpBB3/viewtopic.php?f=7&t=261

      Eliminar
    2. @maximiliano

      Precisamente ese es mi siguiente tip que ya estaba preparando.

      Lo publicaré esta tarde/noche.

      Eliminar
    3. @Diego

      Exacto, tal y como me recomendaste un día ;)

      Eliminar