|
Debian \ Compilar Kernel con aceleración gráfica Compilar Kernel con aceleración gráfica
Este artículo ha sido consultado en 900 ocasiones. Aquí explico cómo se compila un kernel en Debian y como he conseguido la aceleración gráfica para mi tarjeta ATI 9600XT (es extensible a muchas tarjetas gráficas con chip ATI)
COMPILACIÓN DE UN KERNEL PARA LINUX
Vamos a explicar cómo compilar un kernel para Debian:
- Lo primero que debemos hacer es instalar los paquetes necesarios para poder llevar a cabo nuestra
tarea. Si tenemos Debian instalado, esto es muy fácil, dado que Debian cuenta con una herramienta llamada apt-get, que permite bajar e instalar automáticamente cualquier paquete. Suponiendo que tenemos el fichero sources.list (que se encuentra en /etc/apt) correctamente configurado, hemos de actualizar la lista de paquetes disponibles (si no lo hemos hecho antes):
Ahora hemos de descargar los paquetes necesarios para realizar la compilación de nuestro kernel, paraello, haremos:
apt-get install kernel-package
apt-get install libqt3-mt-dev
|
- Una vez instalados los paquetes necesarios, hemos de bajar las fuentes del kernel que deseemos (es bastante recomendable bajarse el último kernel disponible, sobre todo si tenemos un hardware relativamente nuevo. Si tenemos una tarjeta gráfica ATI, y deseamos instalar los drivers de ATI, recomiendo descargar dichas fuentes con la herramienta apt-get, de la siguiente forma:
apt-get install kernel-source-2.6.10
|
(en vez de 2.6.10 podemos poner otra cualquiera, actualmente el 2.6.10 es la más moderna disponible)
esto nos dejará en el directorio /usr/src un archivo comprimido que descomprimiremos con la siguiente orden:
cd /usr/src
tar -jxvf kernel-source-2.6.10.tar.bz2
|
una vez descomprimido, tendremos un directorio llamado kernel-source-2.6.10 en /usr/src, y ahora
es aconsejable realizar un enlace simbólico a este directorio (si anteriormente ya tenemos otro
enlace simbólico hemos de borrarlo con la orden rm linux)
ln -sf /usr/src/kernel-source-2.6.10 linux
|
Llegados a este punto, conviene comentar que también podemos bajarnos las fuentes del kernel de www.kernel.org (en este momento el último estable es el 2.6.11.2), para ellobajaremos el fichero linux-2.6.11.2.tar.bz y lo descomprimiremos exactamente igual que
antes:
tar -jvxf linux-2.6.11.2.tar.bz2 -C /usr/src
|
y ahora haremos el enlace simbólico igual que hicimos antes:
cd /usr/src
ln -sf /usr/src/linux-2.6.11.2 linux
|
NOTA IMPORTANTE: Para instalar los drivers de ATI es muy recomendable bajarse lasfuentes del kernel con el gestor de paquetes apt-get y no directamente desde www.kernel.org
- Ahora viene la parte más pesada, configurar el kernel para nuestro hardware, lo que nos permitirá optimizar el kernel para dicho hardware. Para ello, suponiendo que ya estamos en el directorio /usr/src, haremos:
entrando en el enlace simbólico linux anteriormente creado. Ahora hemos de copiar laconfiguración de nuestro actual kernel, que se suele encontrar en el directorio /boot, para ello haremos:
(dónde pone un *, deberemos pulsar el tabulador para que se complete automáticamente el nombre)
Y ahora debemos adaptar la configuración de nuestro kernel actual a la del nuevo kernel,para ello ejecutaremos la orden:
que nos irá preguntando acerca de las nuevas características del nuevo kernel que el anteriorno tenía, aquí si desconocemos lo que nos pregunta, podemos darle a enter y él mismo seencargará de poner la opción por defecto (yo le doy a enter en todas las opciones y loconfiguroluego en el menú gráfico).
Una vez realizado esto, se pasará a la configuración del kernel, para ello tendremos queejecutar la siguiente orden para que nos abra un menú gráfico:
Aquí podremos seleccionar un montón de cosas, desde nuestro tipo de procesador, hasta los sistemas de ficheros que vamos a utilizar en nuestro sistema linux. Suele haber tres opciones para cada casilla: activado dentro del kernel (marca V), activado cómo módulo (marcado conun punto) o desmarcado. Las casillas correspondientes al chipset y sistema de ficheros esaconsejable no variarlas (si estan dentro del kernel no cambiarlas a módulos), ya que estopuede hacer que nuestro nuevo kernel no arranque. En caso de querer instalar posteriormentelos drivers de la tarjeta gráfica ATI, deberemos configurar ciertas cosas tal y como se indicaen el apéndice 1
Cuando finalicemos de configurar nuestro nuevo kernel (lleva su tiempo hacerlo bien), guardaremos la configuración y pasaremos a compilarlo. Para compilarlo existen varias opciones, pero nosotros vamos a crear un paquete .deb que nos permitirá volver a instalarloposteriormente en otro sistema Debian(ojo: el hardware ha de ser prácticamente igual) o volvera instalarlo en nuestro sistema cuando formateemos nuestro disco duro (lógicamente para ellohemos de salvarlo). Para compilarlo, ejecutaremos la siguiente orden:
make-kpkg append-to-version -XXXX --initrd kernel_image
|
(en donde pone XXXX podemos poner cualquier cosa que se nos ocurra, esto identificaráposteriormente a nuestro kernel)
Una vez hecho esto el sistema nos informará que es posible que nuestro nuevo kernel noarranque (si has sido cuidadoso esto no pasará), y nos preguntará si deseamos abortar el proceso, lógicamente responderemos N y el proceso continuará. El proceso de compilación lleva
bastante tiempo (10-15 minutos en un AMD64 3200+ y hasta 4 horas en un Intel Pentium II de333 Mhz)
- Una vez finalizado el proceso, el comando make-kpkg nos ha dejado un paquete .deb en el directorio /usr/src, ahora sólo quedará instalarlo, para ello:
cd /usr/src
dpkg -i kernel-image*
|
Si tenemos instalado grub como selector de arranque, el proceso ya estará finalizado, en caso de tener instalado lilo, tendremos que actualizar el fichero /etc/lilo.conf, añadiendo un nuevopárrafo para el nuevo kernel que acabamos de instalar. Hemos de añadir una entrada para elvmlinuz y para el initrd.img que acabamos de crear (se encuentran en el directorio /boot y los distinguiremos por lo que pusimos a continuación del append-to-version). Una vez hecho esto, deberemos actualizar la configuración de LILO, ejecutando la siguiente orden:
APÉNDICE 1: CONFIGURACIÓN ATI
En este apéndice indico cómo debemos configurar nuestro kernel si deseamos instalar posteriormente drivers para una tarjeta gráfica ATI:
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_KMOD=y
CONFIG_MtrR=y
CONFIG_AGP=m
CONFIG_AGP_chipset=m
CONFIG_DRM=y
CONFIG_DRM_RADEON=m
CONFIG_FB is not set
CONFIG_TMPFS=y
|
y= V (incluido directamente en el kernel)
m = module (para ello ha de quedar marcada con un punto)
COMPILACIÓN E INSTALACIÓN DE DRIVERS ATI
A continuación explico como compilar e instalar los drivers de las tarjetas gráficas ATI. Esto es sólo para distribuciones basadas en Debian (para el resto de distribuciones que utilizan paquetes RPM, ATI dispone del paquete rpm ya listo para instalar.
- Instalación de los paquetes necesarios: Realizaremos la instalación de los siguientes paquetes, utilizando el maravilloso gestor de paquetes de Debian:
apt-get install debhelper
apt-get install xlibs-dev
apt-get install libxtst-dev
apt-get install rpm
apt-get install wget
apt-get install fakeroot
|
- Descargaremos fglrx-installer_8.10.19-1.dsc
y fglrx-installer_8.10.19-1.tar.gz
Ahora procederemos a instalar estos paquetes:
dpkg-source -x fglrx-installer_8.10.19-1.dsc
cd fglrx-installer-8.10.19
fakeroot debian/rules binary
|
Esto descargará los drivers de ATI y nos creará en nuestro directorio los siguientes paquetes:
fglrx-driver_8.10.19-1_i386.deb
fglrx-driver-dev_8.10.19-1_i386.deb
fglrx-kernel-src_8.10.19-1_i386.deb
fglrx-control-qt3_8.10.19-1_i386.deb
fglrx-sources_8.10.19-1_i386.deb
|
- De todos estos paquetes sólo nos interesan el primero y el tercero, que instalaremos con las siguientes órdenes:
cd
dpkg -i fglrx-driver_8.10.19-1_i386.deb
dpkg -i fglrx-kernel-src_8.10.19-1_i386.deb
|
- Ahora nos toca compilar los drivers para el kernel que previamente hemos creado, para ello, primero hemos de descomprimir el paquete fglrx-kernel-src de la siguiente forma:
cd /usr/src
tar xzvf fglrx-kernel-src.tar.gz
|
y ahora compilarlos con la siguiente orden:
cd linux
make-kpkg --append-to-version "-XXXX" --added-modules fglrx-kernel-src modules_image
|
(OJO: donde pone XXXX, hemos de poner lo que anteriormente hemos utilizado para compilarnuestro kernel)
Esto nos creará un paquete en el directorio /usr/src que instalaremos de la siguienteforma:
cd /usr/src
dpkg -i /usr/src/fglrx-kernel*.deb
|
Si no ha habido ningún fallo hasta ahora, ya podremos cargar el driver de ATI con la siguiente órden:
- Ahora sólo nos queda editar el fichero /etc/X11/XF86Config-4, y modificarlo de la siguiente forma:
Section "Module"
...
Load "GLcore"
Load "glx"
Load "dri"
...
# Load "extmod" but omit DGA extension
SubSection "extmod"
Option "omit xfree86-dga"
EndSubSection
...
EndSection
Section "Device"
Identifier "ATI"
Driver"fglrx" # this is the important bit
# If X refuses to use the screen resolution you asked for,
# uncomment this
#Option "NoDDC"
# === Video Overlay for the Xv extension ===
Option "VideoOverlay" "on"
# === OpenGL Overlay ===
# Note: When OpenGL Overlay is enabled, Video Overlay
# will be disabled automatically
Option "OpenGLOverlay" "off"
# === Use internal AGP GART support ===
# If OpenGL acceleration doesn''t work, try using "yes" here
# and disable the kernel agpgart driver.
Option "UseInternalAGPGART" "no"
EndSection
Section "Screen"
Identifier "your screen"
Device"ATI"
Monitor "your monitor"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x960" # this is only an example,
# use your preferred resolution here
EndSubSection
EndSection
Section "DRI"
Mode 0666
EndSection
NOTA IMPORTANTE:Antes de realizar modificaciones en el fichero, esrecomendable que guardeis el actual, por si hacéis alguna modificación que impida que arranque el servidor X, para ello podéis ejecutar lo siguiente:
cp /etc/X11/XF86Config-4 /etc/X11/XF86Config-4.antiguo
|
- Ahora sólo nos queda reiniciar el ordenador y comprobar que el driver está funcionando correctamente, para ello abriremos un terminal y escribiremos:
y comprobaremos que el número de frames esta entre 1000-2000.
En caso de que no se inicie el servidor X, podemos recuperarlo (si lo hemos salvadopreviamente) de la siguiente forma:
cp /etc/X11/XF86Config-4.antiguo /etc/X11/XF86Config-4
|
y ahora iniciar el servidor X con la orden:
Así es como he conseguido que funcionase la aceleración gráfica en mi tarjeta ATI- 9600XT,y este artículo lo hice basándome en otro que podéis ver en el siguiente enlace:
ATI Linux driver packages for Debian
Licencia del documento
Derechos de Autor © 2005 por miguel1111.
Este documento esta liberado bajo la licencia Creative Commons.
Última actualización: 2007-04-29 10:57:00-05
|