From LedHed's Wiki
Revision as of 15:01, 8 June 2022 by Ledhed (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Serial Console HowTo

Overview

Sometimes it is handy to be able to redirect a TTY Console to a serial port. One such example might be that your server is headless (No VGA, Keyboard, or Monitor) The info on this page will help you enable console access via a serial port.


Instructions

To redirect a Linux Console to a serial port edit /etc/inittab and add this line at the end of the '# Run gettys in standard runlevels' section.

S0:2345:respawn /usr/sbin/agetty -h ttyS0 38400 vt100

When done issue this command to make the changes take effect:

init q


Explanation

TTY-ID:RUN-LEVELS:respawn COMMAND -SWITCHES PORT TERMINAL-EMULATION (For greater detail on inittab or agetty see the References Section below)


General Notes

1) In this HowTo I used 'agetty' but there are other getty packages such as 'getty', 'mgetty', and 'mingetty' use whichever is the default on your distribution. If you use one of the other getty packages keep in mind that the syntax will most likely be different.
2) ttyS0 = COM1, ttyS1 = COM2 etc...


Modern Distros using Systemd

If you're on a distro that uses systemd, here is another method (in this case Ubuntu 22.04):

cat <<EOF > /lib/systemd/system/ttyS0.service
[Unit]
Description=Serial Console Service

[Service]
ExecStart=/sbin/getty -L 115200 ttyS0 vt102
Restart=always

[Install]
WantedBy=multi-user.target
EOF

Then reload, enable, and start the service

systemctl daemon-reload
systemctl enable ttyS0
systemctl start ttyS0


References

Linux Serial Console HowTo
Linux Journal - Serial as a Console
inittab Man Pages
agetty Man Pages
Serial Console connection on Ubuntu 16.04 or higher