This guide is for Ubuntu Hardy Heron or other systems using upstart instead of sysvinit. If you're unsure about what type of system you're using just look for /etc/inittab. If it's there (and you didn't put it there) then it's a sysvinit system. If not then proceed.
Usually getty is installed default (getty is the daemon we're going to use for connecting through the serial console) but just to be sure run:
domingo@domingo-desktop:~$ getty Usage: getty [-8hiLmUw] [-l login_program] [-t timeout] [-I initstring] [-H login_host] baud_rate,... line [termtype] or [-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H login_host] line baud_rate,... [termtype]
To get getty running on the system we need the file /etc/event.d/ttyS0 :
# ttyS0 - getty # # This service maintains a getty on ttyS0 from the point the system is # started until it is shut down again. start on runlevel 2 start on runlevel 3 start on runlevel 4 start on runlevel 5 stop on runlevel 0 stop on runlevel 1 stop on runlevel 6 respawn exec /sbin/getty -L 9600 ttyS0 vt102
This file setup a console server on the serial interface ttyS0 with the baud speed 9600 and terminal type vt102. You can select an other I just seem to able to remember this one better (I usually only use it when something is terribly wrong and thing need to be fixed fast) and the speed is fine for me.
To invoke the settings without reboot run:
sudo initctl start ttyS0
If no errors occur just run a ps to check if the daemon has started correctly (or just attach a cable):
root@server:~# ps aux|grep 9600 root 8567 0.0 0.0 1716 520 ttyS0 Ss+ 18:40 0:00 /sbin/getty -L 9600 ttyS0 vt102 root 9035 0.0 0.0 3004 768 pts/2 R+ 19:09 0:00 grep 9600
If you just need to put up a quick serial console server (ex. to test the communication ports) you can run the following command:
sudo getty -L 9600 ttyUSB0 vt102
This will make getty listen on the “serial” device called ttyUSB0. In my case this is a usb-to-serial converter as my machine doesn't have a native serial interface. Just change ttyUSB0 to ttyS0 if you have a real serial interface in your machine.