These are my notes for configuring IPMI on a SuperMicro chassis running Ubuntu 11.10

IPMI is a nifty tool for out-of-band server management. Once it's set up, you can interact with a remote server as if you had a physical terminal attached to it in the datacenter.

On the back of the chassis are two Ethernet ports right next to each other. There should be a third, lone Ethernet port off to the left. That's the one you'll use for IPMI. Plug it in to a private LAN you can reach from some other machine.

Edit /etc/default/grub, add following lines:

    GRUB_CMDLINE_LINUX="console=tty0 console=ttyS1,115200n8"
    GRUB_TERMINAL=serial
    GRUB_SERIAL_COMMAND="serial speed=115200 --unit=0 --word=8 --parity=no --stop=1"

Run /usr/sbin/update-grub

Create tty files for serial ports

    $ cd /etc/init/

    $ cat > ttyS0.conf <<END
    start on stopped rc or RUNLEVEL=[2345]
    stop on runlevel [!2345]
    respawn
    exec /sbin/getty -L 115200 ttyS0 vt102
    END

    $ cat > ttyS1.conf <<END
    start on stopped rc or RUNLEVEL=[2345]
    stop on runlevel [!2345]
    respawn
    exec /sbin/getty -L 115200 ttyS1 vt102
    END

Reboot the machine and press DELETE to get into BIOS menu. Make the following changes:

    1. IPMI Configuration -> Set LAN Configuration.
        IP Address Source => [Static]
        IP Address => (pick some non-routable fixed IP)

    2. Super IO Configuration.  
        Serial Port 2 Attribute     => [SOL]

    3. Remote Access Configuration
        Serial Port Number          => [COM2]
        Serial Port Mode            => [115200, 8.n.1]
        Redirection after BIOS POST => [Boot Loader]
        Terminal Type               => [VT100]
        VT-UTF8 Combo Key Support   => [Enabled]

Do not configure an IP address reachable from the outside world. Only one mystery piece of firmware stands between you and your machine being pwned.

Let the server reboot.

On a neighboring machine on the same private subnet, install IPMI management tools

    $ sudo apt-get install freeipmi-tools
    $ sudo apt-get install ipmitool

Test connectivity using default username/password (use whatever IP address you configured in the BIOS):

    $ ipmitool -U ADMIN -P ADMIN -H 10.0.1.4 chassis status

    System Power         : on
    Power Overload       : false
    Power Interlock      : inactive
    Main Power Fault     : false
    Power Control Fault  : false
    Power Restore Policy : always-off
    Last Power Event     : 
    Chassis Intrusion    : inactive
    Front-Panel Lockout  : inactive
    Drive Fault          : false
    Cooling/Fan Fault    : false

Test serial console redirection. In another window, open a console to the target server. Note that the flags are lower case for ipmiconsole!

    $ ipmiconsole -h 10.0.1.4 -u ADMIN -p ADMIN

You should be able to log in to the server through this console like a regular terminal.

Leave it open and try power-cycling the server with ipmitool

    $ ipmitool -U ADMIN -P ADMIN -H 10.0.1.4 power cycle

You should see the server's boot output in the open ipmi console. Press F4 during the boot sequence to get into the BIOS menu.

Congratulations! Now change that ADMIN password.