u-root / u-bmc

Open-source firmware for your baseboard management controller (BMC)
https://u-bmc.readthedocs.io
BSD 3-Clause "New" or "Revised" License
276 stars 32 forks source link

Support Supermicro X11-SSH board #186

Open bluecmd opened 5 years ago

bluecmd commented 5 years ago

@Keno has made excellent progress in porting u-bmc to this board.

This is the tracking bug for getting it merged.

osresearch commented 5 years ago

I've forward ported his changes to u-root:master in this tree https://github.com/osresearch/u-bmc/tree/kf/x11

There are a few weirdnesses that we can document:

Keno commented 5 years ago

Yes, I've been using host serial by sshing into the bmc so far, but we should probably have them hooked up to the physical ports by default or at least mirror to the physical ports.

osresearch commented 5 years ago

Can you document how you access the host serial from the bmc? I wasn't able to get any output.

Keno commented 5 years ago

Yeah, can do. @bluecmd and I will figure out the serial setup.

c0d3z3r0 commented 5 years ago

I used this to dump the vendors serial setup from the registers ;-) https://github.com/c0d3z3r0/aspeedtool

You need to dump the flash, extract the squashfs, put a cross-compiled telnet/dropbear and aspeedtool into the fs, repack and reflash it ;)

Keno commented 5 years ago

Cool :), though I think you can also just puppeteer the aspeed from the host and dump the registers without reflashing since the vendor firmware doesn't disable any of those bridges.

c0d3z3r0 commented 5 years ago

I'm not sure if you can access all registers via the bridge

Keno commented 5 years ago

Well, you have access to RAM and the instruction pointer, so you can do ye old debugger trick for running arbitrary code ;).

osresearch commented 5 years ago

The serial setup is working as of https://github.com/osresearch/u-bmc/commit/8b7d1ae02a33bbfda7487b6a2162a3317a355f00

I have the x86 ttyS0 on the db9 and the BMC console on the internal 10 pin (with supermicro special pinout)