Cosas varias, tecnología y familia.... y descargos de la pega

jueves, 25 de septiembre de 2008

Serial Console Linux in 1 (or more) steps

(esta está copiada con sus comentarios del ex-blog)

Bueno, una guía super corta de como se activa la puerta serial para consola en linux.

Primero averigua si tienes las puertas seriales activas y reconocidas en el kernel (si no, debes habilitarlas en la BIOS de la máquina)
Para eso puedes ver el dmesg (como root o sudo)

# dmesg | grep ttyS
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
...

Los valores en negrita son los que te indican que están activos, el famoso UART

Otra forma es con el programa setserial (que es posible que tu distro no lo tenga)

# setserial -g /dev/ttyS[0123]
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3
/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3

En este caso tengo dos seriales: com1 y com2 en ttyS0 y ttyS1 respectivamente.

Bueno... a lo que importa; Edita y agrega la siguiente linea en /etc/inittab

c0:12345:respawn:/sbin/agetty -8 9600 ttyS0 vt100

Puedes cambiar vt100 por vt102 o linux o ANSI (casi no cambia nada). Despues tambien tienes que editar el archivo /etc/securetty y agregar ttyS0 o ttyS1 o los 2, ejecutas el siguiente comando

# init q

Y ya, intenta conectarte con cualquier programa serial (minicom en linux, procom en Win, teraterm win, etc etc) 9600 8n1

Con eso es necesario y suficiente para conectarte en forma serial, si quieres mas opciones sigue leyendo

Para mejorar un poco las prestaciones de esto, puedes hacer que Grub se muestre tambien en el inicio vía puerto Serial

Agrega las siguientes lineas a /boot/grub/menu.lst como sigue, antes de la seccion de titulos (title)

serial --ubit=0 --speed=9600
terminal --timeout=5 serial console

Con esto entregas un mensaje de 5 segundos para presionar cualquier tecla, y dependiendo de donde se presione esta tecla (consola o terminal) es donde se muestra el menu de grub.

Ahora si quieres que se muestren todos los mensajes del inicio del kernel (en ocaciones muy necesario) en tu consola serial, debes agregar otra cosa en el grub, en la seccion del kernel

# (0) Arch Linux
title Arch Linux
root (hd0,0)
kernel /vmlinuz26 root=/dev/sda3 ro vga=794 console=ttyS0,9600
initrd /kernel26.img

Sería bueno tener un menu independiente para tu acceso serial si quieres tener los mensajes del kernel en tu consola serial

Y listo, con eso se termina este tip..


comentarios

  1. Gracias por este pequeño manual lo estoy intentando, y tengo una pregunta.-
    El apartado # (0) Arch Linux
    title Arch Linux
    root (hd0,0)
    kernel /vmlinuz26 root=/dev/sda3 ro vga=794 console=ttyS0,9600
    initrd /kernel26.img

    como se añade al kernel?.-

    muchas gracias y un salduo
    (uso Hardy 8.04 LTS y voy a intentarlo)

    Escrito por Carlos — 28 Oct 2008, 12:50

  2. Eso está en el menu de grub en /boot/grub/menu.lst. Cada "title" es una forma de entrada al menu de inicio del grub (uno para tu linux, uno para tu windows si lo tienes y etc) al agregar "console=ttyS0,9600" en la línea del kernel le dices que su consola principal va a ser ttyS0 (com1) a 9600 bps. y asi entrega todo el despliege de inicio en la consola serial (no va a aparecer en la salida VGA normal)

    Escrito por CarLost — 29 Oct 2008, 17:53

Counter