Categoría: informática

Despues de ver el centro de operaciones de Flapy, LostInJapan, Quicoto, Ale/Pepino, Neki e Ikusuki me toca mostrar mi centro de operaciones casero. En el monitor de la izquierda un Windows XP, en el de la derecha una Debian, en el ordenador pequeñito (Libretto 30CT) una Red Hat (creo que la 5.0 o así) y en la PDA HP iPAQ hx4700 un Windows Mobile 6.

Totoro vigila desde lo alto y cuida mis pelis.


El Windows XP es el de uso diario para navegar por internet, bloggear, jugar al Flight Simulator X, Messenger, etc.

El Debian lo uso para hacer pruebas, chapucillas, servidor de lo que sea cuando me hace falta (Web, FTP, NTP, CVS, VoIP, router, etc. todo lo que se os pueda ocurrir), aprender, etc.

El Libretto lo uso de vez en cuando porque es una monada y porque me costo sudores instalarle un GNU/Linux. Es tan viejo que no tiene ni tarjeta de red, así que cuando me hace falta lo conecto a internet a través del Debian mediante PLIP con un cable LapLink hecho a mano. Aventura que expliqué aquí.

Y si, es verdad. Yo no tengo un Mac ;)

Ya se que lo han puesto en todas partes, pero no he podido evitarlo. Me siento tan identificado.


Si tienes un ordenador sin monitor ni teclado, seguramente trabajes con el mediante SSH o Telnet. Pero ¿y si por algún motivo se cae la red y no puedes acceder a el? Para casos de emergencia como este se puede conectar mediante un terminal por el puerto serie.

Hardware necesario:
Lo primero es tener un cable serie null modem. Existen básicamente 2 tipos: con control de flujo por software y con control de flujo por hardware
Null Modem de 3 hilos con control de flujo por software (XON/XOFF):

GND ----- GND
RX ----- TX
TX ----- RX

Null Modem de 7 hilos con control de flujo por hardware (RTS/CTS):

GND ----- GND
RX ----- TX
TX ----- RX
RTS ----- CTS
CTS ----- RTS
DSR ----- DTR
DTR ----- DSR

Patillaje de los conectores DB9 y DB25:

Señal Patilla en DB9 Patilla en DB25
--------------------------------------------------------------
GND:..................patilla 5................patilla 7
RX:...................patilla 2................patilla 3
TX:...................patilla 3................patilla 2
RTS:..................patilla 7................patilla 4
CTS:..................patilla 8................patilla 5
DSR:..................patilla 6................patilla 6
DTR:..................patilla 4................patilla 20

Cable DB9-DB9:

5 (GND) -----------------------------------------5 (GND)
3 (TX) ------------------------------------------2 (RX)
2 (RX) ------------------------------------------3 (TX)
8 (CTS) -----------------------------------------7 (RTS)
7 (RTS) -----------------------------------------8 (CTS)
6 (DSR) -----------------------------------------4 (DTR)
4 (DTR)------------------------------------------6 (DSR)
CHASIS-------------------(malla)-----------------CHASIS

Cable DB25-DB25:

7 (GND) -----------------------------------------7 (GND)
2 (TX) ------------------------------------------3 (RX)
3 (RX) ------------------------------------------2 (TX)
5 (CTS) -----------------------------------------4 (RTS)
4 (RTS) -----------------------------------------5 (CTS)
6 (DSR) -----------------------------------------20 (DTR)
20 (DTR)-----------------------------------------6 (DSR)
CHASIS-------------------(malla)-----------------CHASIS

Cable DB9-DB25 o DB25-DB9:

Conector DB9 Conector DB25
7 (GND) -----------------------------------------7 (GND)
3 (TX) ------------------------------------------3 (RX)
2 (RX) ------------------------------------------2 (TX)
8 (CTS) -----------------------------------------4 (RTS)
7 (RTS) -----------------------------------------5 (CTS)
6 (DSR) -----------------------------------------20 (DTR)
2 (DTR)------------------------------------------6 (DSR)
CHASIS-------------------(malla)-----------------CHASIS

Como configurar un sistema GNU/Linux:
Se debe tener habilitado el terminal por el puerto serie en el kernel. Para ello tal vez haga falta recompilar el kernel activando dicha opción dentro del apartado “Character Devices”.

Se debe configurar el fichero /etc/inittab para que establezca la conexion entre un terminal y el puerto serie. Tan solo hay que añadir una linea para configurar cada puerto serie que queramos usar (siendo la ttyS0 el COM1, ttyS1 el COM2, etc.).

Para el cable de 3 hilos (control de flujo por software):

T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100

Para el cable de 7 hilos (control de flujo por hardware):

T0:23:respawn:/sbin/getty -hL ttyS0 9600 vt100

Explicación de los campos:
1º- Identificador: Es el nombre del proceso para el terminal.
2º- Runlevels sobre los que se ejecutará el terminal.
3º- Hace que el proceso getty se auto-restaure si por algun motivo muere.
4º- Ejecutable del terminal y sus parámetros.
  -h -> Activa el control de flujo por hardware (RTS/CTS).
  -L -> Habilita el uso del terminal en puertos serie que no activan la
señal de detección de portadora.
  ttyS0 -> Indica el puerto serie a usar (0 para COM1, 1 para COM2, etc.).
  9600 -> Velocidad de trabajo en baudios (se recomienda no subir de 9600).
  vt100 -> Estandar utilizado para las secuencias de escape.
Una vez hecho esto hay que añadir la siguiente opción al arranque del kernel:
En LILO:

image=.....
append="console=ttyS0,9600n8"

Y volver a ejecutar lilo:
# /sbin/lilo

En GRUB:

kernel /vmlinuz-2.6.20.5 root=/dev/hda6 ro console=ttyS0,9600n8

Como configurar un sistema OpenBSD:

Buscar la línea del archivo /etc/ttys:
tty00 "/usr/libexec/getty std.9600" unknown off

Y sustituirla por:

tty00 "/usr/libexec/getty std.9600" vt100 on secure

Esto permite al usuario obtener el control de la máquina después de haber alcanzado el modo multiusuario, es decir, el login.

Para redirigir el proceso de arranque completo al puerto serie basta con crear o editar el archivo /etc/boot.conf para que incluya la línea:
set tty com0

Terminal Cliente:

Una vez configurado el sistema y reiniciado, se puede conectar al ordenador desde otro con el programa minicom o gtkterm en GNU/Linux, o con el hyperterminal en Windows.


#!/bin/bash
complete=`finger | head -2 | tail -1 | awk '{ print $10 }'`
version=`echo $complete | awk -F. '{ print $1 }'`
major=`echo $complete | awk -F. '{ print $2 }'`
wget -c
http://www.kernel.org/pub/linux/kernel/v${version}.${major}/linux-${complete}.tar.gz