I often have folks asking how the text & video consoles work on OpenPOWER machines. Here's a bit of a rundown on how it's implemented, and what may seem a little different from x86 platforms that you may already be used to.
Last week, Michael and I were discussing long-term Linux support for OpenPOWER platforms, particularly the concern about testing for non-IBM hardware. We'd like to ensure that the increasing range of OpenPOWER platforms, from different manufacturers, don't lose compatibility with the upstream Linux kernel.
Since we're using buildroot for the OpenPower firmware build infrastructure, it's relatively straightforward to generate a standalone toolchain to build add-ons to the petitboot environment. This toolchain will allow you to cross-compile from your build host to an OpenPower host running the petitboot environment.
As of commit
2aff5ba6 in the op-build tree, we're able to easily replace the kernel in an OpenPower firmware image.
Now that the OpenPower sources are available, it's possible to build custom firmware images for OpenPower machines. Here's a little guide to show how that's done.
I've been working on petitboot's netboot code recently. Here's the lowdown on how it all works.
Want to do a test boot of a powerpc machine, but don't have one handy? The qemu ppc64-softmmu emulator is currently working well with the
pseries target, and it's fairly simple to get an emulated machine booting.
Quite a few of the codebases I've worked on have some form of linked list implementation; generally a list node type: