This document describe how to configure and use IPMI serial over lan (SOL). This document created for using with Supermicro motherboard.
The default BIOS setting on the Supermicro board already have IPMI and serial over lan enabled. The following is the setting that we currently use in BIOS menu:
Advanced -> Serial Port Console Redirection -> COM Console Redirection: Enabled
Advanced -> Serial Port Console Redirection -> SOL Console Redirection: Enabled
Advanced -> Super IO Configuration -> SOL Configuration -> SOL serial port: Enabled
Advanced -> Super IO Configuration -> SOL Configuration -> SOL Change Settings: Auto
Advanced -> Super IO Configuration -> SOL Configuration -> SOL Device Mode: Normal
Advanced -> Super IO Configuration -> SOL Configuration -> Serial Port 2 Attribute: SOL
Since Ubuntu 15.04, it has switched to using systemd
as its main service manager. For Ubuntu versions prior to this, see the next section below.
[Unit]
Description=Serial Console Service
[Service]
ExecStart=/sbin/getty -L 115200 ttyS1 vt100
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable ttyS1
sudo systemctl start ttyS1
GRUB_CMDLINE_LINUX
parameter contains the following arguments: serial console=ttyS1,19200n8
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0 serial console=ttyS1,19200n8"
sudo update-grub
in terminalTROUBLESHOOTING
If you notice that after server reboots, the serial connection gets flaky (e.g. logging you out after you log in, unable to enter all text properly), this is due to systemctl continuously restarting getty. This appears to be a known bug.
/etc/rc.local
put a line: sleep 60 && sudo systemctl daemon-reload && sudo systemctl restart ttyS1 &
start on stopped rc or RUNLEVEL=[2345]
stop on runlevel [!2345]
respawn
exec /sbin/getty -L 115200 ttyS1 vt100
sudo start ttyS1
/etc/default/grub
like the following # If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
GRUB_DEFAULT=0
GRUB_TIMEOUT=1
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX="console=tty0 console=ttyS1,115200n8"
# Uncomment to disable graphical terminal (grub-pc only)
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
sudo update-grub
in terminalCommand for remote accessing server with IPMI serial over lan configured:
.\SMCIPMITool.exe [server address] [username] [password] sol activate
ipmitool -I lanplus -U [username] -P [password] -H [host address] sol activate
~.