ARM is an interesting platform for many reasons and many people around the CentOS ecosystem have often spoken about a native, maintained and in-sync CentOS ARM build might be. But a couple of major drawbacks have kept us ( and others ) from being able to deliver on this. The most important ones are that the CentOS-6 codebase is now old enough that a lot of the really cool things in recent ARM development were not included in there ( gcc ver, kernel ver, glibc etc ), and backporting large chunks of this code is truely beyond the scope of what we can do and have done in the past within the realm of the Core SIG. Also, making that level of change automatically forks the CentOS codebase, creating potential package orphans. This problem goes away with the CentOS-7 codebase, just looking at the RHEL7beta1 codebase, its clear that we should be able to build a reasonable ARM story around it.
Another challenge has been finding and working with reasonable hardware that we might be able to target CentOS ARM on. To that end, David Power and the guys at Boston UK have provided us a couple of instances in their Viridis, ARM as a Service Cloud to start the process off with. These are ARM32 HighBank nodes, that are able to run builds and tests at reasonable speeds ( the test gcc build that Johnny ran last week took ~ 8 hrs to finish ).
What we are then looking to do from here is bootstrap the rhel7beta codebase against fedora19 ( which runs really well on these nodes ) for an ARM32 build. Once we have that in place, we are going to try and see if we can get to a self-hosting state and prepare ourselves for the EL7 GA announcement. The aim being to try and build + deliver an ARM32 distro in sync with the mainline x86_64 distro.
This is going to be a fair bit of work, and towards that we are going to need people to come help with the builds, with the testing and we are also going to need more vendors to offer us hardware that we can use to build and test against. We have a mailing list on at http://lists.centos.org/mailman/listinfo/arm-dev called Arm-Dev, we will try and focus all the interest in ARM onto that list, so come and join the effort.
The present state is that Johnny is stress testing the nodes, doing some test builds, writing up the mock configs. Once this is done, we will get the reimzul builders running on there, and start accepting build requests, build patches and start pushing build logs etc.
One challenge that still remains is that the big Red Hat TM and branding hunt into the rhel7beta code has not happened – and this is blocking the i686 as well as the x86_64 rpms from being publicly visible. We do have a small plan for that, and it involves kicking off a community exercise in the second week to April and to build both a whitelist and a blacklist of code, rpms and to write some automated patching resources to handle the whitelisted content. Details about that in another post soon.
In the mean time, welcome to the ARM32 build effort on CentOS-7beta ( and ongoing ). We’ll see you on the Arm-Dev mailing list.