aarch64 builds of Raspberry Pi OS finally released for general availability (for Pi 3B and newer) does it make sense for BlueOS to target 64-bit native builds rather than 32-bit? Many libraries are pre-built for
aarch64 rather than
armv7(l). Supporting 64-bit native OS would solve a few issues with an integration we’re working on.
I mentioned the new 64-bit OS option internally last week, but I don’t believe there’s been much serious discussion on it yet. I have flagged to the software team that it’s now been asked about on the forum
Are you able to share any more info about what issues 64-bit would solve for you?
Sure, there are two main ones for us:
- Many pre-built libraries only support 64-bit OS builds now, so to support 32-bit we have to build them in our CI/CD pipeline and make the bits available ourselves.
- It cuts the number of platforms we must test/support in half if we only target 64-bit host OS.
Right now we’re building our integration as a docker container for both
aarch64 and publishing a combined manifest so the appropriate architecture is provided to clients when they pull our
latest tag. Ideally we’d just publish for
aarch64 and call it a day.
One system to run them all is definitely simpler, assuming it doesn’t have significant drawbacks/incompatibilities elsewhere. I’m unsure how problematic it would be to lose support for the 32-bit versions, so that’s something we’ll need to evaluate, but the conversation (internal and external) is started now
Some benchmark numbers for the Pi 4 in 32-bit vs 64-bit mode - Further Investigating The Raspberry Pi 32-bit vs. 64-bit Performance Review - Phoronix.
Anecdotally, BlueOS on 64-bit Bullseye is working well for us on Pi 4 8GB boards. We’re going to do some test dives next week (weather permitting) so hopefully we’ll get some real-world performance numbers.
BlueOS if released with docker
armv7 should not have any integration problem if your OS is running
aarch64. We don’t have plans for a Raspberry image with the latest 64-bit OS for the near future of BlueOS, but you should be fine if you want to install BlueOS from scratch.