Serial console access will enable you to boot in single user mode to perform maintenance, check whether your server is hung if it isn’t pingable, or adjust your BIOS settings
Connecting to the serial console
Assuming you’ve been through the initial setup described below, you can connect to your console over SSH at
console.scl.iocoop.org, using the username given in the post-install setup below. For example if your username was
jdoe you would run
On login, you’ll be dropped into a conserver session. The interface is documented here, or you can view online docs by entering
? sequentially. Disconnect from your session with
^E c . (also sequentially). The console server logs recent activity from the port, even when you’re not connected.
Configure your server with a serial console – this should be done before racking in if at all possible, since it’s much harder once you can’t physically touch the thing. The exact procedure varies with the machine, BIOS variant and OS. The instructions below are somewhat PC/Linux centric.
Our ACS32/Cyclades servers connect via cat-5 cables with RJ45 ends. We have adapters on hand in the colo to hook these up to typical PC DB9 male serial ports (the most common kind). For anything else you’ll need to supply your own adapters, either to DB9 male or RJ45 female with the following pinout:
A modest fraction of PC BIOS types can export the BIOS interface over a serial port during the early boot stage (and you may be able to reflash your BIOS with coreboot if your original BIOS doesn’t). This procedure varies so widely there’s nothing to document here, other than to be sure that whatever baud rate and serial settings you choose should be consistent between OS, bootloader and BIOS.
The GRUB and GRUB2 bootloaders can support both VGA and serial output simultaneously. Find your grub config
include the following:
# enable the serial console serial --unit=0 --speed=115200 terminal --timeout=10 serial console
During a normal boot, GRUB will display messages on both the VGA and serial outputs requesting a keypress; if it gets one from either, that becomes the console for that session and the normal GRUB menus are shown. If there’s no response, it proceed with automatic boot.
Under Ubuntu look for the /etc/default/grub file and potentially add lines looking like this
GRUB_CMDLINE_LINUX_DEFAULT="" GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200n8" #GRUB_TERMINAL=console GRUB_TERMINAL="console serial" GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
Linux can support simultaneous VGA and serial console output if given multiple
console= arguments at boot time. For example, here’s a sample set of boot args:
title Debian GNU/Linux root (hd0,1) kernel /boot/vmlinuz root=/dev/disk/by-label/root console=tty0 console=ttyS0,115200 initrd /boot/initrd
Open an support ticket requesting access to the console server. In the subject line, include the phrase “serial console”. We will need the following information from you:
Your server name
Serial port settings: baud rate, data bits, parity, stop bits (e.g. 115200 8N1).
Hostname we should expect to see in the login prompt
Your preferred UNIX username
One or more SSH2 public keys
There are no password-based logins on the console server. If you lose or invalidate your SSH public keys, you should file a ticket requesting an update.
If you co-admin your server with other people, request multiple accounts (it’s fine to do this in one RT ticket), giving the preferred usernames and which SSH keys go with each.