Archivos mensuales: enero 2010

Debian Lenny – Driver Nvidia

Actualicé al kernel 2.6.30 y como era de esperarse mi driver de Nvidia ya no funcionaba, En el xorg.conf tenia una linea definida para que cargue el módulo, al no existir dicho módulo mi entorno gráfico no iniciaba.

La linea que definía esto es:

Driver “nvidia”

En caso de querer iniciar entorno gráfico es necesario modificar la anterior linea por:

Driver “vesa”

Paquete necesario para luego instalar el driver:

aptitude install module-assistant

Descargar el driver de Nvidia de:

http://www.nvidia.es/Download/index.aspx?lang=es

Una vez descargado el driver es necesario ir a una terminal gráfica con ctrl + alt + f1.

Loguearse como root, y navegar hasta la carpeta donde se instaló el driver.

Respaldar el archivo de configuración de las X:

cp /etc/X11/xorg.conf /etc/X11/bck-xorg.conf

Matar la interfaz gráfica:

/etc/init.d/gdm stop

En caso de usar Kde:

/etc/init.d/kdm stop

Ejecutar el script:

sh NVIDIA-Linux-x86-190.53-pkg1.run

Iniciar interfaz gráfica:

/etc/init.d/gdm start

En caso de usar Kde:

/etc/init.d/kdm start

Con esto debería quedar andando el driver de video Nvidia.

Anuncios

Debian Lenny – Actualizar kernel

Debian al intentar ser una distribución lo más estable posible tiene la contradicción que los paquetes no son los últimos, sino que generalmente son versiones anteriores mucho más probadas. Este es el caso de por ejemplo el reproductor Vlc, en los repositorios por defecto de Lenny está la versión 0.8.x, mientras que la última versión es la 1.0.3. Esto también pasa con el kernel Linux, la versión instalada por defecto es la 2.6.26, mientras que la versión actual es la 2.6.32.

Aclarar que Linux solo es el kernel, por lo que una actualización solo cambiaría la base del sistema, pero no se perderían ni datos, ni programas instalados. Al iniciar el sistema aparecerán varias opciones, diferenciándose por la versión del kernel. Es el kernel quien administra los drivers, por lo que módulos compilados antes, o drivers pueden perderse.

Para saber la versión del kernel:

$ uname -r

Actualizar kernel:
Básicamente hay dos formas de actualizar el kernel, utilizar uno precompilado desde los repositorios, o bajar y compilar el kernel propio.

La ventaja de compilar un kernel propio es que se puede utilizar la última versión, donde también soporta más hardware, y trae los últimos cambios implementados. También al compilar en base al hardware del pc se evita estar cargando módulos innecesarios que relentecen el sistema.
Como desventaja trae que lleva tiempo, y en caso de fallar hay que comenzar de cero todo de nuevo.

Un kernel precompilado tiene la ventaja que solo hay que ejecutar un comando y el sistema solo lo descargará e instalará, y puede ser utilizado en el próximo reinicio. Este kernel está presente en los repositorios de la distribución que se esté utilizando.
Como desventaja trae que el kernel está compilado para detectar la mayor cantidad de hardware posible, esto hace que sea más lento que uno compilado a mano, pero asegura una mayor detección.

El caso es que Debian en sus repositorios no dispone de una versión más nueva del kernel por los motivos antes dichos. Por lo que una actualización requiere de pasos extras. Yo por ejemplo quiero el soporte ext4 y otros cambios, pero no deseo compilar a mano, por lo que voy a utilizar uno precompilado.

Editar el archivo de repositorios:

# vim /etc/apt/sources.list

Comentar todos los repositorios de la versión actual poniendo un # antes de cada linea.

Squeeze de Debian.

deb http://http.us.debian.org/debian/ testing non-free contrib main
deb http://security.debian.org/ testing/updates main contrib

Actualizar los repositorios:

# apt-get update

Buscar los kernels disponibles:

# apt-cache search linux-image

Muestra una lista con opciones similares a las siguientes:

linux-image-2.6.30-2-486 – Linux 2.6.30 image on x86
linux-image-2.6.30-2-686 – Linux 2.6.30 image on PPro/Celeron/PII/PIII/P4

Instalar el que sea más acorde a la versión del sistema, en mi caso 686.

# apt-get install linux-image-2.6.30-2-686

Reiniciar e iniciar con la nueva versión del kernel.

Tal vez tu driver de Nvidia ya no funcione

Nota: Conviene dejar los repositorios como estaban antes de ser modificados.

Debian Xorg.conf Out of range

Una vez instado Debian, luego de reiniciar, me encuentro con mi primer error, un cuadro en pantalla diciendo Out of range.

Hice una copia del xorg.conf actual por las dudas:

# cp /etc/X11/xorg.conf /etc/x11/actual-xorg.conf

Corrí el siguiente comando para crear una configuración básica del xorg.conf con el cual a mucha gente le anduvo pero no a mi:

# dpkg-reconfigure xserver-xorg

Probé el archivo generado:

# Xorg -config xorg.conf.new

Pero todavía no funcionaba.

Navegando por varios lugares fueron varias las cosas que conseguí:
Por un lado una modificación en el grub (Solo valido para sistemas con arranque grub o grub2).

# vim /boot/grub/menu.lst

Así es como quedó la linea modificada (solo se modifica ro vga=773)

kernel /boot/vmlinuz-2.6.26-2-686 root=/dev/sda4 ro vga=773

Reinicié el sistema, pero todavía no era suficiente para que funcionara.

Copié el xorg.conf.new creado nuevo a la ubicación por defecto:

# cp /root/xorg.conf.new /etc/X11/xorg.conf

Para saber que tipo de tarjeta de video tengo:

# lspci |grep VGA

Esto fue lo que me devolvió:

VGA compatible controller: nVidia Corporation GeForce 7050

Googleando encontré que el driver que debía usar era “nv” o “nvidia”.

Abrí el archivo para modificarlo:

# vim /etc/X11/xorg.conf

Configuración de teclado, la configuración definida acá, es la que aplica cuando se está utilizando el entorno gráfico. Puede suceder que en la consola se esté utilizando el Español, pero al no estar definido, cuando inicie el entorno gráfico por defecto utilice el Ingles.

Section “InputDevice”
Identifier “Keyboard0″
Driver “kbd”
Option “XkbRules” “xorg”
Option “XkbModel” “pc105″
Option “XkbLayout” “es”
EndSection

Como los mouse son bastante más estándares, no necesité modificar este aspecto.

Configuración del monitor, lo que hay que saber en este aspecto es que tasa de refresco soporta, puede ser un rango, o un valor especifico.

Section “Monitor”
Identifier “Monitor0”
Option “DPMS”
HorizSync 60-70
VertRefresh 60-75
EndSection

Configuración de la tarjeta de video:

Section “Device”
Identifier “Card0”
Driver “vesa”
BusID “PCI:0:16:0”
EndSection

* En la sección “Driver” puse “vesa” ya que el kernel no trae el modulo de “nvidia” o “nv”, y se obtiene un error de que no encuentra el dispositivo. Vesa es un driver más genérico.

Configuración de resolución, de haber varios módulos como en este caso, va saltando de uno en uno hasta encontrar uno que ande, si en el modulo hay definidas varias resoluciones, utiliza la primera que encuentra, salvo que no funcione, en ese caso utiliza la siguiente.

Section “Screen”
Identifier “Default Screen”
Device “Configured Video Device”
Monitor “Configured Monitor”
DefaultDepth 24
Subsection “Display”
Depth 1
Modes “1024×768” “800×600” “640×480”
EndSubsection
Subsection “Display”
Depth 4
Modes “1024×768” “800×600” “640×480”
EndSubsection
Subsection “Display”
Depth 8
Modes “1024×768” “800×600” “640×480”
EndSubsection
Subsection “Display”
Depth 15
Modes “1024×768” “800×600” “640×480”
EndSubsection
Subsection “Display”
Depth 16
Modes “1024×768” “800×600”
EndSubsection
Subsection “Display”
Depth 24
Modes “1024×768”
EndSubsection
EndSection

* Depth es la profundidad de color.

Luego de echo esto, es necesario reiniciar el gestor de entrada para que tome los cambios.

En caso de Gdm:
/etc/init.d/gdm restart

En caso de Kdm:
/etc/init.d/kdm restart

Ahora si funcionó.