Line 29: | Line 29: | ||
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.<br> | 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.<br> | ||
2) ttyS0 = COM1, ttyS1 = COM2 etc... | 2) ttyS0 = COM1, ttyS1 = COM2 etc... | ||
+ | |||
+ | |||
+ | |||
+ | ==Modern Distros using Systemd== | ||
+ | If you're on an 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 | ||
+ | |||
Line 36: | Line 59: | ||
[http://www.netadmintools.com/html/5inittab.man.html inittab Man Pages]<br> | [http://www.netadmintools.com/html/5inittab.man.html inittab Man Pages]<br> | ||
[http://www.netadmintools.com/html/8agetty.man.html agetty Man Pages]<br> | [http://www.netadmintools.com/html/8agetty.man.html agetty Man Pages]<br> | ||
+ | <br> | ||
+ | [https://ubuntuforums.org/showthread.php?t=2343595] | ||
+ | |||
Revision as of 15:00, 8 June 2022
Serial Console HowTo
Contents
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 an 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
[1]