2 minutes
Serial Port console on Ubuntu Server (20.04)
Yes, serial ports are still around in 2022 and sometimes they save you a lot of time debugging a faulty device.
Maybe your system doesn’t have a GPU. Or maybe you don’t want to pay your vendor a license to have a proper KVM on a server… Which would be a text console over a RDP-like connection…
Tell GRUB to display a text menu too
First, we need to tell GRUB to display a console-compatible interface.
On your /etc/default/grub
find the GRUB_TERMINAL
line and replace it as such:
GRUB_TERMINAL="console serial"
You’ll also likely want to always display the GRUB menu (which is a more reasonable choice than to skip it automatically IMHO).
Just change also the following lines:
GRUB_HIDDEN_TIMEOUT_QUIET=false
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=5
Tell Linux to boot with a tty over the serial port
Now that GRUB is configured to be used over the serial port, we need to tell the kernel to use the serial port too.
Change your GRUB_CMDLINE_LINUX_DEFAULT
to include the following:
console=tty1 console=ttyS0,115200"
In my case the serial port was ttyS0
, it could be different on your system. 115200
is the baudrate, I found that in most cases you can omit that.
You can also stick multiple console commands one after the other, just increase the ttyX
number.
Also make sure that you don’t have a quiet
or splash
option the Linux cmdline, or it will takes over the text console. console
should be there instead.
You can also do this one-shot at boot by pressing e
in the GRUB screen. It will be reset at next boot.
Regenerate GRUB
Finally, regenerate the GRUB files:
sudo update-grub
Use the serial port on a Dell or HP server
For the price that you pay on enterprise servers, you also have nice features like remote management :P. And most of the times it means that Serial over LAN is one of these features.
On Dell iDRAC servers, you can ssh into the iDRAC console and then console com2
should start your console.
Similarly, on HP iLO, VSP
as in Virtual Serial Port would give you the serial console.
Install via the Serial Console.
In such case, you may have to generate a custom ISO image with the same options as above. You can try this.