lunes, 18 de septiembre de 2006

Instalando Debian GNU / Linux Testing en un AMD-K7 700 Mhz

1. Descripción del equipo
2. Configuración de X.Org
3. Configuración de Frame Buffer para modo texto
4. Ahorro de energía
5. Sensores de temperatura

1. Descripción del equipo

El ordenador consta de los siguientes componentes:
  • Procesador AMD K7 Athlon Slot A 700 Mhz

  • Placa base Gigabyte GA-7IXE

    • Versión de la BIOS 7IXE F7

    • AMD 751 (Irongate) North Bridge

    • AMD 756 (Viper) South Bridge

    • Winbond W83782 health chip

    • 1 x AGP slot supports 2X mode

  • Tarjeta gráfica 3Dfx Voodoo 3 3000 (Versión de BIOS 2.15.07-SD)

  • Monitor Sony CPD-E200E

  • Tarjeta de sonido Sound Blaster PCI 128 (Ensoniq ES1371)

2. Configuración de X.Org

A continuación se muestra el contenido del fichero de configuración "/etc/X11/xorg.conf":
# /etc/X11/xorg.conf (xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the /etc/X11/xorg.conf manual page.
# (Type "man /etc/X11/xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg

Section "Files"
FontPath "/usr/share/fonts/X11/misc"
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/share/fonts/X11/cyrillic"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic"
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/share/fonts/X11/100dpi"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi"
FontPath "/usr/share/fonts/X11/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
# path to defoma fonts
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection

Section "Extensions"
Option "Composite" "true"
EndSection

Section "Module"
Load "bitmap"
Load "dbe"
Load "ddc"
Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "record"
Load "type1"
Load "v4l"
Load "vbe"
EndSection

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "es"
EndSection

Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ExplorerPS/2"
Option "Emulate3Buttons" "true"
EndSection

Section "Device"
### Available Driver options are:-
### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
### [arg]: arg optional
#Option "NoAccel" # [<bool>]
#Option "SWcursor" # [<bool>]
#Option "UsePIO" # [<bool>]
#Option "ShowCache" # [<bool>]
#Option "VideoKey" # <i>
#Option "NoSLI" # [<bool>]
#Option "TexturedVideo" # [<bool>]
#Option "DRI" # [<bool>]
Identifier "Card0"
Driver "tdfx"
VendorName "3Dfx Interactive, Inc."
BoardName "Voodoo 3"
BusID "PCI:1:5:0"
EndSection

Section "Monitor"
#DisplaySize 330 240 # mm
Identifier "Monitor0"
VendorName "SNY"
ModelName "CPD-E200E"
### Comment all HorizSync and VertSync values to use DDC:
HorizSync 30.0 - 85.0
VertRefresh 48.0 - 120.0
Option "DPMS"
#ModeLine "800x600PAL" 36.00 800 818 820 960 600 653 655 750
EndSection

Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 16
SubSection "Display"
Depth 1
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 4
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 8
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 15
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 16
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 24
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 32
Modes "1024x768" "800x600" "640x480"
EndSubSection
EndSection

Section "ServerLayout"
Identifier "Layout0"
Screen "Screen0"
InputDevice "Keyboard0"
InputDevice "Mouse0"
EndSection

Section "DRI"
Mode 0666
EndSection

La profundidad de color está configurada a 16 bits ya que la acceleración 3D no funciona con valores más altos por las restricciones de la propia tarjeta.

3. Configuración de Frame Buffer para modo texto

Hay dos opciones para activar el Frame Buffer en esta tarjeta, una es utilizar el driver propio para la misma y la otra opción es usar el VESA 2.0

Para activar el Frame Buffer propio de la tarjeta se debe pasar al kernel el parámetro "video=tdfxfb:1024x768-24@75". Para ello se debe modificar el menú del gestor de arranque GRUB que se encuentra en "/boot/grub/menu.lst". Se debe añadir el parámetro en la línea que se indican los parámetros a pasar al kernel, quedando de la siguiente manera:

# defoptions=video=tdfxfb:1024x768-24@75

Una vez hecho el cambio, se debe ejecutar el comando quot;update-grubquot; para que el fichero de configuración de GRUB se actualice correctamente.

Este caso solo funciona si el driver "tdfxfb" está compilado dentro del kernel y no como como módulo. Si está compilado como módulo se puede cargar pero no se le puede definir una resolución en el arranque. Por lo que si se usa como módulo, el arranque se verá por defecto en 640x480 y después se podrá cambiar la resolución con el comando "fbset".

La otra opción es usar el driver VESA 2.0. Para ello se debe pasar al kernel la opción "vga=0x318" siguiendo los mismos pasos comentados para el caso anterior.

4. Ahorro de energía

Por defecto el kernel tiene activado el soporte ACPI. Durante el arranque del ordenador se produce un error que hace que no funcione la tarjeta de sonido. La causa del error se puede ver en el fichero "/var/log/syslog" en las siguientes líneas:

pnp: 00:01: ioport range 0xde00-0xde03 has been reserved
...
ACPI: PCI Interrupt 0000:00:0c.0[A] -> Link [LNKA] -> GSI 10 (level, low) -> IRQ 10
PCI: Unable to reserve I/O region #1:40@de00 for device 0000:00:0c.0
Jan 14 00:40:59 mipc kernel: ACPI: PCI interrupt for device 0000:00:0c.0 disabled
Jan 14 00:40:59 mipc kernel: ENS1371: probe of 0000:00:0c.0 failed with error -16

El problema parece deberse a un bug de la BIOS o de la implementación de ACPI en el kernel. Primero se reserva el rango de memoria "0xde00-0xde03" y después lo solicita la tarjeta de sonido y no puede usarlo.

Para solucionar el problema, le debo pasar al kernel el parámetro "reserve=0xde00,64" en el menú del gestor de arranque GRUB que se encuentra en "/boot/grub/menu.lst". Para ello se debe añadir en la línea que se indican los parámetros a pasar al kernel, quedando de la siguiente manera:

# defoptions=reserve=0xde00,64

Una vez hecho el cambio, se debe ejecutar el comando "update-grub" para que el fichero de configuración de GRUB se actualice correctamente. Y por último se deberá reiniciar el ordenador para que los cambios tengan efecto.

Otra solución a este problema es deshabilitar ACPI y habilitar APM. Para ello, el parámetro a pasar al kernel, en vez de "reserve", será "acpi=off". Y se deberá poner en el fichero "/etc/modules" una línea con el valor "apm power_off=1".

5. Sensores de temperatura

Para que se pueda obtener información de los sensores de temperatura de la placa base se debe cargar en el sistema el módulo "w83781d". Para ello se puede añadir el nombre del módulo al fichero "/etc/modules" y al reiniciar estará activo, o se puede ejecutar "modprobe w83781d".

El contenido delfichero de configuración "/etc/sensors.conf" usado es el siguiente:
chip "w83782d-*"

label in0 "Vcore"
set in0_min vid * 0.95
set in0_max vid * 1.05

label in1 "Vcache"
set in1_min 3.3 * 0.95
set in1_max 3.3 * 1.05

label in2 "Vcc3"
set in2_min 3.3 * 0.95
set in2_max 3.3 * 1.05

label in3 "+5V"
compute in3 ((6.8/10)+1)*@ , @/((6.8/10)+1)
set in3_min 5.0 * 0.95
set in3_max 5.0 * 1.05

label in4 "+12V"
compute in4 ((28/10)+1)*@ , @/((28/10)+1)
set in4_min 12 * 0.90
set in4_max 12 * 1.10

label in5 "-12V"
compute in5 (5.14*@)-14.91 , (@+14.91)/5.14
set in5_max -12 * 0.90
set in5_min -12 * 1.10

label in6 "-5V"
compute in6 (3.14*@)-7.71 , (@+7.71)/3.14
set in6_max -5 * 0.85
set in6_min -5 * 1.15

label in7 "+5V SB"
compute in7 ((6.8/10)+1)*@ , @/((6.8/10)+1)
set in7_min 5 * 0.95
set in7_max 5 * 1.05

label in8 "Battery"
set in8_min 3.0 * 0.80
set in8_max 3.0 * 1.20

label fan1 "System Fan"

ignore fan2

ignore fan3

label temp1 "System"

label temp2 "CPU"
compute temp2 @+8 , @-8

ignore temp3

ignore alarms

set beep_enable 1


Para que el sistema "Lm_sensors" lea el fichero de configuración de nuevo, después de cambiar el fichero de configuración se debe ejecutar como root el comando "/etc/init.d/lm-sensors restart".

Para obtener la información de los sensores se puede usar el programa "sensors" en la línea de comandos, o el programa "KSensors" de KDE.

El programa "KSensors" también nos permite obtener la temperatura de los discos duros del sistema. Para hacer lo mismo desde línea de comandos se debe usar el comando "hddtemp" pasándole como parámetro el dispositivo. Por ejemplo, se puede ejecutar "hddtemp /dev/hda" para obtener la temperatura del primer disco duro.

No hay comentarios:

Publicar un comentario