Instalando Debian Etch en un Portatil Compaq nx6320
Tuesday, May 29th, 2007Bueno, como parte de mi frustrada perdida de portatil; se me asignó para trabajar una portatil HP Compaq nx6320; dicho portatil es un Core Duo 2.16Ghz con 1Gb de RAM y tarjeta de video intel 945g … he decidido (por ser estandar de la empresa) instalarle Debian Etch pero agregandole ciertos "detalles" Phenobarbital que la haràn distinta del resto de los equipos.
Se procedió a instalar debian etch 4.0 (actual stable) aprovechando algunos repositorios locales como los de la ULA, Gulmer y uno interno de la institución.
La instalación procedio "casi" sin cambios, veremos por qué
Particionamiento:
Luego de un experimento sobre velocidades y rendimiento de los diferentes filesystems (experimento que proximamente publicaré en el blog) decidí cambiar el esquema básico por algo un poco "mas elaborado":
>df -hT
S.ficheros Tipo Tamaño Usado Disp Uso% Montado en
/dev/sda1 ext2 450M 16M 410M 4% /boot
/dev/sda6 xfs 9,4G 63M 9,3G 1% /home
/dev/sda8 ext3 1,4G 35M 1,3G 3% /tmp
/dev/sda3 jfs 9,3G 1,4M 9,3G 1% /usr/local
/dev/sda9 ext3 1,9G 729M 1,1G 41% /var
/dev/sda5 jfs 19G 203M 19G 2% /var/lib
Observemos, ejemplo; que boot es ext2 (no necesita journaling y podemos montarla en modo ro (solo lectura)).
sda6 (home) es xfs, buenisimo en velocidad para archivos de distintos tamaños, su velocidad de montaje e indexación es sorprendente
sda8 (tmp) montada como ext3 con algunas opciones mas (nodev,nosuid,noexec,data=writeback) que permiten mejor velocidad de esa particion (y algo mas segura).
sda3 y 5 (var/lib y /usr/local) para archivos grandes, append de datos, manipulacion de registros y un journalist efectivo y ademas con bajo consumo de CPU, JFS es bueno para aplicaciones o para dataspaces de bases de datos como postgresql, mysql u openldap.
Instalaciones de paquetes iniciales:
>aptitude install gcc g++ build-essential libncurses5-dev libglade2-dev
Instalación de Kernel 2.6.21.3
Un equipo de estas características requiere un buen kernel, para ello descargamos el kernel 2.6.21.3:
>cd /usr/src
>wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.21.3.tar.bz2
>tar xvf linux-2.6.21.3.tar.bz2
>cd /usr/src/linux-2.6.21.3
Se que suena "extraño" querer compilar un kernel a la manera tradicional en un debian, pero me gusta:
Compilar el kernel 2.6.21.3
>make mrproper
>make oldconfig
>make gconfig (requiere gnome) ò make menuconfig (requiere ncurses)
solo verifiquemos que ALSA este activo y en sound > pci devices > intel HD (driver: snd_hda_intel)
lspci:
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)
Nota: no he tocado mucho la parte de networking (excepto que no tengo ni red de ATM ni WAN).
make all && make modules && make modules_install && make install
mkinitramfs -o /boot/initrd.img-2.6.21.3 /lib/modules/2.6.21.3
Entrada al grub:
Editar el grub para agregar lo siguiente:
title Debian GNU/Linux, kernel 2.6.21-3-686
root (hd0,0)
kernel /vmlinuz-2.6.21.3 root=/dev/sda2 ro idebus=66 pci=routeirq pci=assign-busses
initrd /initrd.img-2.6.21.3
savedefault
idebus mejora la velocidad de bus del ide/sata, que por defecto es 33
Reiniciamos y verificamos:
>uname -a
Linux lexotanil 2.6.21.3 #3 SMP PREEMPT Mon May 28 20:46:55 VET 2007 i686 GNU/Linux
Tarjeta inalambrica broadcom:
>aptitude install bcm43xx-fwcutter
ejecutar:
>rmmod bcm43xx
Verifiquen cuando se compilo el kernel que en device drivers > network drivers > Wireless se encuentra el modulo broadcom bcm43xx en modo M (modulo)
>modprobe bcm43xx
Observen que ahora ha iniciado correctamente el driver:
>dmesg
bcm43xx: Microcode rev 0×127, pl 0xe (2005-04-18 02:36:27)
bcm43xx: Radio turned on
bcm43xx: Radio enabled by hardware
bcm43xx: Chip initialized
bcm43xx: 32-bit DMA initialized
bcm43xx: Keys cleared
bcm43xx: Selected 802.11 core (phytype 2)
PM: Adding info for No Bus:hw_random
ADDRCONF(NETDEV_UP): eth2: link is not ready
bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
SoftMAC: Open Authentication completed with 00:15:79:c3:d0:00
ADDRCONF(NETDEV_CHANGE): eth2: link becomes ready
eth2: no IPv6 routers present
Debian le ha colocado como alias el eth2 (y no wlan0 como en ndiswrapper).
y podemos revisar su status:
>iwconfig eth2
eth2 IEEE 802.11b/g ESSID:"LANPRO" Nickname:"Broadcom 4311"
Mode:Managed Frequency=2.437 GHz Access Point: 00:14:78:C2:D9:00
Bit Rate=24 Mb/s Tx-Power=18 dBm
RTS thr:off Fragment thr:off
Encryption key:off
Link Quality=90/100 Signal level=-42 dBm Noise level=-71 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Adios a Ndiswrapper!!…
Frecuencia de la CPU:
Este equipo tiene 2 cores (nucleos) y podemos manipular la frecuencia de los mismos de manera independiente (obteniendo el mejor equilibrio potencia/ahorro de energia).
en el kernel, en la parte de POWER MANAGEMENT OPTIONS > CPU FRECUENCY SCALING
Activar:
CPU_FREQ > y
Default CPUFREQ Governor > performance
performance governor > y
los otros gobernadores, colocarlos en M
Observen que el modulo Intel Pentium 4 clock modulation (p4-clockmod) debe estar activo.
Luego, editamos en /etc/modules y agregamos:
>vim /etc/modules
p4-clockmod
cpufreq_conservative
cpufreq_ondemand
cpufreq_powersave
cpufreq_stats
cpufreq_userspace
acpi-cpufreq
Probando CPUFREQ:
para ello instalamos el siguiente paquete:
>apt-get install cpufrequtils
y ejecutamos
>cpufreq-set -c 0 -g ondemand && cpufreq-set -c 1 -g ondemand
Si deseamos que sea trabajable desde gnome:
>aptitude install gnome-cpufreq-applet (si no está instalado ya):
>cpufreq-selector –cpu=0 -g ondemand
>cpufreq-selector –cpu=1 -g userspace
y Cargamos los applets en cualquier lado de nuestra barra, sorpresa!, podemos cambiar la frecuencia de cada CPU de manera independiente!

beryl:
Quien no quiere tener beryl en estos dias? … bueno, este equipo viene con una intel 945G que trabaja montando el driver de xorg intel 810
>aptitude install xserver-xorg-video-i810
y en el kernel habiendo activado a i915 como Direct Rendering Manager.
sources de beryl:
editan su /etc/apt/sources.list y agregan estos repositorios de beryl:
deb http://debian.beryl-project.org/ etch main
deb-src http://debian.beryl-project.org/ etch main
agregan la llave gpg de dicho repositorio:
>wget http://debian.beryl-project.org/root@lupine.me.uk.gpg -O- | sudo apt-key add -
Ahora si:
>aptitude update
e instalar:
>aptitude install libcairo2 libcairo2-dev libcairomm-1.0-0 libcairo-perl libmono-cairo1.0-cil python-cairo libgl1-mesa-dev libgl1-mesa-dri libgl1-mesa-glx libglu1-mesa libwxgtk2.4-1 libwxgtk2.6-0 mesa-common-dev mesa-utils libsvn1 libglitz1 libglitz-glx1 libxfont1 libfontenc1 libwnck-common libwnck18 libsvn1
>aptitude install libdrm2 libpng3 libpng12-0 libpng12-dev libxdamage1 libxcomposite1 x11proto-core-dev x11proto-composite-dev 11proto-damage-dev x11proto-fixes-dev x11proto-gl-dev x11proto-render-dev x11proto-randr-dev
y luego instalar beryl:
>beryl-core beryl-plugins-data beryl-plugins emerald beryl-settings beryl-manager beryl emerald-themes beryl-plugins-unsupported
Ahora editar el xorg.conf y modificar las siguientes secciones:
agregar:
Section "Extensions"
Option "Composite" "Enable"
Option "RENDER" "Enable"
EndSection
agregar:
Section "ServerLayout"
Option "AIGLX" "true"
La seccion device queda:
Section "Device"
Identifier "Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller"
Driver "i810"
BusID "PCI:0:2:0"
Option "RenderAccel" "true"
Option “AllowGLXWithComposite” “true”
EndSection
Luego que todo está listo, reinician las X (CTRL+ALT+BACKSPACE) o simplemente reinicien el equipo.
Busquen en: Aplicaciones Gnome > Herramientas de Sistema > Beryl Manager
El Automáticamente cargará en modo Beryl, en su menú emergente pueden cambiar entre metacity (modo gnome por defecto) y beryl.
bluetooth:
Cada vez mas gente tiene equipos con bluetooth, celulares, camaras, ratones!, bueno, nuestro equipo puede "fungir" como un hub bluetooth para enviar y recibir archivos, conectarse a dispositivos, etc.
para ello instalamos:
>aptitude install libopenobex1 openobex-apps bluetooth
y configurar en el applet que emerge llamado "bluetooth manager":

recordemos que en /etc/bluetooth/hcid.conf podemos configurar el passkey de nuestro portatil, aunque por defecto es 1234
>vim /etc/bluetooth/hcid.conf
# Default PIN code for incoming connections
passkey "1234";
en la seccion device he decidido cambiarle el nombre al dispositivo bluetooth:
# Default settings for HCI devices
device {
# Local device name
# %d - device id
# %h - host name
name "%h-%d";
por:
name "lexotanil";
reinicio el servicio:
/etc/init.d/bluetooth restart
y verifico que el device esta activo:
>hcitool dev
Devices:
hci0 00:16:41:C5:5D:10
fijense que el scan puede descubrir el bluetooth de mi celular:
>hcitool scan
Scanning …
00:12:D1:1C:AB:FF Jesuslara
Confirmo entonces que el bluetooth funciona.
Lectora SD/MMC:
lspci | grep Mass
Mass storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)
La lectora es una texas instruments, aunque el driver sdhci (con algunos cambios) soporta estos device; el driver TI fue liberado hace poco e incorporado al kernel:
>lsmod | grep tifm
tifm_7xx1 10624 0
tifm_core 10368 1 tifm_7xx1
>modprobe sdhci
para probar si lee correctamente probamos con una mini-SD, una SD y una MMC (no tengo m-stick o una CF):
La mejor forma para probar un dispositivo es usando udevmonitor y esperar a que la lectora SD reaccione ante la inserciòn de un dispositivo:
>udevmonitor
Lo que nos muestra que un device ha sido detectado:
UEVENT[1180404391.828884] add@/devices/pci0000:00/0000:00:1e.0/0000:04:06.2/tifm_sd0:1
UDEV [1180404391.828884] add@/devices/pci0000:00/0000:00:1e.0/0000:04:06.2/tifm_sd0:1
y luego es montado sin problemas.
GDesklets!
Como conclusión, con algo de esfuerzo hemos personalizado el equipo para que funcione optimamente y tenga los ultimos periquitos técnicos; como por ejemplo: Gdesklets!
>aptitude install gdesklets

En equipos previos a este (como mi Acer Travelmate C314) habia hecho funcionar gran parte del hardware; si me faltó algo por que funcionara, pueden indicarme y procederé a explicar su instalación (claro, si se puede).
