v0.1 (24.02.05 SBM) : creación del documento
Este documento pretende ser un diario de la instalación
Debian (unstable) sobre un portatil Ahtec
Signal 1555M.
Para la instalación utilizamos el Debian Installer,
en su versión rc2. Usando un CD netinst.
El arranque se desarrolla sin problemas, escogemos la opción
de arranque expert26 (kernel 2.6).
Al haber indicado el modo experto, se nos hacen muchas preguntas aunque la mayoría se pueden dejar por defecto (especialmente si no se entienden).
Tras seleccionar los módulos se queja de que le falta cargar algunos drivers (seguramente se cargaran más adelante). Interesantes son el b44 (para la tarjeta de red integrada Broadcom) y ipw2100 (el adaptador de red inalámbrica).
Ya al arrancar me detecta dos dispositivos de red: como eth0 la
Broadcom 100BaseT y como eth1 la red FireWire. Por supuesto, selecciono
la primera como primaria.
Tras detectar la red y configurarla, me pide que rama instalar:
seleccionamos unstable
(notando como se erizan los pelillos de la nuca...).
El sistema compartirá disco con un Windows XP, así que
particionamos el resto de disco como una sóla unidad ext3 y una
zona de intercambio (swap).
Tras esto, el instalador detecta hardware, realiza comprobaciones y
eventualmente al instalar el gestor de arranque GRUB localiza mi
"Windows XP Professional" y me informa que lo dejará todo
preparado para un arranque dual.
El segundo arranque, el primero que se hace directo sobre la
instalación en disco, pregunta cosas sobre zona horaria, claves
de usuarios, etc.
Luego nos pregunta de donde vamos a instalar paquetes, y le indico
que lo haré a través de internet (via HTTP).
También finalmente el tasksel
nos da la opción de preinstalar paquetes de configuraciones
habituales.
Dado que me gusta el riesgo, voy a instalar lo que necesite
manualmente, así que escojo la configuración manual y de
momento sólo descargaré las actualizaciones.
Una vez descargados los paquetes pasamos por las pantallas de
configuración de los paquetes que así lo requieren.
Seleccionamos un mapa de teclado: qwerty,Spanish
Configuración de correo: "sólo envio local, no
está en red"
Finalmente se nos presenta el prompt. Ya tenemos instalado el
sistema base. Nos falta instalar el kernel correcto, ya que el
instalador de netinst siempre
instala un kernel 386. Así, mediante aptitude (o el gestor de paquetes
que más os guste) instalamos el paquete kernel-image-2.6-686 que es un
paquete que siempre depende del último kernel disponible.
Una vez hemos arrancado correctamente, ya podemos eliminar el
anterior paquete sin problemas.
Para instalar las X, en vez de utilizar la tarea de aptitude o algo similar, que
instala más paquetes de los que necesito, escojo los paquetes
que me interesan de esa tarea. Concretamente: x-window-system-core,
gnome-desktop-environment, gdm, mozilla-browser, mdetect y read-edid.
Tras algunas configuraciones menores, para las X me pide la
resolución que fijo como única a 1024x768, 60Hz y 24 bits
de color.
Se puede reconfigurar las X con
dpkg-reconfigure --priority=low xserver-xfree86
Uno de los principales problemas de un portátil con Linux es
los sistemas de hardware bastante propietarios que usan. Vamos a ver
que nos encontramos aquí...
Este portátil tiene un touchpad
de Synaptic Devices que emula un ratón PS/2 de dos botones. El
kernel 2.6 ya me lo detecta. Adicionalmente, esta página
informa sobre el driver.
| [dmesg...] Synaptics Touchpad, model: 1 Firmware: 5.8 180 degree mounted touchpad Sensor: 18 new absolute packet format Touchpad has extended capability bits -> 4 multi-buttons, i.e. besides standard buttons -> multifinger detection -> palm detection input: SynPS/2 Synaptics TouchPad on isa0060/serio4 mice: PS/2 mouse device common for all mice |
Existen paquetes Debian para gestionar este dispositivo:
xfree86-driver-synaptics, qsynaptics.
Siguiendo las instrucciones del README.Debian
del driver, modificamos el fichero /etc/X11/XF86Config-4 :
| # XF86Config-4 (XFree86 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 XF86Config-4 manual page. # (Type "man XF86Config-4" at the shell prompt.) # # This file is automatically updated on xserver-xfree86 package upgrades *only* # if it has not been modified since the last upgrade of the xserver-xfree86 # package. # # If you have edited this file but would like it to be automatically updated # again, run the following commands as root: # # cp /etc/X11/XF86Config-4 /etc/X11/XF86Config-4.custom # md5sum /etc/X11/XF86Config-4 >/var/lib/xfree86/XF86Config-4.md5sum # dpkg-reconfigure xserver-xfree86 Section "Files" FontPath "unix/:7100" # local font server # if the local font server has problems, we can fall back on these FontPath "/usr/lib/X11/fonts/misc" FontPath "/usr/lib/X11/fonts/cyrillic" FontPath "/usr/lib/X11/fonts/100dpi/:unscaled" FontPath "/usr/lib/X11/fonts/75dpi/:unscaled" FontPath "/usr/lib/X11/fonts/Type1" FontPath "/usr/lib/X11/fonts/CID" FontPath "/usr/lib/X11/fonts/Speedo" FontPath "/usr/lib/X11/fonts/100dpi" FontPath "/usr/lib/X11/fonts/75dpi" EndSection Section "Module" Load "GLcore" Load "bitmap" Load "dbe" Load "ddc" Load "dri" Load "extmod" Load "freetype" Load "glx" Load "int10" Load "record" Load "speedo" Load "type1" Load "vbe" Load "synaptics" EndSection Section "InputDevice" Identifier "Generic Keyboard" Driver "keyboard" Option "CoreKeyboard" Option "XkbRules" "xfree86" Option "XkbModel" "pc105" Option "XkbLayout" "es" EndSection Section "InputDevice" Driver "synaptics" Identifier "Touchpad" Option "Device" "/dev/psaux" Option "Protocol" "auto-dev" Option "LeftEdge" "1700" Option "RightEdge" "5300" Option "TopEdge" "1700" Option "BottomEdge" "4200" Option "FingerLow" "15" Option "FingerHigh" "20" Option "MaxTapTime" "180" Option "MaxTapMove" "220" Option "VertScrollDelta" "100" Option "MinSpeed" "0.06" Option "MaxSpeed" "0.12" Option "AccelFactor" "0.0010" Option "SHMConfig" "on" # Option "Repeater" "/dev/ps2mouse" EndSection Section "Device" Identifier "Targeta de vídeo genèrica" Driver "i810" EndSection Section "Monitor" Identifier "Monitor genèric" HorizSync 28-49 VertRefresh 43-72 Option "DPMS" EndSection Section "Screen" Identifier "Default Screen" Device "Targeta de vídeo genèrica" Monitor "Monitor genèric" DefaultDepth 24 SubSection "Display" Depth 1 Modes "1024x768" EndSubSection SubSection "Display" Depth 4 Modes "1024x768" EndSubSection SubSection "Display" Depth 8 Modes "1024x768" EndSubSection SubSection "Display" Depth 15 Modes "1024x768" EndSubSection SubSection "Display" Depth 16 Modes "1024x768" EndSubSection SubSection "Display" Depth 24 Modes "1024x768" EndSubSection EndSection Section "ServerLayout" Identifier "Default Layout" Screen "Default Screen" InputDevice "Generic Keyboard" InputDevice "Touchpad" "CorePointer" EndSection Section "DRI" Mode 0666 EndSection |
Fijaos en el LoadModule
del módulo del driver (synaptics) y en la sección que
configura el mismo.
El touchpad se puede
configurar ejecutando qsynaptics
o editando el fichero ~/.qsynaptics
que crea el mismo programa. Hay que tener en cuenta que cada arranque
de la sesión es necesario reprogramar el touchpad con estos
valores. Para ello, podemos programar la ejecución de qsynaptics -r en el programa Sesiones de gnome (o como lo
hagáis con vuestro gestor de ventanas favorito).
Curiosamente (digo curiosamente porque sonido AC'97 hace mucho que
está implantado) no funciona el sonido (he probado de reproducir
un mp3 con xmms y un cd con gnome-cd y nada).
Instalo el paquete de gestión de energia: acpid
Durante la instalación me ha detectado algunos módulos:
| Loading ACPI modules: battery ac processor button fan thermal Starting Advanced Configuration and Power Interface daemon: acpid. |
Con lo cual ya podemos consultar la temperatura y estado de la
bateria (por ejemplo, yo tengo puesto en Gnome el icono de la bateria
en el escritorio).
Esta parte se prevee complicada. Intel no ha liberado el firmware necesario, así que
el kernel de Debian no puede incluir soporte directo para este
dispositivo. Así que tenemos que recurrir al proyecto Intel PRO/Wireless 2100 Driver
for Linux.
Seguimos el howto disponible.
Básicamente, instalamos las wireless-tools.
Seguidamente comprobamos la existencia de los módulos arc4 y
crc32, de los cuales el primero aparece pero el segundo no (leer
siguientes párrafos antes de hacer nada). Malas
noticias. Tenemos que crear el módulo. Según el howto lo podemos compilar a partir
del fuente del kernel, así que instalamos kernel-source-2.6.8.
La instalación me deja los fuentes en el fichero /usr/src/kernel-source-2.6.8.tar.bz2.
Descomprimo en el directorio linux.
Al intentar ejecutar make
menuconfig se me queja de la falta de las librerias ncurses,
instalo el paquete libncurses5-dev.
Sorpresa!! Al entrar y buscar el módulo CRC32 que me falta veo
que ya está... y como no lo había encontrado? Resulta que
se llama 'crc32c'. Así que según esas instrucciones
tenía que ejecutar modprobe
crc32 pero voy a probar con modprobe crc32c que si me
funciona.
Ahora a compilar el driver. Lo descargo de la página del
proyecto y descomprimo en un directorio. En mi caso uso la
versión 1.0.5 (la actual a fecha de escritura de esto).
Según recomienda el autor del howto uso el modo directo, sin
cargar el firmware con hotplug. Quito el comentario a la
linea CONFIG_IPW2100_LEGACY_FW_LOAD=y
y ejecuto make.
Tras un error me doy cuenta que no tengo instaldos los kernel-headers así que en mi
caso instalo el paquete kernel-headers-2.6-686.
Ahora si, make y make install funcionan correctamente. Descargo el firmware tal como indica el
documento de instalación y lo copio en /etc/firwmare .
Cargo el driver con modprobe
ipw2100 y en el /var/log/syslog
puedo ver la carga correcta:
| Mar 2 17:16:21 localhost
kernel: ieee80211_crypt: registered algorithm 'NULL' Mar 2 17:16:21 localhost kernel: ipw2100: Intel(R) PRO/Wireless 2100 Network Driver, 1.0.0 Mar 2 17:16:21 localhost kernel: ipw2100: Copyright(c) 2003-2004 Intel Corporation Mar 2 17:16:21 localhost kernel: ACPI: PCI interrupt 0000:02:06.0[A] -> GSI 10 (level, low) -> IRQ 10 Mar 2 17:16:21 localhost kernel: ipw2100: Detected Intel PRO/Wireless 2100 Network Connection Mar 2 17:16:21 localhost kernel: eth2: Radio is disabled by RF switch. |
Y le ejecución de iwconfig:
| enterprise:/home/sargue/ipw2100-1.0.0#
iwconfig lo no wireless extensions. eth0 no wireless extensions. eth1 no wireless extensions. sit0 no wireless extensions. eth2 unassociated ESSID:off/any Nickname:"ipw2100" Mode:Managed Channel=0 Access Point: 00:00:00:00:00:00 Bit Rate=0 kb/s Tx-Power:off Retry:on RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality:0 Signal level:0 Noise level:0 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 |
Para probarlo, si usáis WEP por ejemplo, con la orden iwconfig eth2 key s:xxxxxx
podéis fijar la llave WEP a utilizar y luego intentar la
conexión a un AP con iwconfig
eth2 essid "apname".
Pues no funciona... revisando los logs encuentro esto:
Mar 2 18:00:15 localhost
kernel: eth2: Radio is disabled by RF switch.
Y mirando la documentación del driver ipw2100, consulto el
contenido de /sys/bus/pci/drivers/ipw2100/rf_kill
para encontrarme que está detenido por hardware.Y no hay solución
sencilla. La página del proyecto ipw2100 me redirige a otro
proyecto: rfswitch. No
parece haber soporte para mi portátil, además que el
proyecto esta MUY verde.
Para todas las copias de seguridad de mis equipos utilizo BackupPC. En el caso del
portatil, usaremos una conexión via rsync sobre ssh.
Ya he
hablado sobre este software en mi
blog. Doy por suficientemente documentado el tema allí.
Quiero conectar mi portatil a discos compartidos de un Windows XP.
Necesito algunos paquetes, como y smbclient
y smbfs. Lo primero es
comprobar que puedo montar la unidad con smbmount correctamente. Al
principio he encontrado problemas con los juegos de carácteres.
Tras algunas pruebas he averiguado las opciones necesarias para que
funcione: codepage=cp850,iocharset=iso8859-15
.
He averiguado el juego de carácteres de Windows mediante la
ejecución de chcp
en la línea de comandos del mismo.
La distribución unstable
es muy volátil, y es necesario mantener lo más
actualizados posibles los paquetes (si eso representa un problema,
mejor no usar unstable y
optar por testing por
ejemplo).
Para facilitar la administración, utilizaremos una
herramienta que nos notifique y descargue automáticamente las
actualizaciones: cron-apt. No
permitiremos que las instale sin supervisión puesto que esta
tarea debe hacerse siempre de manera interactiva, ya que suelen surgir
detalles que requieren nuestra supervisión.
Una vez instalado, modificamos la configuración /etc/cron-apt/config para que
use aptitude en vez de apt-get.
La configuración por defecto de cron-apt lo configura para su
ejecución cada noche a las 4 de la mañana (según /etc/cron.d/cron-apt). Eso
funciona para sistemas que siempre estén conectados, pero en
nuestro caso lo cambiamos para ejecutarlo cada hora.
Debian
Sarge on a laptop
Synaptics Touchpad
GNOME Users Guide