Este es un articulo que escribi hace tiempo ya (2003-03-14). Lo tenia publicado en mi web y era bastante popular (segun las estadisticas del apache). Ahora lo vuelvo a publicar aqui:
Introduccion
Una vez configurada la consola serie, podremos conectarnos a la consola de nuestro equipo desde otro por puerto serie.
Esto implica dos equipos:
Basicamente, nuestro “servidor” SERV, y un cliente CLI.
Configuramos lo que detallo a continuacion en SERV, conectamos SERV y CLI por un cable null-modem, y desde CLI accederemos a la consola de SERV.
Para que sirve esto ?? Si es mucho mejor conectarse por red por ssh o incluso telnet!
Ya, pero desde la consola de un equipo, podemos hacermas cosas:
* entrar como root (cuando en general esta deshabilitado el acceso a root por telnet/ssh)
* rebotar la maquina SERV ! (por si se hubiera quedado “frito”)
* rebotar+entrar en modo single user !!
Ambas cosas pueden resultar de gran interes por ejemplo si tenemos 2 equipos Linux A y B con conexion a Internet, configuramos esto en ambos de tal forma que desde cualquiera sea “consola del otro”: desde A podremos conectarnos a la consola de B (A sera consola de B), y vice-versa.
Si por ejemplo B se queda frito, entramos en A por ssh o lo que sea (de forma remota), y desde A abrimos la consola de B: a lo mejor podemos ya algun mensaje “raro” en la consola de B que nos indique el problema (como un Oops por ejemplo). Si no consequimos entrar como root, al menos podemos rebotar la maquina y si hace falta entrar en sigle user para hacer algo de mantenimiento !
Pero como se hace esto ?? Pues ahi va…
Configuracion en el kernel
Primero tenemos configurar el soporte para los puertos series y la consola serie en nuestro kernel. Los kernels de RH ya vienen con este soporte.
* En /usr/src/linux/.config:
... CONFIG_SERIAL=y CONFIG_SERIAL_CONSOLE=y ...
* O si preferimos usar make menuconfig/xconfig
Character devices ---> < *> Standard/generic (8250/16550 and compatible UARTs) serial support [*] Support for console on serial port
Luego hay que compilar el kernel :).
Habilitar el login de root en la consola serie
Primero tenemos que tocar el inittab para que se levante un getty en el puerto serie.
Nuestra consola en cualquier equipo sera el ttyS0 (el primer puerto serie). (Para conectarnos a otro equipo, usaremos el ttyS1)
* En el /etc/inittab:
# T0:S123:respawn:/sbin/getty -L ttyS0 9600 vt100 # ^
*En el /etc/securetty:
Añadir una linea con ttyS0
Configurar Grub
Vamos a configurar dos cosas en Grub:
1- Que grub sea capaz de interactuar con el usuario a traves de la conexion serie: para ver el menu de grub desde la consola serie (CLI) [opciones "serial" y "terminal"]
2- Pasaremos al kernel que cargamos desde grub el parametro console=ttyS0, para que este sepa que debe tratar el ttyS0 como la consola (pero ya no el monitor&teclado).
En este ejemplo, tambien he puesto el parametro de kernel panic=30 que permite que el kernel rebote si hace un panic. [Pienso que es mejor especificar este parametro desde el grub a ponerlo con un echo 30 > /proc/... por si se produce un panic en el arranque, antes que que se carge el script de arranque.]
En /boot/grub/menu.lst:
... serial --unit=0 --speed=9600 terminal --timeout=10 serial console default=0 title Debian, kernel testing - serial console root (hd0,0) kernel /kernel-testing root=/dev/hda3 ro console=ttyS0 panic=30 boot ...
Pues ya esta. Una cosa mas, desde un linux, para conectarse por serie a otra maquina, podemos usar el minicom por ejemplo.
Desde un windows, el hyperterminal o el secureCRT por ejemplo.


Recent Comments