31 mayo 2017

Driver privativo NVIDIA en Fedora 26, con Kernel 4.12 rc3. Instalación manual

Hoy, en Kernel - Fedora Koji, han liberado la 3ª versión candidata del Kernel 4.12... y como no puedo estar quieto, he ido a por ella, tal y como comenté en un post anterior.


... Y he "roto" el arranque GDM, con este nuevo Kernel y los drivers privativos de Nvidia, así que toca arreglarlo.

Para los primeros pasos tenéis que arrancar con el kernel anterior de vuestro Grub2 y que sí funcionaba.

Los drivers privativos Nvidia entran en conflicto con el driver Nouveau, que viene por defecto en Fedora, por lo tanto, el proceso pasa por:
  1. Impedir la carga del driver nouveau, añadiéndolo a una "lista negra"
  2. Desinstalarlo completamente
  3. Actualizar el Grub2
  4. Generar un nuevo "initramfs", que no tenga referencias a Nouveau
  5. Y por último, instalar el driver privativo NVIDIA.
Personalmente, siempre me lo descargo de su web oficial, en formato *.run, para luego ejecutar la instalación con este archivo.

1.- Identificar vuestro modelo de tarjeta gráfica

     $ sudo lspci -v | less  (comando extenso, que lista todo; desplazarse hasta llegar a la sección de la VGA)

     $ sudo lspci | grep VGA  (comando corto, y filtrando sólo la gráfica)
 
Ya no hay duda: tengo una gráfica GeForce modelo GT 610, es decir, serie 600

2.- Localizar el último driver  (desplegar 'Mostrar todos los sistemas operativo, si es necesario)
3.- Buscar y descargar el archivo con extensión *.run.  A la hora de escribir este post, el último driver para mi modelo es la 375.66, de 4 de mayo...

http://es.download.nvidia.com/XFree86/Linux-x86_64/375.66/NVIDIA-Linux-x86_64-375.66.run

4.- Dar permisos de ejecución al archivo descargado:
     $ sudo chmod +x NVIDIA-Linux*.run
(si prefieres entorno gráfico, botón derecho del ratón sobre el archivo descargado, propiedades y, en permisos, activas permitir ejecutar como un programa)

5.- Actualiza tu sistema y asegura que tienes todo lo necesario:
     $ sudo dnf -y update 
     $ sudo dnf install kernel-devel hernel-headers gcc dkms acpid

6.- Deshabilita "Nouveau"
     $ sudo echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
     (si el archivo blacklist.conf no existe, se creará)

7.- Edita (sirve cualquier editor) /etc/sysconfig/grub, busca la línea que comienza por GRUB_CMD_LINUX= y al final del todo (y que quede dentro de las comillas), añade lo siguiente:

     rd.driver.blacklist=nouveau

     $ sudo leafpad /etc/sysconfig/grub  (si no tienes este editor y te gusta, instálalo con dnf install leafpad)

En mi caso, éste sería mi archivo, con el añadido.

8.- Actualizar el Grub y remover el driver nouveau.

     $ sudo grub2-mkconfig -o /boot/grub2/grub.cfg  (para BIOS MBR.  En UEFI, el comando de actualización es distinto, pero como no puedo probar si el proceso funciona exactamente igual, no lo pongo para no confundir)
     $ sudo dnf remove xorg-x11-drv-nouveau

9.- Ahora toca generar un nuevo "initramfs"
Por si la "cagamos" (en mi caso es muy habitual), hago una copia de seguridad del initramfs actual y genero uno nuevo:
     $ sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
     $ dracut /boot/initramfs-$(uname -r).img $(uname -r)

10.- Ahora toca instalar, pero para ello debemos parar completamente el entorno gráfico y hacer todo en modo texto. Hay varias formas:
  • En algunas web usan systemctl para cambiar por defecto en modo de arranque y configurarlo en el denominado 'runlevel 3', que no tiene entorno gráfico.
  • En otras, simplemente abren una de las terminales (Ctrl+Alt+F3, por ejemplo) y una vez logeados allí, deshabilitan GDM y lo paran; cuando terminan, vuelven a habilitarlo y lo inician de nuevo.
Yo he probado las 2 y me funciona bien. De todas formas, voy a dar sólo las instrucciones del primer paso, ya que así me aseguro de que no queda ningún rastro de nouveau y que xorg no está cargado.
     $ sudo systemctl set-default multi-user.target
     $ sudo reboot   (a partir de ahora ya no tendrás entorno gráfico, así que imprime las instrucciones siguientes)

Una vez iniciado el equipo nos podemos logear como root directamente, y así nos ahorramos el estar poniendo el 'sudo'

Nos vamos manualmente a la carpeta donde habíamos descargado el binario de NVIDIA y lo ejecutamos. Si en dicha carpeta no tenéis otros binarios de NVIDIA que se "solapen" podéis usar comodines para no teclear el nombre completo del archivo:

     # cd /media/Datos
     # ./NVIDIA-Linux*.run

Vamos contestando a todo que sí. Cuando nos pregunte si queremos que DKMS intente generar nuevos módulos cuando actualicemos el Kernel, le decimos que SI. Si por cualquier causa nos da error, podemos probar indicándole que NO, que si no recuerdo mal es la opción por defecto.

Cuando todo termine (espero que "correctly"), debemos cambiar de nuevo el modo por defecto del arranque, para que nos vuelva a arrancar en el entorno gráfico... Es lo que se llama 'runlevel 5':

     $ sudo systemctl set-default graphical.target
     $ sudo reboot

Y si todo ha ido bien, tenéis que tener correctamente instalado el driver y la utilidad de Nvidia-Settings:


NOTA: Mi experiencia y uso con Nouveau, para lo que necesito, es perfecta, por lo que en mi caso, usar el driver privativo es un mero capricho ya que no juego ni hago uso intensivo de mi gráfica.... pero para gustos los colores..!!!  :-)

Actualizar de Fedora 25 a Fedora 26, sin reinstalar

Aprovechando que hoy es fiesta en Castilla-La Mancha (España), he decidido que hoy tocaba bricolaje informático, así que me he puesto a actualizar el equipo fijo que tengo, para pasar de Fedora 25 a Fedora 26, utilizando las instrucciones que dan en la propia wiki de Fedora.

Ubuntu tiene su apt update-manager -d, que sirve para actualizar de versión sin reinstalar; este proceso en Fedora es similar, conceptualmente hablando.

El proceso es bastante sencillo y limpio, pero aviso que la actualización es lenta... (claro que si tienes discos SSD será bastante más rápido).

Se resume en poco pasos:

- Tener actualizados todos los paquetes.
- Instalar el plugin system upgrade, para DNF, que se encargará de administrar el proceso de actualización.
- Descargar los paquetes correspondientes a la release a la que queremos actualizar...
- Resetear de nuevo el equipo usando system-upgrade, con lo que se arrancará de nuevo el equipo, con nuestro Grub habitual (no detectaremos ningún cambio), y comenzará el proceso de actualización con todos los paquetes descargados en el paso anterior.

System-upgrade hará varias cosas:
  • Inhabilitará repositorios que considere oportuno, para evitar conflictos
  • Habilitará los nuevos que toquen, y nos pedirá permiso para importar sus claves de firma
  • Descargará todos los paquetes de la nueva distribución
  • Y actualizará todo.
 Instrucciones (seguir en orden):


$ sudo dnf upgrade --refresh
$ sudo dnf install dnf-plugin-system-upgrade
$ sudo dnf system-upgrade download --refresh --releasever=26
$ sudo dnf system-upgrade reboot 


Al terminar la descarga,  nos pedirá que reiniciemos usando el siguiente comando


dnf system-upgrade reboot

Así que, como somos muy obedientes, hacemos caso...



El equipo arrancará y comenzarán a instalarse todos los paquetes.

Este proceso a mí me ha tardado más de 1 hora, así que tener a mano el café, el zumo de naranja y el pan para ir haciéndoos una tostada de tomate con aceite que, a parte de ser muy sano, servirá para aguantar la espera.


El "miedo" que yo tenía era si me iba a configurar correctamente la tarjeta NVIDIA que ya tenía configurada en Fedora 25 con los drivers privativos. Mi sorpresa ha sido mayúscula cuando he visto que todo ha quedado perfecto y a la primera, sin necesidad de intervenir de nuevo en la actualización. En su día dejé instalado 'akmod-nvidia', para que las nuevas actualizaciones del kernel me fueran generando automáticamente los módulos necesarios.

Este equipo, como podéis ver, es un core duo, por lo tanto, su BIOS todavía era MBR (no tiene UEFI).
8 GB de RAM y un par de discos duros mecánicos (HDD), con una NVIDIA de 2 GB que me lleva años funcionando perfectamente. De hecho, el ordenador me lo hice hará casi 10 años, con una placa ASUS P5K SE/EPU y todo gobernado con una fuente de alimentación de 630W que, a fecha de hoy, sigue funcionando perfectamente.

En el supuesto de que algo de lo que use me haya dejado de funcionar... pues ya lo solucionaré cuando se me presente el caso, mientras tanto... me he ahorrado la descarga y el tener que hacer un USB de arranque para reinstalar.

Saludos y sin miedo que, siempre que vuestras fotos y archivos personales (que en el fondo es lo importante para un usuario doméstico) los tengáis a salvo en nube o en otra partición, lo peor que puede pasar es que tengáis que reinstalar desde cero, pero, como os digo, no ha sido mi caso.

Último consejo:   

$ sudo dnf -y update
 

18 mayo 2017

Actualizar al último Kernel disponible en Fedora

Esta entrada es para "valientes":
  • ¿eres osado?
  • ¿tienes vértigos?
  • ¿te atreves con el último kernel, aunque no esté publicado aun en el repo oficial de la distro?
Pues vamos a ello.

Según podemos leer en Fedora Magazine, dentro de los paquetes Koji podemos navegar hasta la última construcción preparada del kernel que finalmente aterrizará en Fedora.

Es bastante estable, pero todavía no son definitivos y, por tanto, no están en los repos oficiales.

No obstante, si te atreves...



Desde este enlace accedes a las construcciones. Lo colocas por la última fecha de modificación y vas navegando a través del kernel hasta que llegues a tu arquitectura.
Yo me bajo siempre los siguientes paquetes: kernel, kernel-core, el devel, los headers y los 2 archivos de modules:


Una vez descargados, con la consola es muy fácil su instalación (ojo, cada uno vuestra ruta):

sudo dnf -y install /media/Datos/*.rpm  (yo tengo separada la carpeta de descarga en una ruta independiente, que es común a todas las distros que uso)

Y en el siguiente arranque estaréis con la última versión empaquetada por Koji.

A disfrutar :-)

Último post

Preparando un espacio de trabajo

            Ahora que tengo tiempo, retomo el blog. Por comodidad (y por capricho) he elegido la siguiente configuración: He optado por un ...