How to configure UNIX or Linux for administration via serial connection

I have this line in /etc/inittab on a server I run that has a serial console:

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

ttyS0 is the serial port. That's all there is to it, at least here.

Edit: You'll probably want something like this in your grub.conf:

serial --unit=0 --speed=57600
terminal --timeout=10 serial console

And then with each kernel:

kernel /boot/vmlinuz ro root=/dev/md1 console=tty0 console=ttyS0,57600

(The important part is the console= arguments)


In addition to the other answers, I'd suggest looking here:

http://tldp.org/HOWTO/Remote-Serial-Console-HOWTO/

Specifically, the GRUB section so that you can get the boot menu too (not just the OS once it begins to load):

http://tldp.org/HOWTO/Remote-Serial-Console-HOWTO/configure-kernel-grub.html


See the other answers if your distro uses inittab. But Ubuntu uses /etc/event.d and most other distros are or will as they adopt the more modern init daemon Upstart. At least it will eventually get rid of those hideous System V "run levels".

If you do have a /etc/event.d/, in there you should have tty1, tty2, .... You may need to copy one of the tty files to ttyS0. (Check /proc/devices to see what you have.)

These files look something like:

# tty1 - getty
#
# This service maintains a getty on tty1 from the point the system is
# started until it is shut down again.

start on stopped rc2
start on stopped rc3
start on stopped rc4
start on stopped rc5

stop on runlevel 0
stop on runlevel 1
stop on runlevel 6

respawn
exec /sbin/getty 38400 tty1

Be sure the device name and the speed are what you want.


You just tell the machine you want to connect to with the serial console to listen on a serial port. Most Linux distributions come with examples in their /etc/inittab files that show how to do it (look for /dev/ttyS0).