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.
Previously, there were only a few POWER vendors, producing a fairly limited range of hardware, so it's reasonable to get a decent amount of test coverage by booting the kernel on a small number of machines with diverse-enough components. Now, with OpenPOWER, machines are being built by different manufacturers, and so it's getting less feasible to do that coverage testing in a single lab.
To solve this, Chris, who has been running the jenkins setup on openpower.xyz, has added some kernel builds for the latest mainline kernel. We're using a
.config that should be suitable for all OpenPOWER platforms. The idea here is to get as much of the OpenPOWER hardware community as possible to test the latest Linux kernel.
If you're an OpenPOWER vendor, I'd strongly suggest setting up some regular testing on this kernel. This means you'll catch any breakages before they affect users of your platform.
Setting up a test process
The jenkins build jobs expose a last-sucessful-build URL, allowing you to grab the bootable kernel image easily:
- Information about the latest successful build is at: https://openpower.xyz/job/linux-build-master/lastSuccessfulBuild/
- The actual built vmlinux is available from: https://openpower.xyz/job/linux-build-master/lastSuccessfulBuild/artifact/linux/vmlinux.
[Note that these are HTTPS links, and you should be ensuring that the certificates are correct for anything you download and boot!]
To help with testing, we've also produced a little root-filesystem image that can be booted with this kernel as an initramfs image. That's produced via a similar jenkins job.
To set up an automated test process for this kernel:
- Download the last sucessful builds of the kernel and initramfs:
- Configure your OpenPOWER machines to netboot these two files (over HTTP or TFTP is easiest). I have a document about Netbooting with petitboot, to help with setting up automatic netboot.
- Check for a successful boot - you should see a login prompt on the default console:
Welcome to Buildroot (none) login:
If you find a build that fails on your machine, please send us an email at email@example.com
Alternatively, if there's something extra you need in the kernel configuration or initramfs setup, let me know at firstname.lastname@example.org.
To improve the testing coverage, we'd like to add some automated tests to the initramfs image, rather than just booting to a shell. Stay tuned for updates!