(8 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
One such example might be that your server is headless (No VGA, Keyboard, or Monitor) | 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. | The info on this page will help you enable console access via a serial port. | ||
+ | |||
== Instructions == | == Instructions == | ||
− | To redirect a Linux Console to a serial port edit /etc/inittab | + | 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: | When done issue this command to make the changes take effect: | ||
Line 17: | Line 18: | ||
init q | init q | ||
− | |||
− | |||
== Explanation == | == Explanation == | ||
− | |||
TTY-ID:RUN-LEVELS:respawn COMMAND -SWITCHES PORT TERMINAL-EMULATION | TTY-ID:RUN-LEVELS:respawn COMMAND -SWITCHES PORT TERMINAL-EMULATION | ||
+ | (For greater detail on inittab or agetty see the [[Serial_Console#References|References Section]] below) | ||
− | |||
== General Notes == | == General Notes == | ||
− | 1) In this HowTo I used 'agetty' but there are other getty packages, | + | 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... | ||
− | |||
+ | ==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 == | ||
+ | [http://www.vanemery.com/Linux/Serial/serial-console.html Linux Serial Console HowTo]<br> | ||
+ | [http://www.linuxjournal.com/article/2040 Linux Journal - Serial as a Console]<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> | ||
+ | [https://ubuntuforums.org/showthread.php?t=2343595 Serial Console connection on Ubuntu 16.04 or higher] | ||
+ | |||
Latest revision as of 15:01, 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 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