HP's Integrated Lights-Out 4 (ILO4) on MicroServer Gen9 implements serial-over-LAN functionality, but the free license tier restricts console access after POST. The serial interface remains accessible though - we just need to bypass the Java-based Remote Console dependency.
- Ubuntu/Linux host with
screenorminicominstalled - MicroServer's ILO IP address and credentials
- SSH access to your Ubuntu system
# First, set serial console redirection in ILO BIOS:
1. Power on server and press F9 for System Utilities
2. Navigate to: System Configuration > BIOS/Platform Configuration (RBSU) > Serial Port Options
3. Set "Serial Port" to "COM2"
4. Set "Serial Console" to "On"
5. Set "Serial Port Emulation" to "VT100+"
6. Set "Active Console" to "Serial Port"
7. Save and reboot
The magic happens through ILO's SSH interface - no Java required:
# Basic connection command:
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 [USER]@[ILO_IP] -p 22
# For persistent serial session:
screen /dev/ttyS0 115200
To capture the entire boot sequence including POST and GRUB:
#!/bin/bash
# Serial console capture script
ILO_IP="192.168.1.100"
USER="admin"
PASS="yourpassword"
sshpass -p "$PASS" ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 \
$USER@$ILO_IP 'start /system1/console1' | tee boot_capture.log
- Timeout errors: Append
-o ConnectTimeout=30to SSH command - GRUB not showing: Edit
/etc/default/gruband add:GRUB_TERMINAL=serial GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
- Login prompt missing: Configure
/etc/inittabto spawn getty on ttyS0
For environments where SSH isn't ideal:
# Using socat for raw TCP connection:
socat tcp:[ILO_IP]:23 -,raw,echo=0,escape=0x0f
# Python minimal implementation:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ILO_IP, 23))
while True:
print(s.recv(1024).decode())
The HP MicroServer Gen9's iLO4 interface provides serial-over-LAN functionality that can be extremely valuable for headless server management. Unlike the graphical remote console which requires licensing, the serial terminal remains accessible in the free tier.
First, enter BIOS setup during POST (F9) and configure:
1. System Options → Serial Port → "COM2" (iLO virtual serial port)
2. Remote Console → Serial Console → "Enabled"
3. Virtual Serial Port → "COM2"
4. Boot Options → Console Redirection → "Serial Port A"
In the iLO web interface (https://<ilo-ip>):
1. Network → Serial Over LAN → "Enabled"
2. CLI: set /map1/oemhp_vsp1 mode=vmcom1_por
3. Reboot the iLO: reset /map1
Install necessary packages:
sudo apt update
sudo apt install screen minicom
Create /etc/minirc.ilo config:
# Minicom config for HP iLO4
pu port /dev/ttyS0
pu baudrate 115200
pu bits 8
pu parity N
pu stopbits 1
pu rtscts No
Option 1: Using minicom
minicom -D /dev/ttyS0 -b 115200 -o
Option 2: Using screen (preferred for scripting):
screen /dev/ttyS0 115200
To capture output to file:
screen -L -Logfile console.log /dev/ttyS0 115200
For Ubuntu to use serial console after boot:
Edit /etc/default/grub:
GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200n8"
GRUB_TERMINAL="serial console"
Update grub and enable getty:
sudo update-grub
sudo systemctl enable serial-getty@ttyS0.service
- If connection drops, check iLO network latency
- For permission issues on /dev/ttyS0, add user to dialout group
- Slow response may require adjusting iLO network timeout settings
For automated interactions:
#!/usr/bin/expect -f
set timeout 20
spawn screen /dev/ttyS0 115200
expect "login:"
send "admin\r"
expect "Password:"
send "yourpassword\r"
expect "$"
send "sudo -i\r"
expect "#"
send "hostname\r"