Configure Ubuntu 12.04 to use SOL

SOL: Serial Over Line is a wonderful feature that redirects your server’s console thanks to the goodness of IPMI.

I. Setup

Serial Overline:

# ttyS1 - getty
# This service maintains a getty on ttyS1 from the point the system is
# started until it is shut down again.

start on stopped rc or RUNLEVEL=[2345]
stop on runlevel [!2345]

exec /sbin/getty -L 115200 ttyS1 vt102

Then start it manually:

$ sudo start

At the next boot sequence, upstart will automatically start it.

Grub config:

GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200n8"

# Uncomment to disable graphical terminal (grub-pc only)
GRUB_TERMINAL="console serial"
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"

Finally update grub:

$ sudo update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.8.0-26-generic
Found initrd image: /boot/initrd.img-3.8.0-26-generic
Found linux image: /boot/vmlinuz-3.2.0-23-generic
Found initrd image: /boot/initrd.img-3.2.0-23-generic

II. Use it

Through IPMI (install ipmi-tools first):

$ sudo ipmitool -I lanplus -H -U root sol activate
[SOL Session operational. Use ~? for help]

16 GB Installed

ProLiant System BIOS - J03 (12/14/2012)
Copyright 1982, 2012 Hewlett-Packard Development Company, L.P.

1 Processor(s) detected, 4 total cores enabled, Hyperthreading is not supported
Proc 1: Intel(R) Xeon(R) CPU E5-2603 0 @ 1.80GHz

HP Power Profile Mode: Balanced Power and Performance
Power Regulator Mode: Dynamic Power Savings

Redundant ROM Detected - This system contains a valid backup System ROM.

Inlet Ambient Temperature: 30C/86F
Advanced Memory Protection Mode: Advanced ECC Support
HP SmartMemory authenticated in all populated DIMM slots.

After a couple of minutes, you’ll get your login’s prompt.

How to use it:

[email protected]:~# ~?
Supported escape sequences:
~. - terminate connection (and any multiplexed sessions)
~B - send a BREAK to the remote system
~C - open a command line
~R - Request rekey (SSH protocol 2 only)
~^Z - suspend ssh
~# - list forwarded connections
~& - background ssh (when waiting for connections to terminate)
~? - this message
~~ - send the escape character by typing it twice
(Note that escapes are only recognized immediately after newline.)

And of course, as soon as you’re done playing with it:

$ sudo ipmitool -I lanplus -H -U root sol deactivate
Info: SOL payload already de-activated

No more JAVA console! :D